Apache从入门到精通
Apache从入门到精通
一、Apache概述
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache基础信息:
主配置目录 | /etc/httpd/conf |
---|---|
主配置文件 | /etc/httpd/conf/httpd.conf |
子配置目录 | /etc/httpd/conf.d |
字配置文件 | /etc/httpd/conf.d/*.conf |
默认发布目录 | /var/www/html/ |
默认发布文件 | index.html |
端口 | 80 |
默认安全上下文 | httpd_sys_content_t |
程序开启默认用户 | apache |
apache日志 | /etc/httpd/logs/* |
注意: apache的默认端口为80
二、Apache部署
实验环境:
为了实验有一个纯净的环境,我们将desktop进行reset,然后配置网络,以及yum源,最后在真机ssh连接虚拟机,具体的设置就不进行操作了,下面将进行具体的实验,如下所示:
实验操作如下:
1.搜索并安装软件,如下图所示:
2.开启服务,并使火墙永久允许http服务,如下图所示:
3.由于man不能查看http的用法,所以下载http手册,如下所示:
4.编辑默认发布文件,如下图所示:
5.重启服务,如下图所示:
6. 测试
在浏览器中数如72.25.254.112会出现下面的界面,如下所示:在浏览器中数如72.25.254.112/manual,会出现下面的界面,如下所示:
三、修改Apache基本配置
1. 修改默认端口80
修改端口为8080:
1.查看selinux的状态,如果查看发现为enforcing,不用修改,如下图所示:
2.修改配置文件中的端口为8080,如下所示:
3.重启服务,查看端口,并添加火墙允许8080端口,如下所示:
4.编辑发布文件,如下所示:
5.重启服务,如下所示:
6.测试,如下所示:
修改端口为6666:
方法一:
1.在selinux的状态为enforcing下,查看防火墙允许的http没有6666端口,添加端口,如下图所示:
2.进入配置文件,更改端口为6666,如下所示:
3.重启服务,如下图所示:
4.测试,如下图所示:
方法二:
1.查看6666端口,发现没有被使用,如下所示:
2.在配置文件中修改端口为6666,如下所示:
3. 添加防火墙的6666端口,重启服务,发现失败,如下所示:
4.更改内核防火墙的状态为警告模式,发现服务能重启起来,如下图所示:
5.测试,如下图所示:
2. 修改默认发布文件
情况一:配置文件中只有一个发布文件
1.进入到默认的发布目录下,将默认发布文件移走,如下图所示:
2.编辑新的发布文件,如下所示:
3.进入配置目录,更改默认发布文件,并将端口改回来,如下所示:
4.重启服务,如下所示:
5.测试,如下所示:
情况二:配置文件中只有两个发布文件
1.将移走的发布文件移回来,如下图所示:
2.编辑配置文件中的发布文件,并确认是否为两个发布文件,如下所示:
3.编辑发布文件,如下所示:
4.重启服务,如下所示:
5.测试,如图所示:
注意:当有两个发布文件时,哪一个在前就先访问哪一个
3. 修改默认发布目录
1.建立一个发布目录,并进入到该发布目录下,编写发布文件,如下所示:
2.更改发布目录,并将原来的/var/www/html注释掉,如下所示:
3.重启服务,去测试发现访问不到,如下所示:
4.查看并更改安全上下文,如下所示:
5.再次去测试,发现能访问到,如下图所示:
四、设置Apache基于ip的访问权限
1.进入apache的配置目录,查看,并编写一个配置目录,如下所示:
用户访问白名单设置:
在172.25.254.112上测试,发现能测试,如下所示:
在172.25.254.12上测试,发现不能测试,如下所示:
用户访问黑名单设置:
在172.25.254.112上测试,发现不能测试,如下所示:
在172.25.254.12上测试,发现能测试,如下所示:
五、如何让一个Apache发布多个文件
1.进入apache的目录中查看,并在kkk.conf的文件中进行编写,如下所示:
2.建立子目录,如下所示:
3.编辑子发布文件,如下所示:
4.查看子发布文件的内容,如下所示:
5.在真机中进行文件的本地解析,如下图所示:
6. 重启服务,如下图所示:
7.测试,如下图所示:
六、Apache基于用户的认证
1.创建认证用户,如下图所示:
2.进入配置目录,编辑配置文件,如下所示:
3.重启服务,如下图所示:
4.测试:
当我们允许admin访问的时候,输入lee,发现并不能访问,如下所示:
当我们允许admin访问的时候,输入adamin,发现能访问,如下所示:
5.更改配置文件为,加密用户都可以访问,如下所示:
6.再次重启服务,如下所示:
7.测试,如下:
此时我们发现lee和admin都可以访问
七、Apache的四种支持语言
1. html语言
由于我们前面用的就是html的语言,所以就不在此进行操作了,进行其他三种语言的操作如下:
2. php语言
1.进入默认发布目录,查看,如下所示:
2.编写php的文件,如下所示:
3.进入配置文件,添加发布文件,并查看发布文件是否为/var/www/html,如果不是则注释掉自己的发布目录,改为默认的,如下所示:
4.重启服务,如下所示:
5.测试,如下所示:
3. cgi语言
1.在默认发布目录下,建立一个cgi的目录,如下所示:2.编写cgi的发布文件,如下所示:
3.给文件可执行的权力,并看是否能运行,如下所示:
4.进入配置文件,进行如下操作:
5.重启服务,如下所示:
6.更改cgi的安全上下文,如下所示:
7.测试,如下:
4. wsgi语言
1.搜索并安装wsgi,如下所示:
2.上传webapp.wsgi到/var/www/cgi-bin/,如下所示:
3.编辑kkk.conf文件,如下所示:
4.重启服务,如下所示:
5.在真机中更改本地解析文件,如下图所示:
6.再次重启服务,如下:
7.测试,如下所示:
八、https的实现
1.安装mod_ssl和crypto-utils,如下所示:
2.输入genkey www.westos.com,在出现的界面进行以下操作:
按"enter"进入下一步,如下:
选择锁的大小为1024,点击下一步进入以下界面:
1024的大小不够,自动进入下一步,改为2048继续下载,如下所示:
在下面的步骤中选择"No"按"enter进入下一步,因为yes是收费的,所以选no,如图所示:
编辑基本信息,并按下一步,如下所示:
3.加密完成以后会出现以下的界面,然后进入加密文件,如下图所示:
4.编辑加密文件,如下所示:5.重启服务,并关闭火墙,如下所示:
6.测试,如下所示:
在浏览器输入172.25.254.112会出现让我们添加证书的界面,如下所示:
在添加证书界面,点击advanced出现以下界面,如图所示:
点击左下角的confirm security Exception之后证书添加成功,在浏览器的设置中可以查看到我们添加的证书,如下图所示:
最后去浏览器输入https://172.25.254.112发现可以访问到
九、https虚拟主机的设定以及网页重写
1.进入httpd的配置目录中,建立一个登陆的目录,并进入该目录下的文件,如下图所示:
2.编写发布的文件,如下所示:
3.编写子配置文件,如下所示:
4.重启服务,如下所示:
5.在真机中进行本地文件解析,如下图所示:
6.测试
在真机中输入login.westos.com会自动出现https://,如下图所示:
一、Apache概述
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache基础信息: