2014-06-16 112 views
0

希望通过从每台机器上的单个Apache /网站转移到每台机器上的多个虚拟主机设置获得一些指导。Apache迁移到虚拟主机

当前设置:从源代码安装软件包的LAMP堆栈: Apache 2.4.2,php 5.4.3和mysql 5.1.63 对于当前的单个站点(site1.ie)设置,我有虚拟主机的详细信息, DocumentRoot和Directory指令指向httpd.conf中当前站点的site1 documentroot。

要启用虚拟主机,我已取消注释Include conf/extra/httpd-vhosts.conf,并且已将虚拟主机站点配置详细信息移入httpd-vhosts.conf。事情是这样的:

<VirtualHost _default_:443> 
ServerName http://site1.ie 
DocumentRoot "/usr/local/apache2/htdocs/site1" 
ServerAlias site1.ie 
</VirtualHost> 

当我取消在httpd.conf文件并重新启动httpd的,我得到一个403 Forbidden错误DocumentRoot的细节,当我尝试加载site1.ie。

目录指令中的httpd-vhosts.conf(从httpd.conf中移动):

<Directory "/usr/local/apache2/htdocs/site1"> 
    Options Indexes FollowSymLinks 
    AllowOverride AuthConfig 
    Require all granted 
</Directory> 

编辑:

中的httpd error_log里给了这个错误:AH01630:客户端通过服务器配置否认:在/ usr /本地/ Apache2的/ htdocs中/

这是网站数据的位置是由该目录指令控制:

<Directory /> 
    AllowOverride none 
    Require all denied 
</Directory> 

据我所知这是默认拒绝访问此文件夹,但允许通过他们自己的目录指令访问其子文件夹?

发生403问题的时刻是当我注释掉主httpd.conf文件中的DocumentRoot并在virtualhost指令中定义DocumentRoot(在httpd.conf文件或httpd-vhosts.conf文件中)。

我暂时更改了Directory /指令(如上所示)以要求所有授予,这摆脱了403错误,但所有我presneted与默认apache'它工作'页面。我仍然无法访问为site1定义的documentroot目录。

有没有人有任何指针我做错了什么?

+0

检查日志以查看实际请求的文件。这将帮助您确定根是否错误或者烫发是否错误。 –

+0

httpd中的error_log出现此错误:AH01630:客户端被服务器配置拒绝:/ usr/local/apache2/htdocs / – user3744081

回答

0

我想你会在this site上找到你的答案。

这是一个可能会导致您的问题的事项的清单。