希望得到一些指导,从每台机器上的单个apache/网站转移到每台机器上的多个虚拟主机设置。
当前设置: LAMP堆栈与从源代码安装的软件包:Apache2.4.2,php 5.4.3和mysql 5.1.63对于当前的单站点(site1.ie)设置我有虚拟主机详细信息,DocumentRoot和目录指令,指向httpd.conf中当前站点的LAMP文档根。
为了启用虚拟主机,我取消了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文件中的DocumentRoot细节并重新启动httpd时,当我试图加载site1.ie时,我得到了一个403禁止的错误。
httpd-vhosts.conf中的目录指令(从httpd.conf移出):
<Directory "/usr/local/apache2/htdocs/site1">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Require all granted
</Directory>编辑:
httpd中的客户端出现以下错误: AH01630: error_log被服务器配置拒绝:/usr/本地/apache2/htdocs/
这是网站数据的位置,它是否由此目录指令控制:
<Directory />
AllowOverride none
Require all denied
</Directory>据我所知,这是默认的拒绝访问此文件夹,但允许访问其子文件夹通过其自己的目录指令?
当我注释掉主httpd.conf文件中的DocumentRoot并在virtualhost指令(在httpd.conf文件或httpd-vhosts.conf文件中)中定义DocumentRoot时,就会发生403问题。
我临时更改了Directory /指令(如上所示),要求所有人都被授予权限,这消除了403错误,但我得到的只是默认的apache 'It works‘页面。我仍然无法访问为site1定义的文档根目录。
有没有人对我做错了什么有什么建议?
发布于 2014-06-16 23:53:47
我想你会在this site上找到你的答案。
这是一张清单,上面列出了可能导致你的问题的事情。
发布于 2020-01-25 06:15:15
我相信你的标签需要在vhosts文件的标签中才能工作,因为你已经在你的httpd.conf文件中启用了虚拟主机,例如:
<VirtualHost *:443>
ServerName site1.ie
ServerAlias site1.ie
DocumentRoot "/usr/local/apache2/htdocs/site1"
<Directory "/usr/local/apache2/htdocs/site1">
Options Indexes FollowSymLinks
AllowOverride AuthConfig
Require all granted
</Directory>
</VirtualHost>还可以考虑将变量添加到httpd.conf,以便可以在一个位置进行调整,如下所示:
Define INSTALL_DIR d:/wamp64
Define SRVRPATH ${INSTALL_DIR}/usr/local/apache2/htdocs这将允许您将上面的第一个代码块从
DocumentRoot "/usr/local/apache2/htdocs/site1"
<Directory "/usr/local/apache2/htdocs/site1">至
DocumentRoot "${SRVRPATH}/site1"
<Directory "${SRVRPATH}/site1">https://stackoverflow.com/questions/24247408
复制相似问题