我有一个网站www.mysite.com这是主要网站,我将使用该网站的Django网站框架
我也想有其他的子域名,如:
我想知道:
当然你可以做到这一点。
子域只是单独的VirtualHostconfiguration。 名字不重要。 即到Apache,mail.domain.com和mail.anotherdomain.com是不同的mail.domain.com和mail2.domain.com。
例如:
<VirtualHost 192.168.1.1:80> ServerName mail.mysite.com DocumentRoot /home/mysite.com/sites/mail/public_html ... </virtualHost> <VirtualHost 192.168.1.1:80> ServerName admin.mysite.com DocumentRoot /home/mysite.com/sites/admin/public_html ... </VirtualHost> ...
等重复每个站点的VirtualHost部分。 DocumentRootpath是任意的。 它可以住在/var/www (在一些Linux系统上很常见),或者任何地方。 如果系统上只有一个域,并且您希望子域看起来更加独立(为了SuExec目的,不同用户拥有这些子域(从安全angular度来看这可能是可取的),您可以为每个域创build一个单独的用户,把它们放到自己的主目录中。 但是,主目录也是任意的,所以你可以有多个用户使用上面的Apacheconfiguration示例。 但是,如果他们不需要共享文件访问权限,您可能希望将其设置为/home/mail /home/admin /home/otherstuff 。
注意:如果您的系统具有SELinux或AppArmor,则DocumentRoots的位置可能会由您的操作系统或您正在使用的Apache软件包修复。 同样,如果使用SuExec,则通常会将该path编译为suexec二进制文件(在使用suexec-custom软件包时可以在Debian和Ubuntu上进行configuration),在CentOS上将其硬编码为/ var / www,除非您安装了另一个Apache自己构build或重buildApache)。 所以,除非你有理由select别人,否则使用默认path可能是最简单的。 然而,我喜欢用户住在/ home,所以我在CentOS系统上使用suexec设置为/ home的重新编译的Apache软件包。