首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache迁移到虚拟主机

Apache迁移到虚拟主机
EN

Stack Overflow用户
提问于 2014-06-16 23:40:26
回答 2查看 740关注 0票数 0

希望得到一些指导,从每台机器上的单个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中。如下所示:

代码语言:javascript
复制
<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移出):

代码语言:javascript
复制
<Directory "/usr/local/apache2/htdocs/site1">
    Options Indexes FollowSymLinks
    AllowOverride AuthConfig
    Require all granted
</Directory>

编辑:

httpd中的客户端出现以下错误: AH01630: error_log被服务器配置拒绝:/usr/本地/apache2/htdocs/

这是网站数据的位置,它是否由此目录指令控制:

代码语言:javascript
复制
<Directory />
    AllowOverride none
    Require all denied
</Directory>

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

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

我临时更改了Directory /指令(如上所示),要求所有人都被授予权限,这消除了403错误,但我得到的只是默认的apache 'It works‘页面。我仍然无法访问为site1定义的文档根目录。

有没有人对我做错了什么有什么建议?

EN

回答 2

Stack Overflow用户

发布于 2014-06-16 23:53:47

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

这是一张清单,上面列出了可能导致你的问题的事情。

票数 0
EN

Stack Overflow用户

发布于 2020-01-25 06:15:15

我相信你的标签需要在vhosts文件的标签中才能工作,因为你已经在你的httpd.conf文件中启用了虚拟主机,例如:

代码语言:javascript
复制
<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,以便可以在一个位置进行调整,如下所示:

代码语言:javascript
复制
Define INSTALL_DIR d:/wamp64
Define SRVRPATH ${INSTALL_DIR}/usr/local/apache2/htdocs

这将允许您将上面的第一个代码块从

代码语言:javascript
复制
    DocumentRoot "/usr/local/apache2/htdocs/site1"
    <Directory "/usr/local/apache2/htdocs/site1">

代码语言:javascript
复制
    DocumentRoot "${SRVRPATH}/site1"
    <Directory "${SRVRPATH}/site1">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24247408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档