Apache 基本虚拟主机设置

Apache 基本虚拟主机设置

我正在设置我的第一个虚拟主机,但域名不起作用。我已经sudo a2ensite SITENAME完成了并重新启动了 apache,但仍然无法访问。我已验证 IP 是正确的,因为我目前通过 IP 登录到 splunk。

更新

NameVirtualHost *:80在 上有我的apache2.conf。我更新的网站 VirtualHost 配置如下:

<VirtualHost xx.xxx.xxx.xxx:80>
        ServerName www.domain.com
        ServerAlias domain.com
        ServerAdmin [email protected]

        DocumentRoot /home/source/public_html/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /home/source/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /home/source/log/error_log
        TransferLog /home/source/log/access_log
</VirtualHost>

我还更新了 /etc/hosts 以显示:

127.0.0.1       localhost
127.0.1.1       productionserver
127.0.0.1       www.domain.com

答案1

您使用的是哪个版本的 Apache?如果您使用的是版本 2,则默认 VirtualHost 配置应该可以满足您的需求。使用以下命令创建新的 VirtualHost:

$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/www.yoursite.com 

使用您最喜欢的文本编辑器编辑指令:

$ gksudo gedit /etc/apache2/sites-available/www.yoursite.com

激活您的网站:

$ sudo a2ensite www.yoursite.com

重新加载Apache:

$ sudo /etc/init.d/apache2 reload

使用 IP 地址和域名更新 /etc/hosts 文件:

127.0.0.1 www.yoursite.com

浏览至 www.yoursite.com。

希望这可以帮助!

麦克风

答案2

NameVirtualHost *:80
<VirtualHost xxx.xxx.xxx.xxx:80>
</VirtualHost>

更好的是,如果您不需要(或不关心)将其绑定到特定的 IP 地址,只需在 VirtualHost 指令中使用 *:80。

NameVirtualHost *:80
<VirtualHost *:80>
</VirtualHost>

答案3

您的 hosts 文件中只有 www.domain.com,服务器名称是 domain.com。

您可以通过在 hosts 文件中的 domain.com 后添加 www.domain.com 或在 apache 配置中的 ServerName 指令后添加此行来修复此问题:

服务器别名 www.domain.com

然后重新加载 apache 配置。

谢谢,-Kamil

相关内容