私は製薬業界向けのサイトを運営する会社で働きました。私たちは、変更内容を公開する前に法的な承認を得なければならないことがよくあります。ですから、多くの作業をCMS環境、特にWordPressに移行したいのですが、ステージング環境を持つ必要があります。ページを公開するのではなく、誰かがサイトとしてリンクを参照できるようにステージング環境に公開することは可能ですか?だから基本的に2つのサイト、1つのライブをステージングしている?Wordpressのステージング環境
答えて
一般的に言えば、上記の「回答」は正しいですが、ステージング環境のサポートと移行の組み込みをサポートするWordPressの代替手段があります。しかし、提案された選択肢は、Wordpressプラットフォームと全く同じではありませんので、代わりにその質問に答えるのが最善だと思います。
Wordpressは、2つの異なるホストから同じサイトをホストすることをネイティブにサポートしていません。コアは、データベース内に格納された絶対URLに依存し、コアロジックのほぼすべての側面で使用されます。その結果、SSLアクセスに関連する500ほどの不必要なバグが発生します。これは、すべてのhttp://スキームを即座にhttps://に変更しようとするためです。
dev.example.comでホストし、staging.example.comに移行し、再びwww.example.comに移行すると、スイッチを切り替えるたびにデータベースのエクスポートに対する操作が非常に慎重に行われなければなりません。&ホスト。そして、これは、多くの一般的なWordPressのプラグインがurlをデータベースの値にシリアル化することがわかったときに、追加の問題を引き起こします。したがって、&を検索すると、dev.example.comをstaging.example.comに置き換えると、元の値の文字長を含むシリアル化されたデータは、新しい長い形式でデシリアライズされなくなります。いくつかの中核的な貢献者は、この後の問題に対する解決策は、プロダクションアカウントと同じ文字数のステージングサイトを設定することだけだと考えています...彼らはまた、ホスト・マッピングを交換し、唯一のこれまでのすべてのホスティング環境にproduction.comのURLを使用することをお勧め類似した静脈で
。あなたの特定のユースケースの要件に応じて、これはおそらく有効な解決策ではありません。非常に適応力があり強力な迅速な開発プラットフォームです。その結果、コアフレームワークを拡張して、必要なものの多くを実行できます。私がこのような状況を提示されたとき、私はあらゆる状況で実行可能なソリューションを開発しなければなりませんでした。伝統的にこの問題はルート相対URLで解決され、彼らは、クロスホスティング環境で作業し、彼らがステージング移行と共通しているスキームの変更、ポートの変更またはサブドメインスワップ慣行に悩まされません。このプラグインで
:http://wordpress.org/extend/plugins/root-relative-urls/ は(?。バイアスはい、私はこのプラグインを書いた)あなたはそれが重要だルート相対URLを取得して、動的ホストどこルート相対URLは(RSSフィードのように。)動作しないすべてのことサイトの移行とは別のホストに残っているのwwwルート外のwp-config.phpファイルを移動することです(1つの上のレベルアップがワードプレスでネイティブにサポートされています。)ので、あなたは、異なるサーバー上の別のコピーを維持することができます。あるいは、基本的なif文を使用して、サーバ名でホストを区別し、サーバに基づいてキーワードプレス定数を定義することができます。最後にあなたのコンテンツ、コード&はシームレスに移行します。懸念の注意点としては
、参照先のプラグインは、製造または公にアクセス可能なサーバのセキュリティの観点から、非常に悪い習慣をWP-config.phpファイルへの書き込みアクセスを設定する必要があります。おそらく、これを制限されたステージング環境で快適に実装できますが、プロダクション移行時にプラグインを無効にして削除する必要があります。
かいつまんで、はい、あなたは、複数のホスト環境でのワードプレスをホストすることができます。長期にわたるソリューションは、コアアーキテクチャーのために、非常にケース固有でオプションが制限されています。しかし、その枠組みは中核的な赤字を克服するのに十分柔軟である。コア設計者の決定は、コア開発者がカスケード問題を克服するために継続的に費やす労力の大きさを考えると、将来、ある時点で変更される可能性があります。しかし、当時の慣行を維持する絶対的な宗教の敬虔な擁護者もいます。おそらく、サーバー移行をネイティブにサポートする別のプラットフォーム(ほとんどの場合は、そのいずれかを選択する)は、現在、より良い選択肢となります。 https://de.wordpress.org/plugins/wp-staging/
開示::
Greg、 ステージング環境を備えたさらに優れたCMSは、Silverstripe(silverstripe.org)です。このCMSを使用すると、ステージングサイト全体を参照できます。
これは可能です:このGithub Gistを見て、wp-config.phpファイルで環境を切り替える方法の例を見てください。さらに、wordpress.stackexchangeを見て、これに関する他のいくつかのQを見て、あなたが考慮すべきものをより深く見てみましょう。
WPを使用する必要があり、ステージングサイトからライブサイトに1ページまたは複数のページのみを公開する必要がある場合、公開する必要のあるページ(ライブサイト訪問者に表示される)にタグの種類を実装しないでください。テンプレートを簡単に調整して、タグ付きのページを表示するかどうかを確認してください。その後、1つのサイトのみを使用して、公開されているページと承認されていないページの両方を維持することができます。
あなたのサイト(ステージ)のローカルコピーを維持することもできますし、あなたのホストに(全体で)アップロードするためのスクリプトをいくつか用意しておくと、簡単にタスクを自動化できます。そのような場合は、サイト全体をHTMLページにレンダリングし、このHTMLをホスティングにアップロードする(シンプルなrsync)ことを検討することをお勧めします。ライブサイトは動的スクリプトが存在しないため、壊れにくいでしょう。
しかし、おそらくWPを選択しないでください。 write-approve-publishスキームをサポートする多くのCMSがあります。
私はあなたがいくつかのプラグインを使用しようとすることができると思います。 たとえば、公式のWordPressプラグインレポでの高速検索wp-deployまたはDev and Staging Environment Plugin(おそらく古く)。
代わりに、別のwp-config.phpファイルを使用することもできます(プロダクション用と開発環境用)。また、要求されたURLを確認して切り替えることもできます。
あなたは、このプラグインの助けを借りて、わずか2クリックでWordPressのステージング環境を作成することができ、私はこのプラグインの作者です。だから私にそれについて何か質問してください。
- 1. ステージング環境設定
- 2. CMSのステージング環境のアーキテクチャ
- 3. localhost +ステージング+運用環境?
- 4. 標準環境の命名、ステージング、生産
- 5. ワークフローにステージング環境を追加する
- 6. 複数のクライアント(サブフォルダまたはサブドメイン)のステージング環境
- 7. レールのステージング環境をパスワードで保護する
- 8. ローカル、ステージング、本番環境(EngineYard)の展開ワークフロー
- 9. 複数のデプロイメント環境(プロダクション/ステージング/ etc)とFacebookアプリケーション
- 10. SignalRハブを使用したAzureステージング/プロダクション環境のスワッピング
- 11. WAMPローカル環境用のWordpressセットアップ
- 12. 外部ホスティングサイトでステージング環境をセットアップしますか?
- 13. ステージング環境用にmailling URLを変更する方法
- 14. Solr DataImport:さまざまな環境(開発/ステージング/プロダクション)のコンフィグレーションの管理
- 15. ステージング環境でコードホスティングがどのように機能するのですか
- 16. 、クライアントサーバー環境では、クライアント・サーバ環境
- 17. Rの環境
- 18. Sitecoreの環境
- 19. 開発とライブ環境でWordpressブログを管理する
- 20. Wordpressで環境変数を使用するwp-config
- 21. サーバ環境
- 22. GHCi環境ダンプ
- 23. ベアボーンズJVM環境
- 24. Aptanaチーム環境?
- 25. エラーローカル環境で
- 26. VoIPテスト環境
- 27. mysqldb環境
- 28. 環境設定
- 29. ハドソン環境
- 30. サプリーと環境
私はこれに同意します。 Silverstripeは優れたCMSであり、Webサイトを作成している場合は、ブログのソフトウェアではなくCMSを使用する必要があります。 – Bendihossan