Windows11にApache2.4+PHP8+baserCMSの環境を構築する手順です。
Windows11にApache2.4+PHP8をインストールしたので、baserCMSを動作させてみました。
baserCMSを仮想レンタルサーバーにアップロードする前に、ローカルPCでカスタマイズする為です。
Windows+Apache環境構築手順の記事はこちらです。
Windows+Apache+PHP環境構築手順の記事はこちらです。
"httpd.conf" と "php.ini" の設定内容は、上記手順による最低限動作する状態からの、変更部分のみを記載します。
シンプルな構成とするために、DBは "SQLite" を使用します。
baserCMSをダウンロードします。
ダウンロードしたZipファイルを解凍したあと、basercmsフォルダをApacheのドキュメントルート配下に配置します。
"c:\server\html/basercms" として進めます。
httpd.confの編集
"httpd.conf" を編集します。
"mod_access_compat.so" モジュールを読込むためにコメントアウトを解除します。
LoadModule access_compat_module module/mod_access_compat.so
"mod_rewrite.so" モジュールを読込むためにコメントアウトを解除します。
LoadModule rewrite_module module/mod_rewrite.so
"AllowOverride" ディレクティブでbaserCMSの.htaccessで上書きできるように "All" を指定します。
"DirecotryIndex" ディレクティブに "index.php" を追加します。
AllowOverride All
~
DirectoryIndex index.php index.html
~
DirectoryIndex index.php index.html
FastCGIで10MBまでリクエスト(画像等)を受け付けられるように、"FcgidMaxRequestLen" を指定します。
FcgidMaxRequestLen 10485760
php.iniの編集
"php.ini" を編集します。
セッション保存フォルダを指定します。"c:/server/session" とします。
session.save_path = "c:/server/session"
Windows用の拡張フォルダ名指定のコメントアウトを解除します。
extension_dir = "ext"
"システム要件" に必要なモジュールが記載されています。
必要なモジュールを有効にします。"curl"、"gd"、"mbstring" のコメントアウトを解除します。
extension=curl
~
extension=gd
~
extension=mbstring
~
extension=gd
~
extension=mbstring
SQLiteを使用できるように、PDOとSQLite3のコメントアウトを解除します。
extension=pdo_sqlite
~
extension=sqlite3
~
extension=sqlite3
PHP側処理のための、アップロード一時フォルダとアップロードサイズ上限値を指定します。
upload_tmp_dir='c:\server\temp'
~
upload_max_filesize = 10M
~
upload_max_filesize = 10M
エラー出力を抑制します。
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
~
display_errors = Off
~
display_startup_errors = Off
~
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だけを取得します。
~
//@list($col, $limit) = explode('(', $col);
$col = explode('(', $col)[0];
~
//@list($col, $limit) = explode('(', $col);
$col = explode('(', $col)[0];
~
baserCMSインストーラ
ブラウザでドキュメントルート内の "basercms" を配置したパスにアクセスするとbaserCMSのインストールが開始します。
(ドキュメントルート)\basercms の場合、"http://localhost/basercms" となります。
順番に画面を進めて行き、"ステップ3" のデータベースタイプで "SQLite" を指定します。
"管理ユーザー登録" でメールアドレス、管理者アカウント名(ログインID)、パスワードを指定します。
"baserCMSのインストール完了!" が表示されたらインストール完了です。
"~メールを送信しています。" と表示されますが、SMTPサーバーを設定していなければ送信されません。
"トップページを確認する" リンクをクリックするとトップページが表示されます。