ドメイン A とドメイン B に使用される Symfony2 コアがあります。ただし、コアを更新する場合は、2 回更新する必要があります。1 つのコアのみを構成する方法がわからないためです。 /データベース。
提案?
「web」ディレクトリのコピーを各ドメインの「public_html」フォルダに作成します (Linux で Apache を実行していると仮定します)。
この「web」ディレクトリには、サイトのフロント コントローラー (app.php および app_dev.php) が含まれており、それらを見つけて、お気に入りのテキスト エディターで編集します。次の行を見つけます。
require_once __DIR__.'/../app/bootstrap.php.cache';
require_once __DIR__.'/../app/AppKernel.php';
ルートをコアが配置されている実際の相対パスに変更します。それは次のようなものかもしれません:
require_once __DIR__.'/../the_core_is_here/app/bootstrap.php.cache';
require_once __DIR__.'/../the_core_is_here/app/AppKernel.php';
これは柔軟で、好きなように編成できますが、この 2 行に正しいパスがあることを確認してください。
HTML に含めるすべてのアセット (JS、CSS、画像など) は、フロント コントローラーの場所に対して相対的であるため、それらが存在するかコピーするドメイン名の完全な URL を使用してそれらをリンクする必要があることに注意してください。それらも B ドメインに送信するか、assetic を使用します
最後に、次のようなものになります。
/
.. home
.. .. DOMAINA
.. .. .. public_html
.. .. .. .. app.php
.. .. .. .. img
.. .. .. .. .. image.png
.. .. DOMAINB
.. .. .. public_html
.. .. .. .. app.php
.. .. .. .. img
.. .. .. .. .. image.png
.. .. the_core_is_here
.. .. .. app
.. .. .. src
.. .. .. bin
.. .. .. vendor
これで、アプリケーションに 2 つのエントリ ポイントができました。それぞれに異なる CSS と画像を配置して、異なる外観を与えることもできます。
おそらく、 Capifonyruby
を使用してみることができます。これは、アプリケーション用に記述されたデプロイメントスクリプトですSymfony
。私はあなたが達成しようとしているようなセットアップを行っていませんが、ステージングサーバーと本番サーバーの両方を展開するためにそれを使用しています。アプリケーションのさまざまなインスタンスを1つのサーバー(たとえば、さまざまなディレクトリ)または複数のサーバーにデプロイするように設定できます。
それらが正しくセットアップされたら、デプロイは入力するだけです。
cap server1 deploy
cap server2 deploy
コマンドを実行するたびにcapifony
、リポジトリから最新のコード(例:git)をプルし、デプロイします。ボーナスとして、以前の状態に戻す必要がある場合に備えて、古いバージョンのアプリケーションもサーバーに保存されます。
概要を説明するためのサンプルcapifony構成スクリプトを次に示します。
# deploy.rb
set :application, "My App"
set :deploy_to, "/var/www/my-app.com"
set :domain, "my-app.com"
set :scm, :git
set :repository, "ssh-gitrepo-domain.com:/path/to/repo.git"
role :web, domain
role :app, domain
role :db, domain, :primary => true
set :use_sudo, false
set :keep_releases, 3
また、のマルチステージ拡張機能を使用して、ドメインごとに異なる構成スクリプトを作成できますcapifony
。