在一台apache服务器上可以配置多个虚拟主机,实现一个服务器提供多站点服务。
apache虚拟主机配置
- 在
/var/www/
下分别创建多个站点
mkdir westos.com/news/html -p
mkdir westos.com/sports/html -p
vim /var/www/westos.com/news/html/index.html
vim /var/www/westos.com/sports/html/index.html
- 创建子配置文件对站点进行配置
vim /etc/httpd/conf.d/a_defaut.conf ###默认访问站点
vim /etc/httpd/conf.d/news.conf ###子站点
vim /etc/httpd/conf.d/sports.conf
- 重启apache服务,在测试端做本地解析
vim /etc/hosts
去访问不同站点,网页显示内容不一样
###默认站点
###news站点
###sports站点
apache内部访问控制
- 基于IP的控制
###Allow在前,先读取Allow的数据,允许所有主机访问,55这台主机不能访问
在172.25.254.55上通过浏览器去访问apache,被拒绝
在另一台主机上可以访问
###Deny在前,先读取Deny的数据,拒绝所有主机访问,然后读取Allow数据,只允许172.25.254.55去访问
172.25.254.255可以访问
其他主机被拒绝
- 基于用户身份的加密登陆
htpasswd -cm http_userlist admin1 ###新建用户可以通过密码认证访问apache
htpasswd -m http_userlist admin1
###当创建第二个用户时,去掉c ,不然本次创建会覆盖前面所创建的内容
vim /etc/httpd/conf.d/a_default.conf
测试:重启服务,测试端在浏览器输入172.25.25.115(apache服务器IP)
输入正确密码后可以查看发布文件内容
apache支持的语言
- html 默认支持
- php
yum install php -y
vim /var/www/html/index.php
重启服务后,在测试端打开浏览器输入172.25.254.115/index.php
- cgi
mkdir -p /var/www/html/cgi
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' ###修改自己创建的cgi安全上下文与系统中一致
restorecon -RvvF /var/www/html/cgi/
vim /var/www/html/cgi/index.cgi
chmod +x /var/www/html/cgi/index.cgi ###添加可执行权限
vim /etc/httpd/conf.d/a_default.conf
测试:重启服务,在浏览器输入172.25.254.115/cgi/index.cgi
,显示执行结果