1

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

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

编辑: 我正在运行 apache;没有ssl要求。

4

2 回答 2

0

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

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

假设您有一些 Web 界面供用户创建这些域,它会将包含他的设置的文件存储在某个已知位置,例如$webtmp/userrequests/request-XXXYYZ. 然后,您将拥有一个 cron 作业,该作业将扫描该位置以查找新请求,并在conf/user-domains.

哦,帮我个忙,不要只是将用户的输入复制到配置文件中——这是让你的服务器被劫持的好方法。首先检查它,如果它是合法的,则将其清除。(我进一步建议您授予 user 的只写访问权限conf/user-domainsfakedaemonuser并以该用户身份运行 cron-job。)

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

Include conf/user-domains/*.conf

当然,这是假设您创建的所有文件都conf/user-domain/.conf.

于 2009-03-23T06:35:21.250 回答
0

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

Wordpress MU 具有相同的功能,并且有插件可以做到这一点。这个链接会给你一些想法。

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

于 2009-03-22T11:06:38.110 回答