はじめに
PHPのローカル開発環境として、Devilboxを試してみました。
Devilboxの日本語の記事が見当たらないので簡単にまとめます。
Devilboxとは
公式サイトの説明によると、 "LAMPやMEAN環境をフルサポートしたPHPスタック。 主な目標はローカル環境のバージョン切り替えを容易にすること"とあります。
The Devilbox is a modern and highly customisable dockerized PHP stack supporting full LAMP and MEAN and running on all major platforms. The main goal is to easily switch and combine any version required for local development.
環境のイメージとしてはLaraDockとよく似ていますね。
Laradockと比較するとDevilboxは公式ドキュメントが充実しているような気がします。
上記は公式の画像ですが、最小構成のApache, PHP, MySQLのみ起動することも可能です。
お客様の環境がオンプレだったり、Docker化されていない既存案件を手軽にローカルで試してみたい人に向いていると思います。
手元に既にDocker化している環境がある場合はDevilbox導入のメリットは特にないです。(そもそも全部入りなDocker環境は不要という意見もよく目にします。)
この記事でやること
手順
Devilboxをclone
$ git clone https://github.com/cytopia/devilbox
envファイルをコピー
$ cd devilbox
$ cp env-example .env
envファイルを編集
このenvファイル編集によりPHPのバージョン切り替えも可能です。
$ vim .env
※Macで作業する場合、下記リンクの通りUID, GID, cache設定も.envファイルに
https://devilbox.readthedocs.io/en/latest/getting-started/install-the-devilbox.html#osx-performance
docker-compose upで各コンテナの起動
今回はhttpd php mysqlがあれば良いので末尾にhttp php mysqlと指定します。
$ docker-compose up -d httpd php mysql
PHPコンテナ内に入る
$ ./shell.sh
PHP、composer、npm、Node.js、Vue CLIを確認
全て含まれていますね。
CakePHP環境の構築
今回はmy-cake.locをアクセス先として繋がるローカル環境を作成していきます。
# PHPコンテナ内の/shared/httpdにて $ mkdir my-cake $ cd my-cake # CakePHP4のインストール $ composer create-project --prefer-dist cakephp/app:4.* hello_briswell # my-cake/htdocsにシンボリックリンクを作成 $ ln -s hello_briswell/webroot/ htdocs
実行した結果、下記のようなディレクトリ構成になります。
/etc/hostsの編集
Macの/etc/hostsファイルに下記の記載を追加します。
127.0.0.1 my-cake.loc
追記した結果、ブラウザにてDevilboxの管理画面であるlocalhost/vhosts.phpにアクセスするとURLが有効であると表示されます。
接続確認
http://my-cake.loc/にアクセスすると、無事アクセスできました。
最後に
プロジェクトを追加したい場合は、別フォルダを作成しhtdocsのリンクを作っていけば良いだけなので簡単です。
Devilboxの管理画面もリンクが色々含まれていて便利そうでした。(phpMyAdminやOpcache Control Panelなどへ遷移可能)
今回の記事では未実施ですが、設定を行えばhttpsも使えるようです。
手軽に開発環境を作りたいときの選択肢の一つとしていかがでしょうか。