| 項目 | 要件 |
|---|---|
| baserCMS | 5系 |
| PHP | 8.1 以上 |
| cron | 必須。設定できないサーバーでは運用できません |
| 外部ライブラリ | 不要。ローカル公開だけならシェル実行も不要です |
plugins/HatStaticEngine/ にファイル一式を置きます。
「システム」>「プラグイン管理」で HatStaticEngine を見つけ、インストールします。データベースのテーブルとアクセス権限が作られます。
「静的HTMLジェネレーター」が出ていれば成功です。出ない場合はキャッシュを削除してください。
bin/cake cache clear_all
このプラグインは「書き出し先」と「公開先」の2つを使います。役割が違うので、必ず別の場所にしてください。
| ディレクトリ | 要件 |
|---|---|
| 書き出し先一時生成先パス |
公開ディレクトリ(webroot)の外に置きます。 初期値は (baserCMSのルート)/static/staging です。特に理由がなければこのままで構いません。Web から直接アクセスできる場所に置くと、作りかけのページが閲覧者に見えてしまいます。設定画面で webroot の内側を指定すると警告が出ます。 PHPの実行ユーザーが書き込めること。 |
| 公開先公開先パス |
閲覧者が実際に見るディレクトリです。Webサーバーのドキュメントルートとして設定します。 このプラグイン専用にしてください。他の用途と共有すると、「公開先の余分なファイルを削除する」で他のファイルまで消えます。 PHPの実行ユーザーが書き込めること。 |
いちばん簡単な構成です。公開方式は「ローカル」を選びます。CMSと静的サイトを別のドメイン(またはサブドメイン)で運用し、CMS側にはBasic認証やIP制限をかけるのが一般的です。
/var/www/cms/ … baserCMS 本体(管理者だけがアクセス) /var/www/cms/static/staging/ … 書き出し先(Webから見えない) /var/www/public/ … 公開先(閲覧者がアクセス)
公開方式は「rsync」を選びます。CMSを社内やクローズドな環境に置いたまま、公開サイトだけを外部のサーバーへ送れます。設定は 別サーバーへの配信 を参照してください。
| 項目 | 内容 |
|---|---|
| インデックスファイル | index.html を返すようにしてください。ディレクトリ形式のURL(/news/)はこの設定で解決されます。 |
| PHP | 公開先ではPHPを動かす必要はありません。むしろ動かさないほうが安全です。 |
| .htaccess | baserCMS 用の .htaccess をそのまま持って行くと壊れます。静的サイト用のものを別に用意し、静的ファイル同期のリネームマッピングで配置してください。 |
| 拡張子なしURLへの対応 | 固定ページは .html 付きで書き出されます。外部から拡張子なしのURLで来る可能性があるなら、Webサーバー側で .html を補う設定を入れてください(URLとファイルの対応)。 |