【问题标题】:Setting up custom domain of users' inputted domain设置用户输入域的自定义域
【发布时间】:2011-12-29 19:34:08
【问题描述】:

这可能是一个服务器问题,但我想问的是如何在 PHP 中完成这个系统,然后再投票结束。

我正在设置一个自定义克隆站点系统,付费用户可以在其中拥有自己的软件,但需要使用自定义子域构建,例如user1.domain.com。我想让他们有自己的付费域指向我的服务器来替换他们构建的子域。但是,我不知道如何在原始 PHP 中执行这种过程。

例如,在管理页面上,他们可以输入他们的付费域,我希望将域添加到我服务器上的 BIND DNS/nginx,但我需要知道我需要从那里获取什么(URL 验证除外)例如,当他们从他们的域管理器(GoDaddy、123-reg 等)输入我的服务器的名称服务器时检查域是否指向我的服务器等等,并确保域处于正确的活动状态并且在访问时可以很好地使用新域替换了构建域(nginx可以做到这一点?)

我应该采取哪些步骤来制作这种系统?是否有任何服务器支持我需要采取诸如 cron 作业之类的。

我的服务器运行 Ubuntu 11.10 和 nginx 1.0.6。

编辑:我已经在 BIND 中有一个通配符 A 记录。

【问题讨论】:

    标签: php ubuntu dns subdomain


    【解决方案1】:

    只需将*.domain.com 指向您的服务器。假设您正在运行 Apache,您只需在 httpd.conf 中定义您的 VirtualDocumentRoot,然后您就可以开始运行了。在 PHP 或其他任何东西中都无事可做。

    在此处查看文档:http://httpd.apache.org/docs/2.0/vhosts/mass.html

    更新

    没有发现您在使用 nginx,对此感到抱歉 - 看起来与 Apache 非常相似:

    root /PATH/TO/WEBROOT/$host;
    

    在您的 server { 配置中。 http://wiki.nginx.org/VirtualHostExample

    编辑您的配置文件 (nginx.conf) 并更改 http 下面的 server 部分,如上面链接中的 VirtualHostExample 所示,将服务器名称和路径替换为您的服务器信息。

    【讨论】:

    • 为编辑干杯。是否有特定命令可以在 nginx 中添加可以在 CLI 中执行的虚拟主机?
    • 您不需要执行任何操作来启用新的子域...除了,我想,添加文档文件夹并确保权限设置正确。例如<?php mkdir('/path/to/webroot/newsubdomain'); ?> 之类的。
    • 嗯,我想这是有道理的。谢谢!
    • 实际上应该是mkdir('/path/to/webroot/newsubdomain.domain.com');,因为$host 是'sub.domain.com'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多