无法在 Ubuntu 上正确配置 Apache2 子域

无法在 Ubuntu 上正确配置 Apache2 子域

我租了一个运行 Ubuntu 的小型虚拟专用服务器,并尝试配置子域。多亏了一些资源,我才弄清楚该如何做,但仍然根本不起作用。

希望有人能帮助我找出我做错的事情。

<domain>.conf我创建了一个名为的文件/etc/apache2/sites-available。它包含以下内容:

NameVirtualHost *:80

# Configuration for index.<domain> and <domain>.
<VirtualHost *:80>
        ServerAdmin administrator@<domain>
        DocumentRoot /var/www/sites/<domain>/index

        ServerName index.<domain>
        ServerAlias <domain>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

我使用以下命令启用了该网站:

sudo a2ensite /etc/apache2/sites-available/<domain>.conf

此外,我还配置了 DNS 设置如下:

Name            Type            Value         
<domain>        A               <ip-address>
index.|DOMAIN|  A               <ip-address>

打开http://<domain>一切正常,但打开http://index.<domain>却不行。相反,我收到一条消息,告诉我“此网页不可用”。


apache2ctl -S返回以下内容:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

VirtualHost configuration:
    *:80 is a NameVirtualHost
        default server localhost (/etc/apache2/sites-enabled/000-default.conf:1)
    port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default.conf:1)
    port 80 namevhost index.<domain> (/etc/apache2/sites-enabled/<domain>.conf:4)
        alias <domain>

答案1

您设置了一个名为“www.domain”的子域名,并为子域名“index.domain”添加了一条记录

尝试这个:

在您的 vhost 配置中:

<VirtualHost *:80>
    ServerAdmin administrator@domain
    DocumentRoot /var/www/sites/domain/www

    ServerName domain
    ServerAlias www.domain

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

然后运行:

apache2ctl -t
service apache2 reload

在您的区域文件中:

domain.     IN    A               W.X.Y.Z
www         IN    CNAME           domain.

然后运行:

named-checkzone domain /path/to/zone/file/db.domain
service bind9 reload

确保您的子域名已被您的 DNS 服务器解析:

dig @W.X.Y.Z www.domain A +short
W.X.Y.Z

相关内容