使用 PHP 在 LAMP 中设置子域
有没有办法拥有 LAMP 服务器并通过 PHP 以编程方式创建子域?
我不想安装 Plesk 或 cPanel,我知道他们有 API,可以让我创建子域。但是有没有办法绕过它们并拥有一个仅安装 LAMP 服务的裸服务器。
is there a way to have a LAMP server and create subdomain programatically via PHP?
I don't want to install Plesk or cPanel, I know they have API's which lets me create subdomains. But is there a way to go around them and have a bare server with just LAMP services installed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
凹づ凸ル2024-12-01 17:37:22
你可以看看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 和通配符虚拟主机,您不需要“创建”子域,所有可能的子域都简单存在。
这就是向每个用户分发子域的服务的工作方式。他们实际上并不创建 DNS 记录、编辑 Web 服务器配置文件以及每次用户注册时重新启动所有服务。
Just point all subdomains to your document root, and figure out which subdomain was accessed in your PHP code. With wildcard DNS and a wildcard virtual host, you do not need to "create" subdomains, all possible subdomains simply exist.
This is how services that hand out a subdomain to each user work. They do not actually create DNS records, edit web server config files, and restart all their services every time a user signs up.