APACHE服务
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上。
HTTP协议
超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
一、重置虚拟机,配置纯净的环境
这里我的ip为172.25.254.1,并且配置好yum源(apache在linux的镜像文件里有安装包)
二、安装apache并测试其可以正常显示
1、安装apache的服务器 yum install httpd
2、开启http服务,并设置为开机自启动。
3、但是http不在火墙允许列表里,所以我们将其加入火墙允许列表(–permanent表示永久性的 –reload表示重新加载列表)
4、apache的默认发布目录为 /var/www/html
默认发布文件:index.html
我们可以在默认发布文件下写下内容,当其他主机来访问时就可以看到
三、默认发布文件的修改
默认发布文件可以有多个,在配置文件里修改,其按顺序执行,即如果前面的文件不存在,则访问后面的。
我们在默认发布目录下,新建westos文件加入内容,并在配置文件里加入westos置于index.html前。
1、在默认发布目录下新建westos加入内容,如下图
2、编辑主配置文件 vim /etc/httpd/conf/httpd.conf,完成后重启http服务,如下图
3、真机进行访问,发现默认发布内容变成了westos文件里的内容
四、默认发布目录的修改
1、新建一个目录,准备将其设为默认发布目录
2、我们将默认发布目录修改为上面新建的/westos/html,其中Directory模块是赋予新的发布目录的权限,Require all granted表示允许所有用户访问,修改后重启服务,如下图
注意:修改的发布目录必须系统存在,如果不存在需要手动建立,否则访问不到。
3)测试:用真机进行访问查看
修改默认发布目录时,如果selinux是开启状态,需要将其加入安全上下文列表
semanage fcontext -a -t httpd_sys_content_t ‘/www(/.*)?’
retorecon -RvvF /www/
五、默认端口的修改
apache的默认端口为80,我们修改为8080
1、先在主配置文件里修改
2、查看是否修改成功,但此时还是无法访问到,因为火墙的默认端口是80,所以还要将其加入火墙允许列表里,如下图
3、真机进行访问,虚拟机ip:8080访问
六、apache的访问控制
在主配置文件里写入控制模块,用来设置哪些用户可以访问,哪些不能,具体做法有两种:
1、针对主机的访问控制,如下图,Dirctory模块设置权限,Order表示读取顺序,即允许所有人访问,但是不允许172.25.254.28用户访问 (系统在读取文件时,Order后的顺序决定了读取顺序,先读取的内容会被后读取的内容中相同的内容覆盖掉),虚拟机ip为172.25.254.128,可以正常访问
<Directory "/var/www/html">
Order Allow,Deny
Allow from all
Deny from 172.25.254.28
</Directory>
测试可以看到,修改完后,真机不可以正常访问,虚拟机本身可以访问
2、用户方式的访问控制
1)先建立用户的目录,即把你要发布的内容写在此目录的发布文件中,访问者访问时可以看到
2)建立用户的登陆文件
在/etc/httpd里 执行htpasswd -cm 用户目录 用户添加(第一次创建-cm 再次建立-m即可,否则会覆盖你第一次建立用户)