baserCMSがメジャーアップデートしたのでインストールします

スポンサーリンク

baserCMS5がリリースされたのでLinux環境にインストールします。WindowsにもDocker Desktopをインストールすることで実現できます。その場合、Windows版のgitなどをインストールする必要があるかもしれません。Windowsの機能であるWSLを用意すればLinux環境を構築することもできます。

ローカル環境を構築して利用する

公式ページのインストール手順を参考に進めます。OracleCloudに作成したlinuxのインスタンスに接続して作業します。OracleCloudで本番環境を構築できたので、AWS、Google Cloud、Azureにもインストールできるでしょう。


まず最初に、baserCMSのクローンを作成します。

git clone https://github.com/baserproject/basercms.git

作成したディレクトリに移動してファイルを確認するとdockerの関連ファイルがあるディレクトリがあるのでそこへ移動します。

cd basercms
cd docker

docker-compose.yml.defaultの中身をみて、使用しているイメージを確認します。docker runでPHPのコンテナのみを立ち上げます。データベースが他のマシンにあることと、phpmyadminは使用しないのでそうしました。このイメージを使用してテスト用にコンテナを立ち上げます。今回のBaserCMSのバージョンでは、CakePHPのプラグインとして動作するみたいなので、前回書いた記事のように、Wordpressのコンテナを使い回すとエラーが発生します。

docker run --name test -d baserproject/basercms:php8.1

コンテナに入って主要なファイルの場所を確認します。

docker exec -ti test bash

ファイルの場所は下記のようになっていました。

/etc/apache2→webサーバーの設定ファイル
/usr/local/etc/php→PHP関連
/var/www/html→ドキュメントルート

コンテナからPHP関連とウェブサーバー関連の設定ファイルをコピーしてきます。後から設定を変更する可能性があるのでこのようにしました。

docker cp test:/usr/local/etc/php /root/bc-php/
docker cp test:/etc/apache2 /root/bc-apache2/

ファイルをコンテナからホストに取り寄せたので、コンテナを停止して削除します。

docker stop test
docker rm test

本番環境で使用したいので、主要なファイルをマウントした状態でコンテナを立ち上げます。

docker run \
 --name bc \
 -p 8080:80 \
 -v /root/bc-php:/usr/local/etc/php \
 -v /root/bc-apache2:/etc/apache2 \
 -v /root/basercms:/var/www/html \
 -d baserproject/basercms:php8.1

ホスト側で使用するポートのトラフィックを許可しておきます。OracleCloudでもイングレスルールに追加することを忘れないようにします。

ufw allow 8080/tcp

ブラウザでアクセスしますが、エラーがあればその都度対処します。

http://IPアドレス:8080/

書き込み権限がないと表示されたので、basercmsにあるいくつかのディレクトリのパーミッションを変更します。

cd basercms
chmod 777 composer vendor tmp logs config

再びブラウザでアクセスして確認すると、先のエラーは直ったようですが新たなエラーが発生しました。

ライブラリのインストールに失敗しました。
コマンド実行をお試しください
cd /var/www/html/; export HOME=/var/www/html/composer/ ; yes | /usr/local/bin/php /var/www/html/composer/composer.phar update

この時点でコンテナ内にcomposer.pharが作成されます。

コンテナに入って、composerディレクトリに移動します。ここでブラウザで失敗したことを行います。

docker exec -ti bc bash
cd composer
./composer.phar self-update
./composer.phar install

さらにconfigディレクトリにある環境設定ファイルの名前を使用できるように変更します。

cp .env.example .env

進めなくなったのでもう一度アクセスしなおします。
http://IPアドレス:8080/

またも書き込み権限のエラーがでましたが、先のように対処します。

chmod 777 plugins webroot/files db

ブラウザでそのまま続けます。しかし、インストールは正常に完了したものの、管理ページにアクセスできない問題が発生しました。アドレスにlocalhostが入力されてしまいページが見れません。

baserCMSにあるconfigディレクトリの環境設定ファイルを編集しないとurlアドレスにlocalhostが入ってしまうのでファイルを編集します。

vi .env

SITE_URLとSSL_URLには通常はドメイン名を入力します。なお、リバースプロキシ経由でアクセスする場合、SITE_URLはhttpとします。自分の環境ではLAN内はhttpで通信をしているからです。また、この場合、ADMIN_SSLはfalseにしないとエラーになります。

タイトルとURLをコピーしました