当用户注册我的网站时,应该如何为他们设置子域。

需要哪些基础设施?我正在使用 Linux 服务器。

有帮助吗?

解决方案

您可以做一个CNAME条目/ A记录在您的DNS设置,为每个子域

  

CNAME记录是在记录您的   域名管理设置,允许   你控制的子域您   域。

要自动执行它使用登记沿,可以编写其对于每个用户,当他/她登记。

执行的脚本

可以参考此链接,以及,用于一步一步的过程为Apache:

<强> 如何设置在子域阿帕奇

(因为你提到的Linux,我想那一定是Apache的。请注明如果是其他方式)

<强>替代的解决方案

您还可以参阅通配符溶液中,通过参宿<给出/ A>,在相同的线程。我发现他是一个更简单的方法。 :)

其他提示

如果您使用的是Linux服务器我假设你使用Apache作为Web服务器。

您将不得不为子域,以及一个虚拟主机设置正确的DNS路由。

虚拟主机是很容易设置,但我不知道它是多么容易做他们的飞行progmatically。

它的大部分是作为编辑Apache的配置文件,并加入以下作为易时间:

Port 80
ServerName www.mydomain.com

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot /www/user-bob
ServerName bob.mydomain.com
...
</VirtualHost>

<VirtualHost *:80>
DocumentRoot /www/user-sally
ServerName sally.mydomain.com
...
</VirtualHost> 

虚拟主机机制的文档大概会的一些对你有用。

Apache 允许您根据单个服务器上的子域指定任意数量的“站点”。创建一个新的“站点定义”文件,其中包含适当的子域信息以及适当的 DNS 通配符,即可完成您想要的操作。

换句话说,这个过程是这样的:

  1. 设置通配符,以便 *.mysite.com 定向到正确的服务器。
  2. 当新用户注册时,创建正确的 Apache 站点定义文件 - 您可能会有一个基本模板,您可以将正确的子域信息放入其中并保存。
  3. 让 Apache 重新读取其配置。
  4. 利润。

重要的 这是基于 Debian 风格的 Apache 配置,其中配置文件包含在一个目录中,主配置读取该目录中的所有配置文件。这将大大简化事情,因为添加/删除子域将意味着添加/删除文件,而不是编辑单个文件,因此该过程将更容易自动化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top