我正在使用 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 文档。