linux 可以用一个域不同的第三方域来托管多个网站吗?

Can linux host mutiple websites with one domain's different third domains?

我最近用 linux Debian Jessie 在 raspberry pi 上做了一些项目,我有兴趣将 raspberry pi 上托管的转发网站移植到我拥有的域中。

据我了解,可以根据 apache 使用配置的端口在树莓派 link 上创建每个单独的网站,例如 /home/pi/html/website01 -> port 11235 website02 -> 11236 这样我可以浏览私有网络中的网站。但是,我拥有的域由 godaddy 管理,他们提供没有端口的链,因此我无法将我的第三级域之一(例如 dashboard.domain.com 重定向到我的动态 dns 主机名 xx.dtdns.net端口。

是否有任何可能的方法或想法让它发挥作用?我对名称服务器缺乏了解,但我有一个想法,即使用 vpn 或 vps 将用户映射到我的专用网络,而不是使用 godaddy 域管理器。我已经在我的树莓派上用 cert 和 pptp vpn 构建了 openvpn。有可能吗?下一步是什么?

谢谢,请给我出出主意

一种解决方案是在您的 Raspberry 上使用 Apache 中的虚拟主机。使用以下命令在 PI 上安装 Apache2:

apt-get install apache2

在 /etc/apache2/sites-available 中创建一个新的 conf 文件或使用现有的。为不同站点目录添加端口:

<VirtualHost *:11235>
        DocumentRoot /var/www/w1

        <Directory /var/www/w1>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

<VirtualHost *:11236>
        DocumentRoot /var/www/w2

        <Directory /var/www/w2>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>

然后在 /etc/apache2/ports.conf 文件中设置 Apache 监听端口:

Listen 11235
Listen 11236

重新启动 Apache 服务。您现在应该能够使用相同的 IP 地址浏览这两个端口。如果你的 ip 是 111.111.111.111 那么 w1 目录在 111.111.111.111:11235 和 111.111.111.111:11236.

如果您的域指向一个 IP,您可以使用不同的主机名而无需更改 DNS。如果您的域是 mydomain.com,您可以改为添加新的虚拟主机名:

<VirtualHost *:80>
    ServerName w1.mydomain.com
    DocumentRoot /var/www/w1

   <Directory /var/www/w1>
    Options +Includes -Indexes +FollowSymLinks 
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>

</VirtualHost>

<VirtualHost *:80>
    ServerName w2.mydomain.com
    DocumentRoot /var/www/w2

   <Directory /var/www/w2>
    Options +Includes -Indexes +FollowSymLinks 
        AllowOverride All
        Order allow,deny
        allow from all
   </Directory>

</VirtualHost>