[root@station1 html]# service httpd restart
Stopping httpd: [ OK ] Starting httpd: [ OK ]
基于IP地址访问的虚拟主机
建立一个新的目录层次和一些新的内容
[root@station1 ~]# mkdir -p /var/www/virtual/www1.example.com/html [root@station1 ~]# cd /var/www/virtual/www1.example.com/html/ [root@station1 html]# cat >> index.html Abc
修改配置文件
[root@station1 ~]# vim /etc/httpd/conf/httpd.conf ServerAdmin webmaster@www1example.com DocumentRoot /var/www/virtual/www1.example.com/html ErrorLog logs/www1.example.com-error_log
确保DNS系统能够解析域名,否则需要修改/etc/hosts文件,重启服务后访问 http://www1.example.com
基于域名访问的虚拟主机
[root@station1 ~]# vim /etc/httpd/conf/httpd.conf NameVirtualHost 192.168.0.1:80
ServerAdmin webmaster@www.yb.com DocumentRoot /var/www/virtual/www.yb.com/html ErrorLog logs/www.yb.com-error_log
重启服务,在/etc/hosts里添加记录后访问。 使用CGI
[root@station1 ~]# vim /etc/httpd/conf/httpd.conf ScriptAlias /cgi-bin/ /var/www/virtual/www1.example.com/cgi-bin/ 增加这一行。本行中两段 ServerName www1.example.com 高亮显示的部分必须一致 ServerAdmin webmaster@www1example.com DocumentRoot /var/www/virtual/www1.example.com/html ErrorLog logs/www1.example.com-error_log
[root@station1 ~]# vim /var/www/virtual/www1.example.com/cgi-bin/test.sh #!/bin/bash
echo Content-Type: text/html; echo
echo \"
\"\"echo My username is:`whoami` echo
echo My id is:`id` echo
echo My shell setting are:`set`
echo
echo My environment variable are:`env` echo
echo Here is /etc/passwd `cat /etc/passwd` echo \"
重启服务后访问
http://www1.example.com/cgi-bin/test.sh
如果脚本不执行需要修改权限,给予只读和执行权限即可
[root@station1 ~]# chmod 555 /var/www/virtual/www1.example.com/cgi-bin/test.sh
PS:使用``后可以执行诸如id或set命令。
为web站点的文档提供安全访问
[root@station1 ~]# vim /var/www/virtual/www1.example.com/html/.htaccess 新建.htaccess文件,添加以下内容 Authname \"名称,任意填写\" AuthType Basic
AuthUserFile /etc/httpd/conf/www1.htpasswd require valid-user
建立域的密码文件,该文件必须被apache组可读
[root@station1 ~]# htpasswd -mc /etc/httpd/conf/www1.htpasswd user_name 用户名 [root@station1 ~]# chgrp apache /etc/httpd/conf/www1.htpasswd [root@station1 ~]# chmod g+r /etc/httpd/conf/www1.htpasswd
[root@station1 ~]# vim /etc/httpd/conf/httpd.conf
ScriptAlias /cgi-bin/ /var/www/virtual/www1.example.com/cgi-bin/ ServerName www1.example.com ServerAdmin webmaster@www1example.com DocumentRoot /var/www/virtual/www1.example.com/html ErrorLog logs/www1.example.com-error_log
重启服务,再次访问http://www1.example.com 用户名为user_name,密码为之前设置的密码
因篇幅问题不能全部显示,请点此查看更多更全内容