Webサイト構築情報 baserCMS ローカルサーバー設定

baserCMSをローカルサーバーに設定するべく、奮闘中です。此処までで、インストール画面を表示できただけで、安心してしまいました。早速クリーンインストールをしてみたところ、まず隠されていると怒られます。
ここでは、引越時の推奨に従ったパーミッション設定を実施します。
 sudo find sub_dir -type d -exec chmod 707 {} +
sudo find sub_dir -type f -exec chmod 606 {} +
として、誰でもアクセス可能とします。
その後、気を取り直して再挑戦するも、その2で以下のエラーを表示して、進捗できません。

Warning (2): include_once(/var/www/html/sme-pro_xyz/app/Config/database.php): failed to open stream: そのようなファイルやディレクトリはありません [CORE/Cake/Model/ConnectionManager.php, line 67]Code Context
include_once - CORE/Cake/Model/ConnectionManager.php, line 67
ConnectionManager::_init() - CORE/Cake/Model/ConnectionManager.php, line 67
ConnectionManager::getDataSource() - CORE/Cake/Model/ConnectionManager.php, line 83
BcAppModel::__construct() - CORE/Baser/Model/BcAppModel.php, line 43
Site::__construct() - CORE/Baser/Model/Site.php, line 43
ReflectionClass::newInstance() - [internal], line ??
ClassRegistry::init() - CORE/Cake/Utility/ClassRegistry.php, line 169
BcAppController::__construct() - CORE/Baser/Controller/BcAppController.php, line 225
CakeErrorController::__construct() - CORE/Cake/Controller/CakeErrorController.php, line 46
ExceptionRenderer::_getController() - CORE/Cake/Error/ExceptionRenderer.php, line 157
ExceptionRenderer::__construct() - CORE/Cake/Error/ExceptionRenderer.php, line 95
ErrorHandler::handleException() - CORE/Cake/Error/ErrorHandler.php, line 126
[main] - [internal], line ??
Warning (2): include_once() [<a href='http://php.net/function.include'>function.include</a>]: Failed opening '/var/www/html/sme-pro_xyz/app/Config/database.php' for inclusion (include_path='/var/www/html/sme-pro_xyz/lib:.:/usr/share/php') [CORE/Cake/Model/ConnectionManager.php, line 67]Code Context
include_once - CORE/Cake/Model/ConnectionManager.php, line 67
ConnectionManager::_init() - CORE/Cake/Model/ConnectionManager.php, line 67
ConnectionManager::getDataSource() - CORE/Cake/Model/ConnectionManager.php, line 83
BcAppModel::__construct() - CORE/Baser/Model/BcAppModel.php, line 43
Site::__construct() - CORE/Baser/Model/Site.php, line 43
ReflectionClass::newInstance() - [internal], line ??
ClassRegistry::init() - CORE/Cake/Utility/ClassRegistry.php, line 169
BcAppController::__construct() - CORE/Baser/Controller/BcAppController.php, line 225
CakeErrorController::__construct() - CORE/Cake/Controller/CakeErrorController.php, line 46
ExceptionRenderer::_getController() - CORE/Cake/Error/ExceptionRenderer.php, line 157
ExceptionRenderer::__construct() - CORE/Cake/Error/ExceptionRenderer.php, line 95
ErrorHandler::handleException() - CORE/Cake/Error/ErrorHandler.php, line 126
[main] - [internal], line ??

Call to undefined function mb_internal_encoding()

エラー: 内部エラーが発生しました。

素直に読むとファイルがないともとれますが、インストール時ファイルを作成できていないことが、レンタルサーバ上のファイルと比較すると、それがわかります。
最後のエラーは、マルチバイトに関わるエラーです。どうもphp自体が怪しいです。
そこで、test.php を作成して、phpの情報を見てみます。
<?php
phpinfo()
?>
http://~~~/test.php とすると、phpの情報が表示されます。
そこには、mbstring項目が見当たりません。
そこで、さらにphpの設定ファイルであるphp.iniのmb(マルチバイト関連≒今回は日本語)情報を見ていきます。
ここでも、日本語に対応していないことが判明しました。
そこで、php.iniの内容を変更していきます。
こちらのサイトにphp7.2で日本語を使用する際の設定情報を発見しました。ありがとうございます。

内容を紹介します。

php.ini設定

; デフォルト文字コード
default_charset = UTF-8
; mbstringのデフォルトの言語
mbstring.language = Japanese
; HTTP入力文字のエンコーディングを内部文字のエンコーディングに自動変換なし
mbstring.encoding_translation = Off
; 文字コードを自動検出する際の優先順位
mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII
; タイムゾーンを日本標準時間
date.timezone = Asia/Tokyo
; HTTPのレスポンスによりPHPのバージョン情報を非表示
expose_php = Off

; 以下はPHP5.6以降で非推奨になっているのでコメントアウトしておく
;mbstring.internal_encoding = 
;mbstring.http_input = 
;mbstring.http_output = 

此処までの情報に従い、コメントを外して、次いで必要な情報を追記します。

mbstring インストール

さらに、そもそもphpで、mbstringを扱うモジュールも標準ではインストールしてありません。
そこで、 sudo apt install php-mbstring でインストールします。
さらにいつもの、sudo service apache2 restart でhttpdを再スタートして、設定を反映します。
先ほどのhttp://~~~/test.php とすると、phpの情報が表示されて、今度は、mbstring情報が表示されています。無事マルチバイト化されたようです。

そこで、baseCMS新規インストールを開始します。
無事、その2に移行して、チェックをしてくれました。
チェック項目は、一部不合格ですが、なんとか一段階すすみました。以下のメッセージが表示されています。

GDの利用利用不可
phpのGDモジュールでPNGが使える必要があります
GDモジュールをインストールするか有効にしてください

DOMDocumentの利用利用不可
phpのxmlモジュールでDOMDocumentが使える必要があります
xmlモジュールをインストールするか有効にしてください

php-gd php-xml インストール

あと二つのモジュールが必要なようです。
先ず、php GD を sudo apt install php-gd でインスト-ルします。
次に php xml を同じく sudo apt install php-xml でインストールしました。
そして、いつもの sudo service apache2 resart をします。
php.infoで両方とも確認できました。
baserCMSインストールチェックのその2も無事通過できました。
その3では、mySQLを動かしていませんが、sqliteでインストール出来ました。
最後のその4で管理ユーザーを登録して、その5まで表示されて終了です。
ご参考になれば、幸いです。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA