在 Ubuntu 上的虚拟主机上创建子域名

在 Ubuntu 上的虚拟主机上创建子域名

我正在使用 ubuntu 并想在虚拟主机上为本地主机创建子域。

我已经在本地主机上创建了服务器名称,但现在想要在本地主机的虚拟主机上创建子域。

比如我的服务器名称是 sajid.msj 那么我希望我的子域名必须是这样的:

答案1

好的,DNS:

打开 /etc/hosts,添加如下行:

127.0.0.1               localhost sajid.msj subdomain.sajid.msj anothersubdomain.sajid.msj

如果你希望网络上的其他机器也能使用此功能,则需要使用内网 IP

我使用 mod_vhost_alias 来批量托管子域名,如下所示:

sudo a2enmod vhost_alias

然后在 /etc/apache2/sites-enabled 中创建一个名为 000vhosting 的文件,其中包含:

<VirtualHost *:80>

DocumentRoot /home/nicholas/Sites/

ServerName *
# get the server name from the Host: header
UseCanonicalName Off

# this log format can be split per-virtual-host based on the first field
# LogFormat "%V %h %l %u %t \"%r\" %s %b" vcommon
LogFormat "%V %h %l %u %t \"%r\" %>s %b \"%{User-agent}i\"" vcommon

#RewriteLog /tmp/rewrite.log
#RewriteLogLevel 9

CustomLog /var/log/apache2/vhost_access.log vcommon

# include the server name in the filenames used to satisfy requests
VirtualDocumentRoot /home/nicholas/Sites/%0/public_html
VirtualScriptAlias /home/nicholas/Sites/%0/cgi-bin


</VirtualHost>

然后,对于每个子域,您在放置站点目录的任何位置创建一个具有相同名称的目录,然后站点的根目录将指向其中名为 public_html 的目录。

因此 subdomain.sajid.msj 包含在 /home/nicholas/Sites/subdomain.sajid.msj/public_html 中

答案2

您想了解 DNS 配置还是 Web 服务器配置?如果是 Web 服务器,您想知道哪一个 - Apache?

答案3

穆罕默德,以下文档可能会让您感兴趣(如果您想知道 Aquarion 如何为您的服务器生成配置):

主机文件:http://en.wikipedia.org/wiki/Hosts_file

而且,如果您想了解有关服务器内部的更多信息,请查看 Apache 2.2 vHosts 文档。

相关内容