サーバー上でシンボリックリンクを使用してWebルートを適切なディレクトリにポイントすることは、古くからの技術です。Gitリポジトリにわかりやすい名前を付けたとしましょう:clientsite.comなので、そのフォルダー内には次のようになります。
- 。ギット
- システム
- 第三者
- テンプレート
- web_root
- 資産
- テーマ
- index.php
- admin.php
そのフォルダーは、ステージング/本番サーバーにアップロードされます。次に、ステージングサーバーで、public_htmlという名前のweb_rootへのシンボリックリンクを作成します。
ln -s clientsite.com/web_root public_html
次に、本番サーバーで、contentという名前のweb_rootへのシンボリックリンクを作成します。
ln -s clientsite.com/web_root content
さて、これについて素晴らしいのは、あなたが非常に賢くてMSMを使用している場合、そのEEインストールのすべてのドメインにweb_rootを使用してそれにシンボリックリンクを作成できるconfig.phpファイルとindex.phpファイルを作成できることですサイトごとに。例えば:
ln -s clientsite.com/web_root siteone_html
ln -s clientsite.com/web_root sitetwo_html
次に、index.phpで、HTTP_HOSTサーバー構成を調べてsite_nameを設定します。
switch ( $_SERVER['HTTP_HOST'] ) {
case 'siteone.com' :
case 'dev.siteone.com' :
$assign_to_config['site_name'] = 'siteone';
break;
case 'sitetwo.com' :
case 'dev.sitetwo.com' :
$assign_to_config['site_name'] = 'site two';
break;
}
最後に、config.phpは非常によく似た処理を実行できます。
$config['site_index'] = "";
$config['site_url'] = "http://".$_SERVER['HTTP_HOST'];
$config['server_path'] = $_SERVER['DOCUMENT_ROOT'];
$config['cp_url'] = $config['site_url']."/".$config['system_folder'].'/index.php';
....stuff here...
switch ( $_SERVER['HTTP_HOST'] ) {
// production
case 'siteone.com' :
$config['cookie_domain'] = ".siteone.com";
$db['expressionengine']['hostname'] = "111.222.111.22";
$db['expressionengine']['username'] = "siteone";
$db['expressionengine']['password'] = "passone";
$db['expressionengine']['database'] = "database_live";
$db['expressionengine']['db_debug'] = FALSE;
break;
// staging
case 'dev.siteone.com' :
$config['cookie_domain'] = "dev.siteone.com";
$db['expressionengine']['hostname'] = "333.444.555.22";
$db['expressionengine']['username'] = "siteone";
$db['expressionengine']['password'] = "passone";
$db['expressionengine']['database'] = "database_dev";
$db['expressionengine']['db_debug'] = FALSE;
break;
}
このようにして、グローバル構成オプションを設定してから、サイト固有のオプションを設定することもできます。