首页 > 代码库 > linux笔记 3-9 Apache(http,https)

linux笔记 3-9 Apache(http,https)

************************9.Apache*********************
互联网主流架构
lamp = linux apache mysql php
lnmp = linux nginx mysql php
若要使用 html cgi jsp asp 等闭源网页编辑软件
需使用翻译软件 tomcat jboss
##1.Apache基本配置##
安装apache软件包: httpd httpd-manual(手册插件)
查看监听端口: netstat -antlpe | grep httpd

技术分享 


##2.Apache简单配置##
主配置文件:/etc/httpd/conf/httpd.conf
1.默认主页名称 DirectoryIndex

在默认发布目录下/var/www/html目录中,在test文件中写入自定义内容

技术分享 

文件的顺序表示服务访问的顺序,从前到后直到访问到存在的文件

技术分享 

网页测试

技术分享
2.默认端口 Listen

修改配置文件

技术分享 

网页测试,修改默认端口后,直接访问ip访问不到网页

技术分享 

必须在ip后加上修改后的端口才可以访问到

技术分享
3.默认发布目录 DocumentRoot

建立目录/www/myweb,在目录里写入主页内容以供测试

技术分享技术分享 

 

修改配置文件

技术分享 

网页测试

技术分享
注:若开启了selinux需更改目录安全上下文
使用 semanage fcontext -a -t httpd_sys_content_t “/directory(/.*)?” 更改安全上下文
使用 restorecon -RvvF /directory 重新加载安全上下文
4.更改默认发布目录权限
1)基于ip

技术分享 

用主机ip为172.25.254.8进行网页测试时,只能看到apache的测试页,看不到默认发布目录里的内容

技术分享
2)基于用户

添加用户,并制定密码

技术分享
限制用户

技术分享
b.不限制用户

技术分享 

只有拥有正确匹配的用户名和密码,而且没有被限制的用户才可访问网页

技术分享
以上更改都需要重启服务才可生效
##2.虚拟主机##
虚拟主机允许您从一个httpd服务器同时为多个网站提供服务基于名称的虚拟主机是其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。

1./etc/httpd/conf.d目录下

编辑默认主页配置文件 vim default.conf

技术分享 

编辑news主页配置文件 vim news.conf

技术分享 

编辑 music主页配置文件 vim music.conf

技术分享 

2.在默认发布目录下,建立虚拟主机的目录

技术分享 

技术分享 

技术分享 

3.网页测试主机添加host记录 vim /etc/hosts

技术分享 

网页测试

技术分享 

技术分享 

技术分享
##3.https##
客户拿到的是公钥,用于加密认证。 服务器解密,减轻服务器压力
1.安装软件 mod_ssl 和用于生成签名证书的 crypto-utils软件包
2.调用genkey,生成签名证书

技术分享 

具体生成步骤如下:

记录生成的证书和关联的私钥的生成位置

技术分享 

继续使用对话框,并选择合适的密钥大小

技术分享 

在生成随机数时比较慢,敲键盘和移动鼠标可以加速

技术分享 

拒绝向认证机构(CA)发送证书请求(CSR)

技术分享 

技术分享 

为服务器提供合适的身份。Common Name必须与服务器的主机全名完全匹配。
(注意,任何逗号都应使用前导反斜线[\]进行转义)

技术分享 


3.修改配置文件 /etc/httpd/conf.d/ssl.conf

技术分享 

技术分享 

网页测试,可以看到自己添加的证书内容

技术分享 


linux笔记 3-9 Apache(http,https)