1

我正在寻找一种方法来根据他们输入的域为我的客户动态创建一个新网站。我想知道是否有可能:

  1. 通过输入获取新域名
  2. 将新域添加到 dns 服务(bind 或 tinydns)
  3. 将新的虚拟主机添加到 apache

我想对于数字 3,我可以使用http://httpd.apache.org/docs/2.2/vhosts/mass.html,这也有助于避免重新启动 Apache 服务。我不确定我应该如何使用甚至可以使用 PHP 来完成所有这些工作?也许我可以做 shell_exec 并运行一个 bashscript?

请指出我进一步研究的方向。

4

1 回答 1

1

第一点可以用一些代码来执行,比如

<?php
$domain = "";
if (array_key_exists("domain", $_POST)) {
    $domain = $_POST["domain"]; /* You should validate the input before assigning it! */
} else {
?>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
    <label for="domain">Domain name:</label><input type="text" name="domain" id="domain" />
    <input type="submit" value="Register" />
</form>
<?php } ?>

对于第二点,存在一个名为 nsupdate 的工具。此howto提供了该程序的一些提示。请注意,根据此 Wikipedia 条目,nsupdate 仅受 BIND 8 及更高版本支持。

对于第三点,你提到的方法是一种可能的解决方案。它的优点是不需要以更改服务器配置文件所需的权限运行脚本,只需在您可以选择的某个位置创建目录所需的权限即可。

于 2013-10-27T10:50:55.950 回答