ランプ(debian、apache、php、mysql)サーバーでDrupal Multisite環境を実行しています。Drupal:プロジェクト終了後にサイトドメインを切り替えるベストプラクティス
新しいプロジェクトのための私の現在のワークフローは次のとおりです。
- はBecoseの
- (のプロジェクトはfoo.comなりましょう、私はfoo.example.comをアクティブに)私の会社のサイト上でサブドメインを有効にしますPleskの(つまり、非友好的なビットDrupalのです)私のステップは以下のとおりです。
- は、データベースをhttpdocs
- 削除フォルダ、Rを作成
- のFastCGIモードでPHPが動作して、Pleskの中で新しいサブドメインを作成します。 (通常はドメインごとにカスタマイズされること)
- をフォルダ作ります
/var/www/vhosts/drupal
フォルダ(Drupalのコードベース)サイトとTMPフォルダのexcapt、robots.txtのにすべてのファイルへのsimbolicのリンクを作成し、ファイルを.htaccesそれをecreateとサイトが - を(drush はcrontabのように、いくつかのマルチサイトタスクにすべてのドメインを見るようにするために)
/var/www/vhosts/drupal/sites/foo.example.com
に当時sites/foo.com
からシンボリックリンクを/var/www/vhosts/drupal/sites/all
フォルダにフォルダfoo.example.com
sites
内部に、シンボリックリンクを作成し、インストールし、サブドメインにdrupalを設定して、プロジェクトを完了するために必要なすべて
この時点で、私はサブドメインから最終ドメインfoo.comにプロジェクトを切り替える必要があります。これは私のサーバーにも存在します。
私はドメインリダイレクトのような他のハックのようなものはありません。私は最終的なプロジェクトを「クリーン」にしたいと思います(についてははマルチサイト環境で意味します)。
実際に私は、これらのステップを実行します。
- (Pleskの経由)ドメインおよびデータベースの作成を。
- コピーdrupalの、変更webiste情報、およびファイルシステムのパスに、ドメインの所有者とグループ
- ログインを一致させるをhttpdocsの完全なドメインをhttpdocsにサブドメインをhttpdocs(
cp -a /var/www/vhosts/example.com/subdomains/foo/httpdocs /var/www/vhosts/foo.com/httpdocs
) - 所有者とグループを変更。
これは私が欲しいことをさせてくれるが、ノードのHTMLコンテンツに問題がある。 (IMCEが相対パスを使用するように設定されていても)/sites/foo.com/files/[...]
ではなく/sites/foo.example.com/files/[...]
を指します。これはcckファイルフィールドでも起こります。
私が言ったように、私はクリーンソリューションを必要とする、私は/sites/foo.example.com
から/sites/foo.com
へのシンボリックリンクを作ることができます知っているが、私は本当にこの方法のようにいけません。
はこれまでのところ、私は/検索データベースSQLダンプにすべてのoccourrenceを置き換えるためにしようと試み:
sed 's/foo.example.com/foo.com/g' dump.sql > foo.com.sql
しかし、このブレーキ代に思えます。私はDBエクスポート/インポートの前後にすべてのキャッシュをクリアしたとしても、キャッシュのunserializeステップでboostrapファイルに多くのエラーが発生し、いくつかのutf-8エンコーディングが壊れているように見えます。
私は、ローカルサーバー上で開発領域を設定するのが最も良いことを知っていますが、私の顧客は外部からアクセスする必要があります。私たちのadsl状況(静的IPなど)は少し有線です。
PS:私の悪い英語のため申し訳ありませんが、私の質問はenought私が知っていると私はより多くの詳細を提供します明確でない場合)
SQLダンプをエディタで開くと、私のダンプは〜20Mb程度になります。エディタを使用すると、軽量化が難しくなります。 – Strae
FWIW、NP ++は大きなSQLダンプを処理します。私は最近20Mbのファイルを編集しました。私ははるかに大きなファイルを扱っていると確信しています。構文強調表示を無効にすると便利です。 – mpdonadio
また、SQLを使用してデータベース内のデータを更新することもできます。 PLESKを使用しているので、私はPhpMyAdminにすべてのテーブルを一度に検索するツールがあると仮定します。 – Ted