web-dev-qa-db-ja.com

サブドメイン(xyz.serverfault.com)の作成を自動化する

サブドメインの作成を自動化するための最良の方法は何ですか( Basecamp など)?

私の要件は、ユーザーがページからサブドメインを要求し、ビジネスロジックからサブドメインを作成するBasecampにいくぶん似ています。

何かのようなもの - alt text

2
Quintin Par

当サイトでも同様の手法を採用しています。私たちのサーバーは、Linux上でApache、MySQL、およびPHPを実行します。

DNSレコードには、すでに提案されているEKのようなサブドメインワイルドカードエントリが含まれています。

www                      IN A       123.456.789.012
*                        IN CNAME   www

これにより、x.y.yourdomain.comへのすべてのリクエストがwww.yourdomain.comと同じIPにリダイレクトされます。サブドメインのサブドメインを持つことも可能です。

Perlはわかりませんが、PHPでは、次のようにいつでもホスト名にアクセスできます。

$_SERVER['HTTP_Host']

Perlには、HTTPリクエストのホストヘッダーにアクセスするための同等のものがあると確信しています。この目的のために、中央のPHPスクリプトファイルを使用します。

編集:これらのドメインの処理に関する詳細を提供するための時間が見つかりました。

サブドメイン全体を主キーとしてデータベースに保存できます。これにより、ユーザーが入力したドメインが一意であることが保証されます。この情報を使用して、ユーザーの登録時の可用性チェックを行うこともできます。

あなたのアプリケーションは、ユーザーIDまたはこのようなsommethingを介して複数のユーザーを処理できると思います。このユーザーIDをサブドメインと一緒にデータベースに保存するだけです。これで、HTTP-Hostヘッダーを介して送信された現在のドメインでいつでもユーザーIDを検索できます。

7
Zim

* .yourdomain.comのドメインにワイルドカードを設定します。次に、コードでは、使用されているサーバー名がヘッダーにあります。それを読んで、カスタマイズされたコンテンツを提供するか、必要に応じてサブフォルダーにリダイレクトします。

4
JamesRyan