マニュアル目次 > サーバーの準備(導入担当者向け)

インストールと配置

サイトを構築する担当者が、最初に一度だけ行う作業です。

動作要件

項目要件
baserCMS5系
PHP8.1 以上
cron必須。設定できないサーバーでは運用できません
外部ライブラリ不要。ローカル公開だけならシェル実行も不要です

インストール

  1. プラグインを配置する

    plugins/HatStaticEngine/ にファイル一式を置きます。

  2. 管理画面からインストールする

    「システム」>「プラグイン管理」で HatStaticEngine を見つけ、インストールします。データベースのテーブルとアクセス権限が作られます。

  3. 左メニューを確認する

    「静的HTMLジェネレーター」が出ていれば成功です。出ない場合はキャッシュを削除してください。

    bin/cake cache clear_all

2つのディレクトリを決める

このプラグインは「書き出し先」と「公開先」の2つを使います。役割が違うので、必ず別の場所にしてください。

ディレクトリ要件
書き出し先一時生成先パス 公開ディレクトリ(webroot)の外に置きます。
初期値は (baserCMSのルート)/static/staging です。特に理由がなければこのままで構いません。
Web から直接アクセスできる場所に置くと、作りかけのページが閲覧者に見えてしまいます。設定画面で webroot の内側を指定すると警告が出ます。
PHPの実行ユーザーが書き込めること。
公開先公開先パス 閲覧者が実際に見るディレクトリです。Webサーバーのドキュメントルートとして設定します。
このプラグイン専用にしてください。他の用途と共有すると、「公開先の余分なファイルを削除する」で他のファイルまで消えます。
PHPの実行ユーザーが書き込めること。
書き出し先と公開先を同じ場所・入れ子の関係にしないでください。 公開処理は「書き出し先の内容が正しい状態」とみなして公開先を上書き・削除します。重なっていると保存できません(エラーになります)。

構成のパターン

A. 同じサーバー内で公開する

いちばん簡単な構成です。公開方式は「ローカル」を選びます。CMSと静的サイトを別のドメイン(またはサブドメイン)で運用し、CMS側にはBasic認証やIP制限をかけるのが一般的です。

/var/www/cms/          … baserCMS 本体(管理者だけがアクセス)
/var/www/cms/static/staging/   … 書き出し先(Webから見えない)
/var/www/public/       … 公開先(閲覧者がアクセス)

B. 別サーバーへ配信する

公開方式は「rsync」を選びます。CMSを社内やクローズドな環境に置いたまま、公開サイトだけを外部のサーバーへ送れます。設定は 別サーバーへの配信 を参照してください。

公開先のWebサーバー設定

項目内容
インデックスファイル index.html を返すようにしてください。ディレクトリ形式のURL(/news/)はこの設定で解決されます。
PHP 公開先ではPHPを動かす必要はありません。むしろ動かさないほうが安全です。
.htaccess baserCMS 用の .htaccess をそのまま持って行くと壊れます。静的サイト用のものを別に用意し、静的ファイル同期のリネームマッピングで配置してください。
拡張子なしURLへの対応 固定ページは .html 付きで書き出されます。外部から拡張子なしのURLで来る可能性があるなら、Webサーバー側で .html を補う設定を入れてください(URLとファイルの対応)。

最後にcronを設定する

cron を設定しないと、このプラグインは何も生成しません。 ディレクトリの用意が終わったら、必ず cronの設定 へ進んでください。