使用一个 IP 托管多个域名:DNS/apache2 问题

使用一个 IP 托管多个域名:DNS/apache2 问题

我正在尝试做一些相当简单的事情。我们在 IP 上有一台专用服务器[our server ip]

我们购买了几个域名。

我想在一个 IP 下托管网站。

我使用公司提供的界面设置了区域文件。它看起来如下:

在此处输入图片描述

在 Ubuntu 10.04 上运行的 apache2 中,我转到 /etc/apache2/sites-available/ 并创建一个名为[domain name].com

该文件的内容如下:

<VirtualHost *:80>
    ServerName [domain name].com
    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

我运行命令sudo a2ensite [domain name].com并重启服务器。但是没有用。

我大约 28 小时前更改了 DNS 记录。可能是什么问题?

正常运行的是“正常”站点。我检查了 DNS 文件,所有IN A类型都指向服务器 IP。

不同之处在于名称服务器;工作站点的名称服务器来自我们购买域名的站点。另一个站点的名称服务器来自其他地方。

这可能是什么问题?

谢谢,丹恩

答案1

首先,如果您不确定 DNS 记录是否已更新,请尝试ping www.yourdomain.com查看数据包是否被发送到正确的服务器 IP 地址。

然后检查 Apache 是否正在监听netstat -l -n | grep ":80"以及防火墙是否打开了端口 80 iptables -L -n | grep "dpt:80"

/var/www 的内容通常用于/保留用于 中的默认站点apache2/sites-available/。在机器上运行虚拟站点时,我为每个站点创建不同的目录,/var/www/site1 /var/www/site2 etc...并将它们设置为 DocumentRoot,该目录与 下每个配置文件中唯一的 ServerName(域名)匹配sites-available。这将避免 Apache 产生任何混淆,还可以保护每个站点免受其他用户的攻击(如果每个站点都提供 FTP 访问权限)。

答案2

您的文档根目录DocumentRoot /var/www应该为每个域设置单独的目录。
下面是我如何设置域和子域的示例

<VirtualHost *:80>
                ServerName www.mydomain.com
                ServerAlias mydomain.com
                ServerAdmin [email protected]
                DocumentRoot "/var/www/mydomain.com"
                <Directory /var/www/mydomain.com/admin>
                                AllowOverride All
                                Allow from all
                </Directory>
</VirtualHost>
<VirtualHost *:80>
                ServerName www.dev.mydomain.com
                ServerAlias dev.mydomain.com
                ServerAdmin [email protected]
                DocumentRoot "/var/www/dev.mydomain.com"
                <Directory /var/www/dev.mydomain.com>
                                AllowOverride All
                                Allow from all
                </Directory>
</VirtualHost>

相关内容