3

Symfony2の上にSaaSCMSを構築します(Symfony2が間違った方法だと思われる場合は、回答してください)。多くのお客様がいて、次のアーキテクチャでCMSを作成したいと考えています。

200以上の顧客(Webサイト)があり、すべての顧客がグローバルCMSを共有する必要があるとします(すべての顧客が最新バージョンを持っています)。さらに、すべての顧客は、顧客自身のデータを含む独自のデータベースを持っている必要があります。この場合、CMSコアには、顧客データベースなどに関する情報を含むマスターデータベースが必要です。私のアプローチは、すべての顧客がapacheに独自のvHostを持ち、すべての顧客が1つのCMSコアを共有するマルチサイトアーキテクチャを構築することです。

/var/www/cust001/ -> CMS customer 1
/var/www/cust002/ -> CMS customer 2
...

これらのフォルダは、すべての顧客のテンプレート、css、画像などが保存されるパブリックhtml領域です。CMS自体はパブリックエリア内にはあり/var/cms/ません。たとえば、apache2サーバーにあり、apache2サーバーでは利用できません。お客様の仮想ホストに、CMSコアのフロントコントローラーへのシンボリックリンクが必要ですか?すべての顧客の仮想ホストは、次のようないくつかのドメインを通じて利用可能である必要があります

cust1 -> cust001.mycompany.com, alias www.customerdomain.com ...
cust2 -> cust002.mycompany.com, alias www.customer2domain.com ...
...

さらに、すべての顧客は、仮想ホストでコアCMS(Webショップ、ゲストブックなど)を拡張するためのSymfony2バンドル(プラグイン)を使用できる必要があります。

このアプローチはSymfony2で実装することは可能ですか?vhostドメインをフロントコントローラーにルーティングし、正しいデータベースを選択するための最良の方法は何ですか?Symfony2のダイナミックルート(ウェブサイトページリクエスト)はどのように管理されていますか?いくつかの代替アプローチはありますか?

4

1 に答える 1

2

それは良い考えだと思いますが、賢い人々は両方向に選択をしました:

アポストロフィCMS(私の選択したCMS)を構築するPunk'Aveチームは、発表で詳述されている理由により、sf2ではなくsf1からnode.jsに移行することを選択しました:AKBUfjzwJ"> https://groups.google.com/d/ msg / apostrophenow / d-g1P6chsm8 / l_AKBUfjzwJ

アポストロフィには、apostrophenow.comで非常に優れた優れたSAASCMSソリューションがあります。

ただし、EzPublishチームはSymfony 2を採用しました。これは、MultiSiteまたはMultiTenancyをサポートすると私が信じているCMSであり、Drupal8もいくつかのSf2コンポーネントを使用します。

Symfony 2のルーティング機能は非常に堅牢ですが、すべての低レベルの質問に答えるための特定のリンクはありません。

于 2012-12-19T18:24:23.370 に答える