发布时间:2014-09-05 17:18:44作者:知识屋
<VirtualHost *:80>
ServerAdmin webmaster@example.com ――管理员邮箱(可以随便写一个)
DocumentRoot "/home/phpok-com" ――网站目录
ServerName example.com ―― 要绑定的域名
ServerAlias www.example.com ――要绑定的别名,如果有多个别名就用英文逗号隔开
CustomLog logs/example.com_custom_log――用户日志格式(这一行也可以为空)
ErrorLog logs/example.com_error_log ――错误日志(也可以为空)
</VirtualHost>
步骤:
1.修改httpd.conf
把#Include conf/extra/httpd-vhosts.conf前面的#去掉,意思是让httpd.conf文件包含httpd-vhosts.conf这个配置文件,这是apache的配置模块化的一个表现,这里不多说。
寻找httpd.conf中的ServerName,如果ServerName的设置不是域名 www.abc1.com的话,那么改为ServerName www.abc1.com,如过你要用ssl之类的东西,那么改为ServerName www.abc1.com:80,就是加了个端口。
2.修改httpd-vhosts.conf
添加如下代码(有些可能文件里面就有,改一下就可以了):
NameVirtualHost *
<VirtualHost *>
DocumentRoot "C:/aic"
ServerName www.abc1.com
ServerAlias abc1.com *.abc1.com
</VirtualHost>
<VirtualHost *>
DocumentRoot "c:/aic/mybbonline"
ServerName www.efg2.com
ServerAlias efg2.com *.efg2.com
</VirtualHost>
值得注意的是,VirtualHost是有顺序的,排在最前的VirtualHost的我们默认的网站域名,其中的DocumentRoot和ServerName都必须与httpd.conf中的一样,包括端口。
DocumentRoot是虚拟主机的路径
而ServerAlias是域名的别名,配置了这个,那么一些二级域名就都可以进行虚拟主机解析了。如*.efg2.com就可以代表bbs.efg2.com或news.efg2.com等。
-----------------------------------------------------------------
虚拟主机的一般形式诸如(extra/httpd-vhosts.conf):
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.domain.tld
ServerAlias domain.tld *.domain.tld
DocumentRoot /www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName www.otherdomain.tld
DocumentRoot /www/otherdomain
</VirtualHost>
这是apache2.2中文参考手册中的示例。一般的咱们这样配置在以前版本是没有问题的。但是现在就不一样了。当访问某个虚拟主机下的页面的时候会出现类似:“403(禁止访问),你无法查看该网页…”的错误。很明显这是拒绝访问的提示。按照经验很容易找到(httpd.conf)下面的内容:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
//先拒绝后允许Deny from all
//拒绝所有的访问</Directory>
这一个部分就是对目录进行访问控制的,很显然这设置得很严格,因此,我们必须手动加入虚拟机目录的权限控制块,才可以让用户正常访问虚拟机的目录及页面文件。有两个地方可以加入虚拟目录访问权限控制块:主配置文件httpd.conf和虚拟机配置文件httpd-vhost.conf,毫无疑问我们选择虚拟机配置文件,主要是维护起来更方便。那么我们把目录访问控制块插入到虚拟机配置文件,这样我们的虚拟主机的配置文件写法就类似这样:
<VirtualHost *:80>
DocumentRoot "E:/web"
ServerName www.domain.tld
<Directory "E:/web">
//插入开始
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
//插入结束</VirtualHost>
这样配置完成后,我们使用apachectl命令及相关参数来检测配置文件是否有问题。确认无误后进行,重新启动apache服务。然后使用浏览器进行访问测试(呵呵!又是废话了!)。如果还不行的话,那就检查你的页面文件的权限设置是否过高,导致的不能访问了!当然这种情况在windows下比较少见,一般可能出现在linux环境下。
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能