サーバー等にアップロードせず、baserCMSの動作を手元のパソコン上で確認したい場合は、baserCMSが提供する Docker による仮想環境を利用する事で簡単に動作環境を構築することができます。
baserCMS本体の開発においてもこの Docker 環境での開発を推奨しています。これにより各開発者の開発環境は画一的に揃えられ、不具合の再現性を高めることができます。インストーラで一発導入できるMAMPやXAMPPも手軽でいいのですが、LAMPで構成される仮想環境は本番環境に近いため安心です。
Docker Desktop をインストールします。
git clone https://github.com/baserproject/basercms.git
cp docker/docker-compose.yml.default docker/docker-compose.yml
※ このファイルは自由に編集可能です。
docker ディレクトリに移動してから Docker 起動します。
初期化に30秒ほどかかりますので、それを待ってからブラウザでアクセスしてください。 /docker_inited
ファイルが作成されたら、以上で環境構築は終了です。
cd docker
docker-compose up -d
ローカルの baserCMS のディレクトリは、コンテナ上の /var/www/html
にマウントされています。
ブラウザで、次のURLにアクセスするとインストーラーが起動しますので、 インストールを実行する に従ってインストールを進めます。
name | value |
---|---|
host | MySQL:bc-db PostgreSQL:bc-pg |
database | basercms |
user | root |
password | root |
docker ディレクトリに移動してからログインします。
cd docker
docker exec -it bc-php /bin/bash
PHPのコンテナを違うコンテナにする場合など、環境を再構築する場合は次の手順を踏みます。
# 初期化完了ファイルを削除
rm ./docker_inited
# dockerフォルダへ移動
cd docker
# docker-compose.yml.default の変更内容を反映する(必要があれば)
cp docker-compose.yml.default docker-compose.yml
# データベースのデータを削除
rm -rf ./volumes
# コンテナを再構築
docker-compose up -d --force-recreate
Dockerイメージに更新があった場合に新しいイメージからコンテナを再構築する場合は、事前にローカルに保存されたDockerイメージを削除します。
cd docker
# docker を起動している場合は止める
docker-compose stop
# コンテナを削除する
docker rm bc-php
# IMAGE ID を確認する
docker images
# イメージ削除する
docker rmi [IMAGE ID]
# その後、環境の再構築を実施する
サブフォルダに配置された状態で開発やテストを行う場合には次のように設定を変更します。
docker-compose.yml の設定を変更します。
bc-php の 調整
'../../:/var/www/html:delegated'
に変更'bash -c "apache2-foreground"'
に変更Docker を再構築
docker-compose up -d --force-recreate
※ 一度、ノーマルの状態で、環境構築が終わった後に実行してください。
.env の SITE_URL
/ SSL_URL
をサブフォルダベースに変更
# パッケージのディレクトリ名が basercms の場合
export SITE_URL="https://localhost/basercms/"
export SSL_URL="https://localhost/basercms/"
Docker コンテナにログインしシンボリックリンクの作成コマンドを実行します。
docker exec -it bc-php /bin/bash
bin/cake plugin assets symlink