インストール

PowerCMS X システムチェック機能を使うと、必要なインストール要件が揃っているかを簡単に確認することができます。詳細は下記のページを参照してください。

サーバOS※

  • Linux/FreeBSD/macOSで動作検証済み
  • WindowsについてはApacheでの動作を検証済み

※基本、OSにはさほど依存しませんが、ミドルウェアとPHP拡張モジュールの設定をチェック用スクリプトで確認するようにしてください。

必須環境

  • Apache 2.4以降またはnginx (IISについては動作の確認は行っていますが現段階ではサポート外です)
  • PHPバージョン7.1以降
  • MySQL 5.6 以降(*MySQL 5.7以降を推奨)、MySQL8.0以降、MariaDB 10.2 以降
  • Libxml 2.7.8以上

* flush について

PowerCMS Xでは、PHPの「flush」関数を使ってブラウザにレスポンスを返した後にバックグラウンドで各種処理を行います。

Apache Handler の場合 mod_gzip のような Apache 用のサーバーモジュールはそれ自体がバッファリングを行いますので 管理画面においては mod_gzipは無効化してください。また、PHP-FPM を利用する場合、flushpackets の設定に注意してください。

設定の例 :

<Proxy unix:/run/php-fpm/www.sock|fcgi://localhost>
    ProxySet flushpackets=on timeout=300
</Proxy>

PHP拡張モジュール

mbstring 必須
DOMDocument 必須
libxml 必須
PDO 必須
JSON 必須
SimpleXML 必須
GD (JPEG Support/PNG Support) 必須
Zip 必須
Normalizer オプション
Memcached オプション

一部のプラグインが必要とする外部コマンド

コマンド プラグイン名
Hyper Estraier SearchEstraierプラグイン
LFTP Mirroringプラグイン

* MySQLのバージョンに関する注意

MySQL5.6では、データベースの照合順序を utf8mb4_general_ci とすると、varchar(255)型のカラムに対するインデックスを作成することができません。データベースのキャラクターセットを utf8_general_ci とするか、innodb_file_formatを以下の通り変更してください。

innodb_large_prefix
innodb_file_per_table
innodb_file_format=Barracuda

MySQL 8.0では、デフォルトの照合順序が utf8mb4_0900_ai_ciとなりました。この設定では日本語における「ハ」「バ」「パ」などを区別しません。

* 明示的に照合順序を指定する方法

db-config.phpに以下のように記述することで、テーブル作成時の照合順を明示的に指定できるようになります。

define( 'PADO_DB_COLLATION', 'utf8mb4_general_ci' ); // MySQL 8.0

define( 'PADO_DB_CHARSET', 'utf8 ); // MySQL5.6
define( 'PADO_DB_COLLATION', 'utf8_general_ci' ); // MySQL5.6

※ PADO_DB_COLLATION の指定は不要となりました(指定のない場合 utf8mb4_general_ci となります)。

* Amazon Auroraに関する注意

Aurora MySQL では、圧縮テーブル (ROW_FORMAT=COMPRESSED を使用して作成されたテーブル) をサポートしておりません。
以下の設定はご利用できませんのでご注意ください。

特に、データ移行の際は、事前にrow_formatをご確認いただき、Compressedテーブルがあった場合は、Compact等にALTER TABLEしておく等の対応を行ってください。

推奨設定

種別 設定項目 推奨値
PHP max_input_vars 2000以上
MySQL max_allowed_packet 16MB以上

インストール方法

  • データベースを作成(MySQL5.6以外では基本的に照合順序utf8mb4_general_ci)
  • アーカイブを展開してWebサーバーに設置
  • config.json-original.json を config.json にリネーム
  • db-config.php-original.php を db-config.php にリネーム
  • db-config.phpのデータベース情報を記述
  • index.phpへアクセス

* PADO_DB_BLOB2FILEについて

PowerCMS Xでは、通常、画像等のバイナリファイルをBlob形式にてデータベースに保存します。このため、データベースのみのバックアップで良く、物理ファイルのバックアップが必要ありません。
しかし、画像等を扱う数が多いサイトや扱うサイズが大きいサイトの場合、データベースの肥大が考えられます。こちらの場合、バイナリデータを外部に持つ設定を行うことが可能です。

物理ファイルを保存するディレクトリを用意の上、db-config.phpの末尾に以下を追記
※Pathは環境に合わせてください
※PowerCMS Xから書き込める権限を付与してください

define( 'PADO_DB_BLOB2FILE', true );
define( 'PADO_DB_BLOBPATH', '/path/to/pado_db_blob' );

※ こちらの設定を行う場合、データベースのバックアップと物理ファイルのバックアップが必要です。

※version2.57より定数「PADO_DB_CLEANUP_BLOB」を指定すると「PADO_DB_BLOB2FILE」の設定のある時、ファイルが差し替えられたときなどに古い BLOBファイルを確実に削除できるようになりました。

途中で設定を変更する場合は tools/PADO/convertBlob2File.php を実行する必要があります。

* cache_driverについて

PowerCMS Xでは、管理画面でキャッシュを利用しています。(Memcached、または、Fileキャッシュ)
※Ver. 2.2以降、デフォルトでFileキャッシュを利用しています。

config.jsonで指定したtemp_dirをPowerCMS Xから書き込める権限の付与をしてください。

"cache_driver" : "File",
"temp_dir" : "/path/to/tmp",

※Memcachedの場合、 "cache_driver" : "Memcached",
※環境変数"temp_dir"の指定がない時、もしくは設定が"/tmp"の時、 PowerCMSX/cacheにキャッシュが作られますが、環境変数"temp_dir"は"/var/www/tmp"などのディレクトリを作成して変更することをお勧めします。

インストール画面1インストール画面2

定期実行タスクの設定

サーバーの cron または タスク スケジューラ(Windows の場合) に worker.php を定期的に実行するように設定します。推奨間隔は15分です。

*/15 * * * * apache cd /var/www/admin; php tools/worker.php

ダイナミックパブリッシングの設定

非公開ページ・アイテム(画像など)のプレビューや、LivePreview (未来日時のウェブサイトプレビュー)には、ダイナミック・パブリッシングの設定が必要です。必要に応じて設定してください(ダイナミック・パブリッシングの設定について)。

クライアント動作環境

  • Google Chrome
  • Safari
  • Mozilla Firefox
  • Microsoft Edge(Chromium ベースの新しい Microsoft Edge のみの対応となります)
  • iPhone: Safari 最新版
  • Android: Chrome 最新版