【環境情報】
- baserCMSのバージョン:4.5.6
- レンタルサーバー名:Xserver(独自ドメイン)
- 契約プラン:スタンダード
- 使用テーマ:bc_sample
- PHPスキル(自己評価):E
- 独自ドメイン:example.com(例)
先日、Xserver(独自ドメイン)へbaserCMSをインストールした際にハマったポイントについて、情報がまとまりましたので、この場を借りてご報告します。
ハマりポイント
PHPのメモリ関連の上限値の設定(php.ini)について
NG設定1
初期値
その他の設定 | |
---|---|
memory_limit | 1G |
post_max_size | 1G |
upload_max_filesize | 1G |
この時、インストール時のチェックにて下記のエラーメッセージが表示されました。
どうやら、1G表記だとなぜか32MBと誤認識してしまうようです。
PHPのメモリ
PHPのメモリが 128 MB より低い場合、baserCMSの全ての機能が正常に動作しない可能性があります。
サーバー環境によってはPHPのメモリ上限が取得できず「0MB」となっている場合もあります。その場合、サーバー業者等へサーバースペックを直接確認してください。
PHPのメモリ上限 >= 128 MB
現在のPHPのメモリ上限: 32 MB
php.iniの設定変更が可能であれば、memory_limit の値を128 MB以上に設定してください
NG設定2
メモリの単位の指定ミス
その他の設定 | |
---|---|
memory_limit | 1024MB |
post_max_size | 1024MB |
upload_max_filesize | 1024MB |
上記のように、1024MBと指定すると下記のメッセージが表示され、一見すると正常にインストールが進みますが、後ほど別のエラーが発生してしまいました。
PHPのメモリ
PHPのメモリが 128 MB より低い場合、baserCMSの全ての機能が正常に動作しない可能性があります。
サーバー環境によってはPHPのメモリ上限が取得できず「0MB」となっている場合もあります。その場合、サーバー業者等へサーバースペックを直接確認してください。
PHPのメモリ上限 >= 128 MB
現在のPHPのメモリ上限: 1024 MB
下記のような、別のエラーメッセージが表示され、Webページが固まってしまいました。
Allowed memory size of 2097152 bytes exhausted (tried to allocate 65536 bytes)
OK設定
その他の設定 | |
---|---|
memory_limit | 1024M |
post_max_size | 1024M |
upload_max_filesize | 1024M |
この設定の時は、前述のエラーが発生することなく、正常にページも表示できるようになりました。
さて、php.iniの設定が終わったら、いよいよbaserCMSのインストールに向けて、baserCMSのダウンロードページから、zipファイル
をダウンロードしてきて、Xserverのファイルマネージャを用いてアップロードします。
※ここでは、ファイルマネージャの詳しい使い方は解説しませんが、ブラウザー上で簡単にファイルの移動や削除、新規作成、編集なども行えます。
取り急ぎ、アップロードは/example.com/public_html/
に行います。
Xserverのファイルマネージャの機能を用いて展開すると下記のような形で展開されます。
/example.com/public_html/basercms-4.5.6/basercms/
ここで、basercmsを独自ドメインのサブフォルダへインストールしたい場合は、次のURLを参考に、サブディレクトリに設置したい - baserCMS公式ガイド、下記の通りにフォルダを配置してください。
/example.com/public_html/basercms/
設置が終わったら、ファイルマネージャを用いて、.htaccessを編集、更新してください。
/example.com/public_html/basercms/.htaccess
RewriteEngine on
RewriteBase /basercms
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
/example.com/public_html/basercms/app/webroot/.htaccess
Allow from all
RewriteEngine on
RewriteBase /basercms/app/webroot
RewriteRule \.(ico|map)$ - [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
独自ドメインのドキュメントルートにインストールしたい場合は、次のURLを参考に、ドキュメントルートについて - baserCMS公式ガイド、下記の通りにフォルダを配置してください。
/example.com/public_html/app
/example.com/public_html/css
/example.com/public_html/files
/example.com/public_html/img
/example.com/public_html/js
/example.com/public_html/lib
/example.com/public_html/theme
DB(MySQL)の接続テストについて
注意が必要な箇所はデータベース名です。
ここは通常であれば basercmsのままで良いのですが、Xserverでは、契約時のサーバーIDがプレフィックスとして追加されますので、サーバーID_basercmsとしないと接続テストに失敗します。
baserCMS側のプレフィックスは**mysite_**のままでも良いのですが、**mysite_456_**のようになどとバージョン番号をつけたりして一意の名前(重複しない値)にしておくと、運用する上で便利になります。
後は、画面の指示通りにインストールを進めることができました。
なお、常時SSLなどの設定を行なった場合、baserCMSの管理画面のSSL通信は使わない設定のままにしておいてください。
そうでないと、リダイレクトループが生じて、Webサイトが表示できなくなってしまいます。
万が一リダイレクトループが生じても慌てずに、ファイルマネージャを用いて
/example.com/public_html/app/Config/install.phpのBcApp.adminSslをfalseに設定してください。
Configure::write('BcApp.adminSsl', false);
以上で、今回のご報告を終了します。
長文、失礼しました。