一、网站服务程序
Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过HTTP(超文本传输协议)或HTTPS(安全超文本传输协议)把请求的内容传送给用户
目前能够提供Web网络服务的程序有IIS、Nginx和Apache等
IIS:是window中默认的程序
Nginx:2004年俄罗斯研制出Nginx,Nginx程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但Nginx最被认可的还当是系统资源消耗低且并发能力强
Apache:程序作为老牌的Web服务程序,一方面在Web服务器软件市场具有相当高的占有率,另一方面Apache也是RHEL 7系统中默认的Web服务程序,而且还是RHCSA和RHCE认证考试的必考内容,
安装Apache:
1、安装httpd服务 需要使用到yum,步骤跳过具体在:https://my.oschina.net/u/4159006/blog/3093819中
yum install httpd d代表环绕
2、在浏览器中输入自己的IP地址出现以下画面。
出现这个画面预示着可能存在两个问题
(1)这个网站没有内容,
(2)这个网站没有权限
那么下面逐一验证
echo hahahah >> /var/www/htme/index.html
刷新网站
出现内容了,所以hppt 默认的门户位置是,/var/www/html/index.html
将hppt默认门户修改
打开httpd服务程序的主配置文件,将约第119行用于定义网站数据保存路径的参数DocumentRoot修改为/home/wwwroot,同时还需要将约第124行用于定义目录权限的参数Directory后面的路径也修改为/home/wwwroot。配置文件修改完毕后即可保存并退出。
重启hppt服务 刷新网页 结果还是没有变说明存在了 SElinux
三、SELinux安全子系统
SELinux服务有三种配置模式,具体如下。
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。
可以用setenforce [0|1]命令修改SELinux当前的运行模式(0为禁用,1为启用)。注意,这种修改只是临时的,在系统重启后就会失效:
semanage命令
semanage命令用于管理SELinux的策略,格式为“semanage [选项] [文件]”
查看 /var/www/ 权限
[root@zhang www]# ls -ldZ
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0
所以我们需要将权限赋予给后来更改的位置
root@zhang zqs]# semanage fcontext -a -t httpd_sys_content_t /home/zqs
[root@zhang zqs]# semanage fcontext -a -t httpd_sys_content_t /home/zqs/*
#让其立即生效
[root@zhang zqs]# restorecon -Rv /home/zqs/
再刷新网站 就可以看到又有内容出现了
虚拟网站主机功能
Apache的虚拟主机功能是服务器基于用户请求的不同IP地址、主机域名或端口号,实现提供多个网站同时为外部提供访问服务的技术
1.基于IP地址
修改ip地址 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
IPADDR0=192.168.10.10
IPADDR1=192.168.10.20
IPADDR2=192.168.10.30
分别创建三个目录
[root@zhang ~]# mkdir -p /home/www/10 echo 1010101010 >> /home/www/10 index.html
[root@zhang ~]# mkdir -p /home/www/20 echo 2020202020 >> /home/www/20 index.html
[root@zhang ~]# mkdir -p /home/www/30 echo 3030303030 >> /home/www/30 index.html
编辑http配置文件
vim /etc/httpd/conf/httpd.conf 再第大约113行编辑
113 <VirtualHost 192.168.10.10> 114 DocumentRoot /home/wwwroot/10 115 ServerName www.linuxprobe.com 116 <Directory /home/wwwroot/10 > 117 AllowOverride None 118 Require all granted 119 </Directory> 120 </VirtualHost> #三个都要编辑
重启httpd服务
systemctl restart httpd
授权以防selinux
[root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/10/*
立即生效
restorecon -Rv /home/wwwroot
另外两种基于主机域名、基于端口号的类似 只是稍有不同。
Apache的访问控制
第1步:先在服务器上的网站数据目录中新建一个子目录,并在这个子目录中创建一个包含Successful单词的首页文件。
第1步:先在服务器上的网站数据目录中新建一个子目录,并在这个子目录中创建一个包含Successful单词的首页文件。
[root@zhang ~]# mkdir /var/www/html/server [root@zhang ~]# echo "666" > /var/www/html/server/index.html
第2步:打开httpd服务的配置文件,在第129行后面添加下述规则来限制源主机的访问。这段规则的含义是允许使用Firefox浏览器的主机访问服务器上的首页文件,除此之外的所有请求都将被拒绝。
[root@张 ~]# vim /etc/httpd/conf/httpd.conf 129 <Directory "/var/www/html/server"> 130 SetEnvIf User-Agent "Firefox" ff=1 131 Order allow,deny 132 Allow from env=ff 133 </Directory>
重启服务
[root@linuxprobe ~]# systemctl restart httpd [root@linuxprobe ~]# firefox
网址输入:192.168.10.10/server
结果如下
所有评论(0)