在多站点应用程序设置中使用完整域

时间:2009-03-22 10:05:43

标签: hosting dns cname

我正在构建一个多站点应用程序,其中客户端必须能够使用自己的域(与仅仅子域相对)。我想了解不同的方法,以及当客户希望在外部处理电子邮件托管时,两端需要什么配置。

对lxadmin / hypervm的任何引用也会有所帮助。 TX〜

修改 我正在跑阿帕奇;没有ssl要求。

2 个答案:

答案 0 :(得分:0)

这类似于wordpress.com中的博客的工作方式。 xyz.wordpress.com可以映射到www.xyz.com。

Wordpress MU具有相同的功能,并且有插件可以执行此操作。这个link会给你一些想法。

基本上我认为,当客户端请求将其域映射到他的站点(在子域中)时,我们会添加一个插件域并向用户提供名称服务器的详细信息。设置完成后,重定向应该有效。如果我找到更多有用的链接,我会添加更多。

答案 1 :(得分:0)

我建议在apache conf目录中创建一个子目录。像conf/user-domains这样的东西。该目录中的每个文件都将命名为用户的域,例如userdomain.com,并包含该子域的apache指令。像(在我头顶)的东西:

<VirtualHost *:80>
   ServerName userdomain.com
   DocumentRoot "/path/to/userdomain.com/htmldocs/"
</VirtualHost>

假设您有一些Web界面供用户创建这些域,它会将一个文件与他的设置存储在某个已知位置,例如$webtmp/userrequests/request-XXXYYZ。然后,您将拥有一个cron-job,可以扫描该位置以获取新请求,并在conf/user-domains中创建匹配的文件。

哦,请帮个忙,不要只是将用户的输入复制到配置文件中 - 这是让服务器被劫持的好方法。先检查一下,如果合法则将其弄清楚。 (我还建议您向用户conf/user-domains提供对fakedaemonuser的只写访问权限,并以该用户身份运行cron-job。)

编辑:忘了告诉你,你需要在apache的主配置文件中添加一个指令(通常是http.conf):

Include conf/user-domains/*.conf

当然,假设您在conf/user-domain/中创建的所有文件都以.conf结尾。