要求完成的任务:
(1)Web服务器软件的安装
(2)虚拟目录配置
(3)虚拟主机配置(基于域名的虚拟主机配置、基于IP的虚拟主机配置、基于端口的虚拟主机配置)
(4)用户个人站点配置
(5)基于主机的授权、基于用户的认证
(1)web服务器的安装与测试
- 查看是否安装httpd软件包,若没有安装,则安装
2.将httpd服务设为开始自启动,并启动该服务
3.查看httpd服务是否启动
4.在防火墙开放80端口并查看防火墙80端口是否开放
[root@pc1桌面]#firewall-cmd --permanent --zone=public --add-port=80/tcp
success
[root@pc1桌面]#firewall-cmd --permanent --zone=public --add-port=80/udp
success
[root@pc1桌面]#firewall-cmd --reload
success
[root@pc1桌面]#firewall-cmd --query-port=80/tcp
yes
[root@pc1桌面]#firewall-cmd --query-port=80/udp
yes
5.在windows浏览器测试访问
(2)虚拟目录配置
创建虚拟目录的优点有:便于访问、便于移动站点中的目录、能灵活加大磁盘空间、安全性好。使用Alias选项可以创建虚拟目录。
实例:为我校二级单位创建网站(以计算机和软件学院为例)
步骤1:创建两个二级单位的网站物理目录
[root@pc1~]#mkdir -p /var/www/jsjhtml
[root@pc1~]#mkdir -p /var/www/rjhtml
步骤2:建立两个二级单位的网站主页
[root@pc1~]#echo "this is jsj.">/var/www/jsjhtml/index.html
[root@pc1~]#echo "this is rj.">/var/www/rjhtml/index.html
步骤3:编辑主配置文件
[root@pc1~]#vim /etc/httpd/conf/httpd.conf
在文件末尾加上虚拟目录(/jsj /rj)
步骤4:更改物理目录的安全上下文
[root@pc1~]#chcon -R -t httpd_sys_content_t /var/www/
步骤5:设置SELinux策略
[root@pc1~]#getsebool -a |grep httpd(说明:查看与httpd相关的安全策略)
httpd_enable_homedirs --> off//此项开放,改为on
步骤5:重启httpd服务
[root@pc1~]#systemctl restart httpd
步骤6:在windows系统浏览器登录测试
(3)虚拟主机配置
基于IP的虚拟主机
本机IP为192.168.174.128,为本机网卡再绑定2个IP地址,分别为192.168.174.130、192.168.174.131,建立基于这两个IP地址的虚拟主机。IP为192.168.174.130发布南阳燃气公司网站,IP为192.168.174.131发布南阳理工学院网站。
步骤0:为网卡绑定两个IP地址
[root@pc1 www]# nmcli con m eno16777736 +ipv4.address "192.168.190.11/24,192.168.190.12/24"
[root@pc1 ~]# nmcli d d eno16777736
[root@pc1 ~]# nmcli con up ifname eno16777736
步骤1:新建两个文件夹
[root@pc1 www]# mkdir -p /var/www/nyrq_ip11
[root@pc1 www]# mkdir - p /var/www/nyist_ip12
步骤2:为网站建立主页
[root@pc1 www]# echo "this is nanyang ranqi."> /var/www/nyrq_ip11/index.html
[root@pc1 www]# echo "this is nanyang institute of technology." > /var/www/nyist_ip12/index.html
步骤3:配置虚拟主机的配置文件
//编辑配置文件
[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf
添加以下内容:
<VirtualHost 192.168.174.130>
DocumentRoot "/var/www/nyrq_ip130/"
</VirtualHost>
<VirtualHost 192.168.174.131>
DocumentRoot "/var/www/nyist_ip131/"
</VirtualHost>
步骤4:重启服务
[root@pc1 www]# systemctl restart httpd
步骤5:测试在windows浏览器中输入IP,结果如下:
基于域名的虚拟主机
本机IP为192.168.174.128, 域名为www.nyrq.com的文件夹为/var/www/nyrq,发布南阳燃气公司网站,域名为www.nyist.com的文件夹为/var/www/nyist,发布南阳理工学院网站。
步骤1:新建两个文件夹
[root@pc1 www]# mkdir /var/www/nyrq
[root@pc1 www]# mkdir /var/www/nyist
步骤2:为网站建立主页
[root@pc1 www]# echo "this is NanYang ranqi." > /var/www/nyrq/index.html
[root@pc1 www]# echo "this is NanYang LIGong Colloge." > /var/www/nyist/index.html
步骤3:配置虚拟主机的配置文件
[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf
//写入以下内容:
<VirtualHost 192.168.190.10:80>
DocumentRoot "/var/www/nyrq/"
ServerName www.nyrq.com
</VirtualHost>
<VirtualHost 192.168.190.10:80>
DocumentRoot "/var/www/nyist/"
ServerName www.nyist.com
</VirtualHost>
步骤4:重启服务
[root@pc1 www]# systemctl restart httpd
步骤5:在/etc/hosts文件中添加域名解析
[root@pc1 conf.d]#vim /etc/hosts
添加以下内容
192.168.174.128 www.nyrq.com
192.168.174.128 www.nyist.com
保存退出。
步骤6:测试
用测试工具links测试结果如下:(若无法用测试工具,则可以安装yum install –y links)
[root@pc1 conf.d]# links www.nyrq.com
[root@pc1 conf.d]# links www.nyist.com
基于端口的虚拟主机
本机IP为192.168.190.10, 端口1888的虚拟主机,文件夹为/var/www/nyrqport,发布南阳燃气公司网站,端口1666的虚拟主机,文件夹为/var/www/nyistport,发布南阳理工学院网站。
步骤1:新建两个文件夹
[root@pc1 www]# mkdir /var/www/nyrqport
[root@pc1 www]# mkdir /var/www/nyistport
步骤2:为网站建立主页
[root@pc1 www]# echo "this is nyrqport.">/var/www/nyrqport/index.html
[root@pc1 www]# echo "this is nyistport.">
/var/www/nyistport/index.html
步骤3:配置虚拟主机的配置文件
[root@pc1 www]# vim /etc/httpd/conf.d/httpd-vhosts.conf
//写入以下内容:
<VirtualHost 192.168.190.10:1888>
DocumentRoot "/var/www/nyrqport/"
</VirtualHost>
<VirtualHost 192.168.190.10:1666>
DocumentRoot "/var/www/nyistport/"
</VirtualHost>
步骤4:编辑主配置文件,添加监听端口
[root@pc1 conf.d]# vim /etc/httpd/conf/httpd.conf
步骤5:重启服务
[root@pc1 www]# systemctl restart httpd (有可能报错,可以先进行下一步,再重启)
步骤6:关闭SELinux安全或设置安全策略
[root@pc1 www]# setenforce 0
注:设置安全策略的方法,添加Apache侦听的端口
具体操作如下:
步骤7:测试
(4)用户个人站点配置
允许Web服务器上的合法用户为自己建立个人站点。本例为用户user1和user2两用户建立个人站点,本机IP为192.168.174.128
步骤1:编辑个人站点的配置文件 /etc/httpd/conf.d/userdir.conf,修改黄色文字部分。
[root@pc1桌面]#vim /etc/httpd/conf.d/userdir.conf
步骤2:新建两个文件夹
[root@pc1 www]# mkdir /home/user1/public_html
[root@pc1 www]# mkdir /home/user2/public_html
步骤3:为网站建立主页
[root@pc1 www]# echo "this is user1."> /home/www/public_html/index.html
[root@pc1 www]# echo "this is user2."> /home/www/public_html/index.html
步骤4:为文件夹开放执行权限
[root@pc1桌面]#chmod 711 /home/user1
[root@pc1桌面]#chmod 711 /home/user2
[root@pc1桌面]#chmod 755 /home/user1/public_html
[root@pc1桌面]#chmod 755 /home/user2/punlic_html
步骤5:为文件夹设置安全上下文
[root@pc1桌面]#chcon -R -t httpd_sys_content_t /home/user1
[root@pc1桌面]#chcon -R -t httpd_sys_content_t /home/user2
步骤6:关闭防火墙(或开放80)端口
[root@pc1桌面]#systemctl stop firewalld//关闭防火墙
步骤7:重启服务
[root@pc1 www]# systemctl restart httpd
步骤8:测试
在windows浏览器中输入IP,结果如下:
(5)基于主机的授权、基于用户的认证
基于主机的授权
步骤1:创建信息保护的文件夹
[root@pc1桌面]#mkdir /var/www/html/security
步骤2:在/var/www/html/security内建立网站
[root@pc1桌面]#echo "this is security dir">/var/www/html/security/index.html
步骤3:编辑主配置文件 /etc/httpd/conf/httpd.conf
[root@pc1桌面]#vim /etc/httpd/conf/httpd.conf
在文件末尾添加:
<Directory "var/www/html/security">
357 Require ip 192.168.190//允许192.168.190.0网络的所有机器访问
358 </Directory>
步骤4:重启httpd服务
[root@pc1桌面]#systemctl restart httpd
步骤5:测试
修改了步骤三所允许的IP网络号,再次测试,拒绝访问。
基于用户的认证
步骤1:创建文件夹并在文件夹下建立网站
[root@pc1~]#mkdir /var/www/html/auth
[root@pc1~]#echo "this is auth secure.">/var/www/html/auth/index.html
步骤2:编辑主配置文件/etc/httpd/conf/httpd.conf
[root@pc1~]#vim /etc/httpd/conf/httpd.conf
在配置文件中末尾添加:
<Directory "var/www/html/auth">
AllowOverride None
AuthType Basic
AuthName "auth"
AuthUserFile /etc/httpd/conf/authpasswd
auth me
</Directory>
步骤3:创建apache用户auth和me,注意创建第一个apache用户时,加-c选项,以后不需要加-c选项。添加的apache用户和配置文件中允许的是一致的,对一个合法的apache用户,如果在配置文件中没有允许他访问,同样不能访问该网站。
[root@pc1~]#htpasswd -c /etc/httpd/conf/authpasswd auth
New password:
Re-type new password:
Adding password for user auth
[root@pc1~]#htpasswd /etc/httpd/conf/authpasswd me
New password:
Re-type new password:
Adding password for user me
步骤4:变更用户密码文件的用户主和所属组都为apache
[root@pc1~]#chown apache.apache /etc/httpd/conf/authpasswd
步骤5:重启httpd服务
[root@pc1~]#systemctl restart httpd
步骤7:测试
在.htaccess文件中配置认证和授权
步骤1:创建文件夹并在文件夹下建立网站
[root@pc1~]#mkdir /var/www/html/myauth
[root@pc1~]#echo "Hello world.">/var/www/html/myauth/index.html
步骤2:编辑主配置文件/etc/httpd/conf/httpd.conf
[root@pc1~]#vim /etc/httpd/conf/httpd.conf
在配置文件中末尾添加:
<Directory "/var/www/html/myauth">
AllowOverride AuthConfig
</Directory>
步骤3:编辑.htaccess文件
[root@pc1conf]#vim /var/www/html/myauth/.htaccess
添加一下内容
AuthType Basic
AuthName "authtest"
AuthUserFile /etc/httpd/conf/authpasswd1
Require user user1 user2
步骤4:创建apache用户user1和user2,注意创建第一个apache用户时,加-c选项,以后不需要加-c选项。添加的apache用户和配置文件中允许的是一致的,对一个合法的apache用户,如果在配置文件中没有允许他访问,同样不能访问该网站。
[root@pc1~]#htpasswd -c /etc/httpd/conf/authpasswd1 user1
New password:
Re-type new password:
Adding password for user user1
[root@pc1~]#htpasswd /etc/httpd/conf/authpasswd1 user2
New password:
Re-type new password:
Adding password for user user1
步骤5:变更用户密码文件的用户主和所属组都为apache
[root@pc1~]#chown apache.apache /etc/httpd/conf/authpasswd1
步骤6:重启httpd服务
[root@pc1~]#systemctl restart httpd
步骤7:测试