如何将站点根目录中的目录设为子域?

如何将站点根目录中的目录设为子域?

我有一个Ubuntu LAMP网站托管在vps.net

我有一个名为的目录john可以通过访问,mysite.com/john我希望它可以通过以下方式访问john.mysite.com

我的站点根目录是/var/www,此目录位于/var/www/john

我需要做什么才能实现这一点?

答案1

在以下位置创建新的站点文件/etc/apache2/sites-available/john.mysite.com

设置网站如下:

<VirtualHost *:80>
    ServerName john.mysite.com
    DocumentRoot /var/www/john
    <Directory /var/www/john/>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

使用以下方式启用网站a2ensite john.mysite.com

重新加载 apache 以启用该站点:service apache2 restart

答案2

除了配置 Apache 之外,还不要忘记 DNS 部分:您将需要一个记录john.mysite.com,指向相同的 IP 地址mysite.com指向(如果使用 A 记录),或者指向mysite.com其自身(如果使用 CNAME 记录)。

答案3

以下步骤对我在 Ubuntu 12.04 LTS x86_64 中有效:

您需要在以下位置创建一个新的站点文件/etc/apache2/sites-available/john.mysite.com.conf

扩展.conf非常重要,没有它,其余的将无法工作!!

然后设置网站如下:

<VirtualHost *:80>
    ServerName john.mysite.com
    DocumentRoot /var/www/john
    <Directory /var/www/john/>
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

保存更改并使用以下命令启用站点:

sudo a2ensite john.mysite.com

重新加载 apache 以启用该站点:

sudo service apache2 reload

重新启动 apache 服务:

sudo service apache2 restart

之后,您需要设置 DNS 以指向该站点(作为子域),DNS 将需要一些时间,但根据我的经验,只需要几分钟(15)。

希望这可以帮助!! :)

答案4

你需要为你的 Web 服务器(假设是 Apache)创建一个虚拟主机,该虚拟主机至少包含以下信息

<VirtualHost *:80>
ServerName john.mysite.com
DocumentRoot /var/www/john
</VirtualHost>

这不是一个明确的 vhost 文件,而是一个起点,它应该放在 httpd.conf 文件的底部,或者系统管理 vhosts 的任何位置

相关内容