web-dev-qa-db-ja.com

Drupalサイトを10〜15年の期間にわたって維持する方法/戦略は何ですか?

DrupalをPHPプログラミングフレームワークとして(CMSとしてだけでなく)使用し始めました。その結果、Drupal(6または7)で多くのプロジェクトが実行されています。

通常、2〜3年後にプロジェクトが終了し、そのプロジェクトではそれ以上の開発は行われません。次に、そのプロジェクトをメンテナンスモードまたは休止モードにします。

問題は、プロジェクトの終わりに、プロジェクトをたとえば10年間以上アクティブに維持する(たとえば、セキュリティ修正のためにモジュール/コアを更新する)ための資金がほとんど残っていないことです。また、プロジェクトのメンテナンス費用を請求する方法はありません(これは悲しい事実です)。

したがって、Drupalサイト安全にを維持する方法について、少なくとも10年間は​​ブレインストーミングを行っていました。

いくつかのアイデアは:

  1. いくつかのツールを使用して、Drupalサイト全体を一連の静的ページに変換します(これにより、Drupalのインタラクティブな機能の多くが破損する可能性があります)
  2. MySQLデータベースへの書き込みアクセスをロックダウンする
  3. 仮想マシンで休止状態のDrupalベースのサイトを実行する
  4. ログイン機能を含むDrupalサイトのすべての入力フィールドをブロックします(つまり、すべてのコンテンツを公開します)

また、次のような事態が発生する可能性があると10年の期間に予想されます。

  • サーバーのハードウェアがアップグレードされている可能性があります
  • 新しいPHPバージョンがインストールされる可能性があります
  • 新しいMySQLデータベースがインストールされている可能性があります
  • サーバーのOSがベンダーによってセキュリティ更新プログラムでサポートされていない可能性があります
  • 特定のDrupalモジュールはサポートされていないか、他のモジュールによって非推奨になる可能性があります
  • 最悪の場合、必要なPHPまたはMySQLバージョン自体がコミュニティでサポートされない可能性があります

非常に長期間にわたって休止状態のDrupalサイトを安全に維持する(つまり、稼働させ続ける)方法/戦略は何ですか?

4

あなたが言及したように、Drupalにはメンテナンスが必要になる可能性があるため、戦略はremoveにする必要があります。要件内で可能な限り多くの依存関係。

Drupalサイトがコンテンツを作成、更新、または削除できる動的システムとして継続する必要がない場合は、MySQLとPHP静的ファイルの生成Drupal http://drupal.org/node/27882 のサイトの静的アーカイブを作成するための優れたドキュメントがあります。

サイトを「メンテナンスモードまたは休止モード」にすることを説明したので、静的なソリ​​ューションが最適だと思います。

サイトを継続的に機能的に使用する必要がある場合は、サイトをマネージドソリューションに移行することを検討してください。マネージドホスティングプロバイダーはWebサーバーとデータベースサーバーを管理できますが、Drupalコードをさらに管理するには、 http://drupalgardens.com のようなサービスを検討できます。 。

6
bjeavons

この質問は少しばかげています。 Drupalそれ自体はわずか10年前です-どれくらいの数Drupal 1つのサイトがまだ実行されていますか?現在実行中のサイトの数PHP 1.0( 1995年にリリース、1997年に2. )?PHP 1996年に1.0を実行しているホスティングプロバイダーは、現在も稼働しており、放棄されたプロジェクトに忠実に対応していますまだ興味のある人にアップグレードされていないハードウェアとソフトウェアで?

インターネットは静的ではありません。また、インターネットが稼働するテクノロジーも同じです。 1996年に放棄されたサイトを見つける最善の策は、インターネットアーカイブウェイバックマシンを http://web.archive.org で使用することです。

すべてをHTMLに完全にエクスポートして静的に保つように指示しますが、これでも保証はありません((firstApache HTTP server was 1996年に1歳のみ )。

3
jhedstrom

DBレイヤーに関しては、MySQLをアップグレードして、現在のテクノロジーに対応する必要があります。

MySQL DBAとして、MySQLはOracleがプッシュできるのと同じくらい速く変化するのを見ることができます。 MySQL 5.0はEOLに達し、MySQL 5.1も間もなく登場します。最新リリースのMySQLのサポートが常に存在するようにする必要があります。もちろん、あなたは頼りになるMySQLコミュニティを持っています。また、MySQLのタイトで高速な実行とパフォーマンスブラインドバイナリを作成するPerconaもあります。 3.23.58までのすべてのMySQLをサポートする新興企業SkySQLさえあります。

別の開発サーバーを使用してMySQLのアップグレードパスを継続し、MySQLアップグレードに対してDrupalの機能をテストします。完了したら、「本番」休止状態のMySQL for Drupalをアップグレードします。

1
RolandoMySQLDBA

サイトをクラウドサーバーに移行してから、server + OS + Drupal_stack + entire_site全体をファイルに書き込みませんか。クラウドサーバーとして、すべてがとにかく仮想であるので、すべてのソフトウェア、OS、およびその他すべてに依存するすべてのバージョンは、Niceシュリンクラップされた、永久に実行可能なファイルにラップされます。 「新しいユーザー」は、サイトのプライベートインスタンスを持つことができます。プライベートインスタンスはいつでも元の/公式のバックアップの新しいインスタンスに戻ることができるため、サイトの好きなことを実行できます。 「元のユーザーデータ」と「現在のユーザーデータ」を含むバージョンのサイトを作成できます。これは、サイトが保持しているデータ(10〜15年後)によっては興味深い場合があります。

1
Blake Senftner

実際、これを自動的に行う安全な方法はありません...

bjeavonsはサイトを静的に保つための良い方法を公開しましたが、通常の環境でサイトを完全に機能させ続けるつもりなら、確かに、最善の方法は、環境をそのままにして「フリーズ」し、サイトを機能させることです10年以上。サーバーに変更を加える場合は、サイトの機能に影響を及ぼさないようにする必要があります。影響がある場合は、アクションプランを作成する必要があります。これは別のサーバーレイヤーを作成することでのみ可能であり、適用する前にそこにあるすべてをテストする必要があります。完全に機能することを保証する生産で。

0
lnunesbr