我正在构建一个多站点应用程序,其中客户端必须能够使用自己的域(与仅仅子域相对)。我想了解不同的方法,以及当客户希望在外部处理电子邮件托管时,两端需要什么配置。
对lxadmin / hypervm的任何引用也会有所帮助。 TX〜
修改 我正在跑阿帕奇;没有ssl要求。
答案 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
结尾。