1

クライアントが入力したドメインに基づいて、クライアント用に新しい Web サイトを動的に作成する方法を探しています。次のことが可能かどうか疑問に思います。

  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 } ?>

2点目として、nsupdateというツールがあります。このハウツーは、そのプログラムに関するいくつかのヒントを提供します。このウィキペディアのエントリによると、nsupdate は BIND 8 以降でのみサポートされていることに注意してください。

3点目については、ご指摘の方法が考えられる解決策です。サーバー構成ファイルを変更するために必要なアクセス許可でスクリプトを実行する必要がなく、選択できる場所にディレクトリを作成するために必要なアクセス許可だけが必要であるという利点があります。

于 2013-10-27T10:50:55.950 に答える