在PHP中使用PHP设置子域

问题描述:

有没有办法通过PHP以编程方式创建LAMP服务器并创建子域?在PHP中使用PHP设置子域

我不想安装Plesk或cPanel,我知道他们有API让我创建子域。但是有没有办法绕过他们,只安装了LAMP服务的裸服务器。

你可以看一下被Apache提供的大量虚拟主机模块:

随着你的PHP,当你想创建一个新的域,只需创建一个新的目录.. 。并实现这个配置的一部分(参考上面的链接)了解如何配置Apache。这将允许每个主机一个单独的虚拟主机...而不是替代答案,仍需要每个唯一的主机名更多的配置工作...

# 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 
CustomLog logs/access_log vcommon 

# include the server name in the filenames used to satisfy requests 
VirtualDocumentRoot /www/hosts/%0/docs 
VirtualScriptAlias /www/hosts/%0/cgi-bin 

只需将所有子域指向您的文档根目录,并确定在您的PHP代码中访问了哪个子域。使用通配符DNS和通配符虚拟主机,您不需要“创建”子域,只需存在所有可能的子域。

<VirtualHost *:80> 
    ServerName *.example.com 
    DocumentRoot /var/www/html 
</VirtualHost> 

这是如何向每个用户分发子域的服务工作。他们实际上不创建DNS记录,编辑Web服务器配置文件,并且每次用户注册时都重新启动所有服务。

+0

hmmmm,亚我确实对一个想法。当我与Plesk合作时,我注意到每次创建一个子域时,都会将其添加到vhosts.conf文件中,因此会有80多个条目。 Plesk是否每次都重新启动apache? – Eli

+0

是的,它每次都会重新启动apache。 –