是否可以使用PHP代码在Linux上配置新域?

时间:2013-10-27 10:21:34

标签: php

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

  1. 通过输入
  2. 获取新域名
  3. 将新域添加到dns服务(bind或tinydns)
  4. 向apache添加新的虚拟主机
  5. 我想对于3号我可以使用http://httpd.apache.org/docs/2.2/vhosts/mass.html,这也有助于避免重新启动Apache服务。我不确定我应该如何使用甚至可以使用PHP来完成所有这些操作?也许我可以做shell_exec并运行一个bashscript?

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

1 个答案:

答案 0 :(得分: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的工具。 This howto为该计划提供了一些提示。请注意,根据this Wikipedia entry,nsupdate仅受BIND 8及更高版本支持。

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