设置一个开发LAMP服务器,我希望允许dynamic子域名,又名ted.servername.com,bob.servername.com。
这是我的网站活动文件
<VirtualHost *:80> # Admin Email, Server Name, Aliases ServerAdmin [email protected] ServerName happyslice.net ServerAlias *.happyslice.net # Index file and Document Root DirectoryIndex index.html DocumentRoot /home/sysadmin/public_html/happyslice.net/public # Custom Log file locations LogLevel warn ErrorLog /home/sysadmin/public_html/happyslice.net/log/error.log CustomLog /home/sysadmin/public_html/happyslice.net/log/access.log combined
这里是sudo apache2ctl -S的输出
VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server happyslice.net (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/000-default:1) port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/happyslice.net:5) Syntax OK
服务器主机名是srv.happyslice.net。
正如你可以从apache2ctl看到,当我使用happyslice.net我得到默认的虚拟主机,当我使用一个子域,我得到的happyslice.net主机。 所以后面的工作是我想要的,但主要的url没有。
我已经尝试了各种各样的变化,但是看起来ServerName只是没有被绑定到正确的位置。
思考? 我很难过 仅供参考,我正在运行Apache2.1和Ubuntu 10.04 LTS
我几乎有你遇到的确切问题。 它源于默认的ServerName(位于/etc/apache2/conf.d/servername.conf),我的VirtualHost定义文件(/etc/apache2/sites-available/site.com)中的ServerName是相等的。
对于每个子域,创build一个文件就像上面列出的文件一样,除了只将子域名作为服务器名。 删除* .mydomain.com作为服务器别名。 启用Apache的configuration文件,并重新启动Apache。
我相信你正在寻找的将需要部分的主机名称,你想服务器响应。 你现在configuration了所有80端口的stream量,并指向/home/sysadmin/public_html/happyslice.net/public
尝试添加适当的文档根的部分和部分。 通过这种方式,您可以使用bill和ted来从同一台服务器提供不同的内容,并具有不同服务器的外观。