我租了一个运行 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