如何使用 DynDNS 设置我的 apache 服务器?

如何使用 DynDNS 设置我的 apache 服务器?

我已经尝试设置我的 Apache 服务器很多天了,但毫无进展。我已获得一个 DynDNS Pro 帐户,并在 names.co.uk 注册了一个域名(我甚至还没想好要用它做什么,甚至不知道我是否真的需要它)。

我已将 /etc/apache2 目录中的 sites-enabled 文件夹配置为指向我保存 .html 文档的目录。当我将 DynDNS 设置为本地 IP 地址 192.168.xx 时,它工作正常,但我知道这意味着其他人无法访问我的网站。当我访问 DynDNS 网站并将 IP 地址更改为我的公共 IP 时,如果我尝试访问我的网站“shredalert.homelinux.com”,它会将我带到路由器的登录页面。我完全搞不懂为什么会发生这种情况。这是我第一次尝试设置 Web 服务器和网站。如果我做出非常愚蠢的评论/假设,请耐心等待。

我应该补充一点,我已经为 192.168.xx 转发了端口 80。当我在 DynDNS 上将我的 IP 更改为我的公共 IP 地址时,我该如何修复我的 apache 服务器以加载我的网站,而不是加载我的路由器登录页面?

PS:如果使用“names.co.uk”的人能告诉我如何使用我已注册的域名,我将不胜感激。

答案1

几点说明:

  • 您的域配置的 DNS 服务器必须指向 dyndns
  • 您的路由器必须将端口 80 转发到您的本地计算机。本地计算机上的 IP 地址应该是静态的,并且最好在路由器上保留。
  • 你的机器必须打开 80 端口
  • 如果所有这一切设置正确,如果你这样做http://外部Ip你应该得到你的默认 Apache 页面(与http://本地主机
  • 您必须设置一个虚拟主机以供 shredalert.homelinux.com 监听,或者ServerAlias shredalert.homelinux.com在您的主​​配置文件中使用指令将该域作为 localhost 的别名。

创建虚拟主机文件/etc/apache2/sites-available/shredalert.homelinux.com.conf如下:

<VirtualHost *:80>
    ServerName shredalert.homelinux.com
    DocumentRoot /path/to/root/directory
    ErrorLog "/var/log/apache2/error.shredalert.homelinux.com.log"
    CustomLog "/var/log/apache2/access.shredalert.homelinux.com.log" common

    <Directory /path/to/root/directory>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
        Require all granted
    </Directory>
</VirtualHost>

然后启用站点并重启(或重新加载)apache2 服务

sudo a2ensite shredalert.homelinux.com.conf
sudo service apache2 restart

注意:您可以更改/path/to/root/directory为任何您想要的内容,因此不一定必须公开完整的本地主机根目录。

相关内容