在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服务器配置文件,并且每次用户注册时都重新启动所有服务。
hmmmm,亚我确实对一个想法。当我与Plesk合作时,我注意到每次创建一个子域时,都会将其添加到vhosts.conf文件中,因此会有80多个条目。 Plesk是否每次都重新启动apache? – Eli
是的,它每次都会重新启动apache。 –