ITブログ

Windows+baserCMS環境構築

Windows11にApache2.4+PHP8+baserCMSの環境を構築する手順です。

Windows11にApache2.4+PHP8をインストールしたので、baserCMSを動作させてみました。
baserCMSを仮想レンタルサーバーにアップロードする前に、ローカルPCでカスタマイズする為です。
 
Windows+Apache環境構築手順の記事はこちらです。
 
Windows+Apache+PHP環境構築手順の記事はこちらです。
 
"httpd.conf" と "php.ini" の設定内容は、上記手順による最低限動作する状態からの、変更部分のみを記載します。
シンプルな構成とするために、DBは "SQLite" を使用します。
 
baserCMSをダウンロードします。
it3-01.png
 
ダウンロードしたZipファイルを解凍したあと、basercmsフォルダをApacheのドキュメントルート配下に配置します。
"c:\server\html/basercms" として進めます。
it3-02.pngit3-03.png

httpd.confの編集

"httpd.conf" を編集します。
it3-05.png
 
"mod_access_compat.so" モジュールを読込むためにコメントアウトを解除します。
it3-06.png
 
LoadModule access_compat_module module/mod_access_compat.so
 
"mod_rewrite.so" モジュールを読込むためにコメントアウトを解除します。
it3-07.png
 
LoadModule rewrite_module module/mod_rewrite.so
 
"AllowOverride" ディレクティブでbaserCMSの.htaccessで上書きできるように "All" を指定します。
"DirecotryIndex" ディレクティブに "index.php" を追加します。
it3-08.png
 
AllowOverride All

DirectoryIndex index.php index.html
 
FastCGIで10MBまでリクエスト(画像等)を受け付けられるように、"FcgidMaxRequestLen" を指定します。
it3-09.png
 
FcgidMaxRequestLen 10485760

php.iniの編集

"php.ini" を編集します。
it2-04.png
 
セッション保存フォルダを指定します。"c:/server/session" とします。
it3-11.png
 
session.save_path = "c:/server/session"
 
指定したパスにセッション保存フォルダを作成します。
it3-10.png
 
Windows用の拡張フォルダ名指定のコメントアウトを解除します。
it3-12.png
 
extension_dir = "ext"
 
"システム要件" に必要なモジュールが記載されています。
it3-04.png
 
必要なモジュールを有効にします。"curl"、"gd"、"mbstring" のコメントアウトを解除します。
it3-13.png
 
extension=curl

extension=gd

extension=mbstring
 
SQLiteを使用できるように、PDOとSQLite3のコメントアウトを解除します。
it3-14.png
 
extension=pdo_sqlite

extension=sqlite3
 
PHP側処理のための、アップロード一時フォルダとアップロードサイズ上限値を指定します。
it3-15.png
 
upload_tmp_dir='c:\server\temp'

upload_max_filesize = 10M
 
エラー出力を抑制します。
it3-16.png
 
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

display_errors = Off

display_startup_errors = Off

baserCMSソースコードの編集

Windows+PHP8+SQLiteのインストール時に、1か所だけうまく動作しない部分があったので修正します。
"basercms\lib\Baser\Model\Datasource\Database\BcSqlite.php" の415行目をコメントアウトして書き直します。
$limitは使用していないので、エラーが出ないようにlist関数を使うのをやめて0番目の$colだけを取得します。
it3-17.png
 

//@list($col, $limit) = explode('(', $col);
$col = explode('(', $col)[0];

baserCMSインストーラ

ブラウザでドキュメントルート内の "basercms" を配置したパスにアクセスするとbaserCMSのインストールが開始します。
(ドキュメントルート)\basercms の場合、"http://localhost/basercms" となります。
it3-18.pngit3-19.png
 
順番に画面を進めて行き、"ステップ3" のデータベースタイプで "SQLite" を指定します。
it3-20.pngit3-21.png
 
"管理ユーザー登録" でメールアドレス、管理者アカウント名(ログインID)、パスワードを指定します。
"baserCMSのインストール完了!" が表示されたらインストール完了です。
"~メールを送信しています。" と表示されますが、SMTPサーバーを設定していなければ送信されません。
it3-22.pngit3-23.png
 
"トップページを確認する" リンクをクリックするとトップページが表示されます。
it3-24.png