Apache 虚拟主机基本配置

Apache Virtual Hosts Basic Config

提问人:user22335954 提问时间:8/22/2023 更新时间:8/24/2023 访问量:33

问:

我正在尝试将我的个人托管站点从 nginx 转换为 apache,以支持我想托管的一些更高级的东西。

我在这台机器上托管多个站点,使用 nginx 中的多个服务器指令,效果很好。我在端口 80 上有一个网站,在端口 443 上还有其他几个网站,具有适当的 ssl 证书等等。

我尝试查找 Apache 的基本教程,但它们似乎都非常过时或使用不适用的自定义发行版特定配置,我在 Arch 上托管。

我的问题归结为:

我知道主 conf 文件 /etc/httpd/conf/httpd.conf 配置了用于托管单个站点的侦听端口、serverroot、documentroot 和 directory 指令。

包括 /etc/httpd/conf/extra/httpd-vhosts.conf 可以让我添加我想要的站点,例如:

<VirtualHost myhttpsite.com:80>
    ServerName myhttpsite.com
    ServerAlias *.myhttpsite.com
    DocumentRoot /www/myhttpsite.com
    <Directory /www/myhttpsite.com>
        Options ....
    </Directory>
</VirtualHost>

<VirtualHost mysecuresite.dev:443>
    ServerName mysecuresite.dev
    ServerAlias *.mysecuresite.dev
    DocumentRoot /www/mysecuresite.dev
    <Directory /www/mysecuresite.dev>
        Options ....
    </Directory>
</VirtualHost>

这些虚拟主机都将指向位于 /www/SITENAME 的子目录

我的主要问题是,如果包含并正确配置了虚拟主机,如果 DocumentRoot 和 Directory 指令的主 conf 文件中有任何内容怎么办?

此外,虚拟主机中是否需要重复 DocumentRoot 和 Directory?在什么情况下,它们中的每一个的值会不相同?

最后,引发这一切的问题是,为什么我在尝试访问 myhttpsite.com 时会进入我的 apache 错误日志?AH01630: client denied by server configuration: /www/myhttpsite.com/

使用 nginx,一切正常,因此 DNS 配置正确。我关闭了nginx,启动了apache,似乎配置阻止了访问(我已将/www/SITES目录设置为-R USER:http,所有目录都可以访问rx)

Apache 虚拟主机

评论


答: 暂无答案