MacOSにDockerを入れ、CAKEPHP2系の環境構築しました。
結構苦戦したので残しておこうかと。
事前準備:MacにDockerを入れる
『macOSでDocker環境構築』を参考にすればOKです。
3の実行の部分まで確認すれば充分ですね。
作る環境
今回作る環境の詳細は以下。
色々古いだなんだのツッコミは受け付けませんwww
(仕事なんだ、察してくれ・・・w)
・PHP 5.4
・CAKEPHP 2.5.5
・Apache/2.4.12
備考として、MySQLは接続先を共有しているのでConfigファイルに記載済。
MySQLの設定はここではやってないです。
Docker設定
CAKEPHPのモジュール直下に『docker-compose』というディレクトリを作ってます。
その直下で色々ファイルやらを置いていく感じですね。
docker-compose.yml
version: '3'
services:
web:
container_name: apache001
build: ./web
- "80:80"
volumes:
- ../../:/var/www/html:Z
web/Dockerfile
#FROM httpd:2.4
ADD ./httpd.conf /etc/apache2/apache2.conf
# mod_rewrite実行
RUN a2enmod rewrite
# log用ディレクトリ作成
RUN mkdir -p /var/log/logdir
RUN chmod 777 /var/log/logdir
web/httpd.conf
長いので差分だけ!
<Directory /var/www/html>
Options FollowSymLinks
AllowOverride ALL
Require all granted
</Directory>
web/php.ini
[Date]
date.timezone = "Asia/Tokyo"
[mbstring]
mbstring.language = "Japanese"
[xdebug]
xdebug.remote_connect_back=true
xdebug.remote_enable=1
構築手順
## ファイルへ移動
cd /Users/username/cakephp/docker-compose/
## ビルド
docker-compose build
## 起動
docker-compose up -d
## 確認
おまけ、基本的なコマンドについて
Dockerでコマンドを叩くと色々『Command Not Found』だったり(汗)
ってことで良く使う、『zlib、OpenSSL、wget』をいれるコマンドになります。
# zlib取得
RUN cd /usr/local/src
RUN tar xvzf zlib-1.2.11.tar.gz
RUN cd zlib-1.2.11
RUN ./configure
RUN make
RUN make install
# openssl取得
RUN cd /usr/local/src
RUN tar xzvf openssl-1.1.0h.tar.gz
RUN cd openssl-1.1.0h
RUN ./config shared zlib
RUN make
RUN make install
# wget入手
RUN cd /usr/local/src
RUN tar xvzf wget-1.19.5.tar.gz
RUN cd wget-1.19.5
RUN ./configure --with-ssl=openssl
RUN make
RUN make install
感想
独自コマンドを覚える学習コストは多少ありますが、管理する上ではめちゃくちゃ便利だし、最悪書けるエンジニアがいれば設定ファイルをばらまくだけなのでかなり良いですね。
Wordpressの環境構築とかも挑戦してみようかな。
プログラマのためのDocker教科書 インフラの基礎知識&コードによる環境構築の自動化
- 作者: WINGSプロジェクト阿佐志保
- 出版社/メーカー: 翔泳社
- 発売日: 2015/11/19
- メディア: Kindle版
- この商品を含むブログ (3件) を見る