Apache的虚拟主机、内部访问控制及支持语言

来源:互联网 发布:itc智能网络广播 编辑:程序博客网 时间:2024/05/20 11:52

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


接下来开始:

【1】www.westos.com


【2】c.westos.com


【3】liunx.westos.com


(二)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


验证:

http://172.25.254.224


http://172.25.254.224/admin


用户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


注意:date左右两边的符号,不同寻常

本地测试

[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