web-dev-qa-db-ja.com

エクスポート/展開Drupalサイト/ページを静的に?(キャッシュなし)

この件で役立つ既存のモジュールはあるのでしょうか。キャッシュモジュール(BoostやVarnishなど)ではなく、サイト全体(または特定のページのみ)を静的にエクスポートする方法を探しています。アイデアは、私のWebサーバーが非常にシンプルで軽量で、静的ファイル(html/css/js)のみを提供することです。本番環境にデータベースはなく、サーバーにphpエンジンはインストールされません。すべてのDrupalエンジンは別のサーバー上にあり、ノードまたはビューを追加/編集/変更するたびにエクスポートが実行され、新しいhtmlファイルのセットがディレクトリ構造に作成されます。これらのファイルは後で、常に静的ファイルのみを提供する本番サイトにコピーされます。ファイルが存在するかどうかなどのリクエストをチェックする.htaccessはありません。

そのためのモジュール、またはこれがDrupalで実現できる回避策はありますか?

ありがとう

12
Maor Barazany

私は HTTrack を使用します。また、drupal.orgにこの記事があります: Drupalサイト の静的アーカイブを作成する)==。

5
tostinni

新しいDrupalこの機能を提供する7モジュールは Static Generator です。

Static Generator:

静的モジュールは、すべてのjs、css、画像、その他のアセットを含むHTML形式でWebサイトの完全なコピーを生成します。次に、これを転送して、PHP、MySQL、またはmemcacheを使用しない単純なWebサーバーからWebサイトを実行できます。

メリット:

  • パフォーマンス:PHP、Mysqlなどは、一般向けサイトでは使用できません。すべてが静的ファイルであるため、非常に迅速に提供されます。
  • セキュリティ:サイトの静的バージョンには、データベース、ユーザーアカウント、またはその他の形式のユーザー操作(サードパーティの統合を除く)がないため、より安全です。
  • 信頼性:通常の障害点のほとんどはなくなりました。 PHP、MySQL、memcache、ワニスなどは、静的サイトの一部ではなくなりました。

制限:

データベースがない、またはPHP Webサイトの背後にあるため、それを必要とする機能は使用できません。サードパーティのライブラリは、必要な機能のほとんどを埋めることができます。

使用できないパーツは次のとおりです。

  • ビューフィルターなし
  • Drupalコメント
  • Drupal検索。
  • いいえdrupalフォーム。
  • コンテキストなし(モジュールではない)-JavaScriptで変更しない限り、ユーザーに基づいてページのコンテンツを変更することはできません。
  • Ajaxコールバックなし(事前に生成されたGETリクエストを除く)

ページャーは、それらがhook_preprocess_pagerを介して渡される限り機能します。

2
WaQaR Ali

GNU wget は、サイトのページをダウンロードしてローカルに保存できるWWWクライアントです。 -rオプションを使用して、ページを再帰的にダウンロードします(つまり、現在のページにある同じサイトのページへのリンクをたどります)。絶対URLを相対URLに変換することもできます(-kオプションを使用)。

1
Oswald

私は似たようなものを探しています。私はモジュールを検索して次のオプションを見つけましたが、まだどちらも調べていません。

私たちのサイトでは、CDNサービスを提供するS3または別の静的ファイルを使用したいので、次のようなものが役立つ可能性があります。

別の考えは、 boost のようなキャッシングフレームワークを活用し、ファイルをキャッシュするときに、ファイルをプロダクションにプッシュするために何かを追加することが可能である可能性があるということです。

0
rjmunro

あなたはモジュール Wget Static-HTMLを生成してFTP/Webdavに保存 を使うことができます。事実、私はあなたがちょうど上で議論したのと同じアーキテクチャも展開しました。

静的HTML生成用のコンテンツを選択できます。これは、クエリパラメーターを使用してバイパスすることもできます。次に、WGETアプリケーションを使用して静的html生成を実行する部分が続きます。このWget静的モジュールは、静的データ生成に必要なすべてのオプションをほぼカバーしています。

これだけでなく、最終的には生成された静的htmlをダウンロードする以外に、FTPサーバーまたはに保存するオプションがありますWebdavサーバー。これも2要素認証をサポートしています。

0
user50407