私は、クライアントが自分のドメインを使用できる必要があるマルチサイト アプリケーションを構築しています (単なるサブドメインとは対照的に)。それについてのさまざまな方法と、クライアントが外部で電子メールホスティングを処理したい場合/場合に、両端でどのような構成が必要かを知りたい.
lxadmin/hypervm への参照も役立ちます。tx~
編集: Apacheを実行しています。SSL 要件はありません。
apacheディレクトリにサブディレクトリを作成することをお勧めしconf
ます。のようなものconf/user-domains
。そのディレクトリ内の各ファイルには、などのユーザーのドメインのような名前が付けられ、userdomain.com
そのサブドメインのapacheディレクティブが含まれます。(頭のてっぺんから)のようなもの:
<VirtualHost *:80>
ServerName userdomain.com
DocumentRoot "/path/to/userdomain.com/htmldocs/"
</VirtualHost>
ユーザーがこれらのドメインを作成するためのWebインターフェイスがあるとすると、ユーザーの設定を含むファイルが、などの既知の場所に保存され$webtmp/userrequests/request-XXXYYZ
ます。次に、その場所をスキャンして新しいリクエストを探し、に一致するファイルを作成するcronジョブがありますconf/user-domains
。
ああ、お願いします。ユーザーからの入力を構成ファイルにコピーするだけではありません。これは、サーバーを乗っ取るのに最適な方法です。最初にそれをチェックし、それが合法である場合はそれを汚染しないでください。conf/user-domains
(さらに、ユーザーに書き込み専用アクセスを許可しfakedaemonuser
、そのユーザーとしてcronジョブを実行することをお勧めします。)
編集:あなたに言うのを忘れました、あなたはapacheのメイン設定ファイルにディレクティブを追加する必要があります(http.conf
通常):
Include conf/user-domains/*.conf
もちろん、これは、作成するすべてのファイルがでconf/user-domain/
終わることを前提としています.conf
。
これは、wordpress.com のブログの仕組みに似ています。xyz.wordpress.com は www.xyz.com にマッピングできます。
Wordpress MU には同じ機能があり、それを行うためのプラグインがあります。このリンクは、いくつかのアイデアを提供します。
基本的に、クライアントが自分のドメインを自分のサイト (サブドメイン) にマップするように要求するたびに、アドオン ドメインを追加し、ネーム サーバーの詳細をユーザーに提供すると思います。それらが設定されると、リダイレクトが機能するはずです。有用なリンクが見つかったら、さらに追加します。