在 ubuntu 服务器上设置子域

use*_*400 51 server websites apache2

我在 mysite.no-ip.org 有一台服务器。一切正常,我有一个博客和 owncloud,我可以访问写 mysite.no-ip.org/blog 和 mysite.no-ip.org/owncloud。现在,我想创建子域,以便我可以编写 blog.mysite.no-ip.org 和 owncloud.mysite.no-ip.org。

我已经研究了很多,最简单的教程是我遵循的教程。 http://www.bcat.eu/blog/local-subdomains-under-ubuntu-linux-and-apache-2-4-tutorial/ 除了我不在我的服务器上而是远程 ssh 进入它所以如果我使用本地主机我不知道这是否有效,我相信。这是我的第一个障碍,我可以在不出现在服务器旁边的情况下学习本教程吗?

我也刚刚发现 CNAME 记录(我不完全确定)对于我想要做的事情似乎是必要的。我使用 no-ip.org 并且我尝试遵循这样的操作,但这也不是很清楚https://support.uberflip.com/entries/235780-4-4-5-how-to-setup-a -cname-重定向#noip

有没有人有任何指示?这对我来说很阴暗,我不知道我是离解决方案很远还是真的很接近(至少如果我可以尝试使用 localhost 这将是检查我的 Apache conf 的第一步,但我什至无法做到)因为我 ssh)。

无论如何,提前感谢您的帮助。任何帮助,欢迎链接。

Lou*_*sen 71

这实际上很容易。

首先确保您的 DNS 正常工作。您可以使用A,AAAACNAME记录,只要它指向您的 IP 地址。

在继续之前,请检查它是否有效!这将为您省去很多麻烦。您可以使用ping subdomain.mydomain.com或进行检查nslookup subdomain.mydomain.com。如果它指向您的 IP 地址,那您就很好。

请注意,DNS 更改最多可能需要 24 小时。如果您现在想继续,您可以编辑您的 hosts 文件以手动添加子域。请注意,这仅适用于您当前的 PC,因此您应该在 24 小时后再次检查您的 DNS,以确保它在其他地方也能正常工作(在检查之前不要忘记将您的更改还原到您的主机文件)。

去做这个:

sudo nano /etc/hosts
Run Code Online (Sandbox Code Playgroud)

添加行(当然要替换 IP 和主机名):

34.54.235.64 subdomain.mydomain.com
Run Code Online (Sandbox Code Playgroud)

并保存文件。

现在更新您的 Apache2 配置。

只需添加此 VirtualHost 即可:

<VirtualHost *:80>
    ServerName subdomain.mydomain.com
    DocumentRoot /var/www/subdomain.mydomain.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

现在创建/var/www/subdomain.mydomain.com并重启 Apache2:

mkdir -p /var/www/subdomain.mydomain.com
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

启用站点:

sudo a2ensite subdomain.mydomain.com
Run Code Online (Sandbox Code Playgroud)

对要添加的每个子域重复此操作。

  • 太棒了!非常感谢。最后一点,但可能是因为没有 IP,我设法使它工作,但在注册子域时使用地址 blog-mysite.no-ip.org。我不能写 blog.mysite.no-ip.org (message:invalid hostname)...现在,这是因为 no-ip 要我付费还是我做错了什么? (2认同)