Apache的虚拟主机、内部访问控制及支持语言
(一)apache的虚拟主机
虚拟主机:这里是指一台服务器上面,可以存在多个“主网页”。
模拟思路是:在子配置/etc/httpd/conf.d/目录下,分别新建adefault.conf、c.conf、linux.conf,并编辑默认的/var/www/html/index.html内容为www.westos.com为之后区分做铺垫,然后在新建的/var/www/virtual/目录下分别新建两个子目录c.westos.com/html和linux.westos.com/html/,再分别编辑子目录下的index.html内容,用于区分验证效果。
一起来做吧:
编辑默认的网页
[root@apache ~]# vim /var/www/html/index.html
新建目录
[root@apache ~]# mkdir /var/www/virtual/linux.westos.com/html -p
[root@apache ~]# mkdir /var/www/virtual/c.westos.com/html -p
编辑虚拟网页
[root@apache ~]# vim /var/www/virtual/c.westos.com/html/index.html
[root@apache ~]# vim /var/www/virtual/linux.westos.com/html/index.html
创建编辑子配置文件
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
[root@apache ~]# vim /etc/httpd/conf.d/c.conf
[root@apache ~]# vim /etc/httpd/conf.d/linux.conf
验证测试:
在测试主机中做好,本地解析(浏览器所在的本地主机)
[kiosk@fundation86 Desktop]$ vim /etc/hosts
接下来开始测试:
(二)apache内部的访问控制
1、针对与主机的访问控制
[root@apache ~]# mkdir /var/www/html/test/
[root@apache ~]# vim /var/www/html/test/index.html
1】拉黑主机86,即除了主机86,其他的主机都能看
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
[root@apache ~]# systemctl restart httpd
验证:在主机172.25.254.86的浏览器中输入172.25.254.224/test
【2】保留主机86,拉黑除过86以外的主机
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
[root@apache ~]# systemctl restart httpd
验证:在主机172.25.254.86的浏览器中输入172.25.254.224/test
2、用户认证方式的访问控制
新建用户admin
[root@apache ~]# htpasswd -cm /etc/httpd/userpass admin
新建用户admin1
[root@apache ~]# htpasswd -m /etc/httpd/userpass admin1
注意: -cm中的c是覆盖性创建,常用在第一次创建
[root@apache ~]# mkdir /var/www/html/admin
[root@apache ~]# vim /var/www/html/admin/index.html
[root@apache ~]# systemctl restart httpd
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
验证:
用户admin可以查看
用户admin1则不能查看
配置对有效的用户都可以看:
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
重启服务
[root@apache ~]# systemctl restart httpd
测试不再赘述
(三)apache支持的语言
支持html、php、cgi 语言;不支持jsp asp ,如果要用需要翻译之
1、html
上述皆是html的例子,这里不再赘述
2、php
[root@apache ~]# yum install php -y
[root@apache ~]# vim /var/www/html/index.php
[root@apache ~]# vim /etc/httpd/conf/httpd.conf
[root@apache ~]# systemctl restart httpd
演示:http://172.25.254.224/index.php
3、cgi
[root@apache ~]# mkdir -p /var/www/html/cgi
[root@apache ~]# semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?'
[root@apache ~]# restorecon -RvvF /var/www/html/cgi/
[root@apache ~]# chmod +x /var/www/html/cgi/index.cgi
[root@apache ~]# vim /var/www/html/cgi/index.cgi
本地测试
[root@apache ~]# /var/www/html/cgi/index.cgi
[root@apache ~]# vim /etc/httpd/conf.d/adefault.conf
[root@apache ~]# vim /etc/httpd/conf/httpd.conf
[root@apache ~]# systemctl restart httpd
http://测试
http://172.25.254.224/cgi/index.cgi