MAMPアップデートしたら動かなくなった(後に復活)ので仕方なくDockerでWordpress環境作ることに。
Wordpress入れるだけならDockerのサイトの公式イメージがあるのでこれをコピーすればOK。
でもどうせならMAMPのようなLAMP環境作っておきたいということでDockerを使ったLAMP環境作ってみました。
LAMP環境作成手順
Dockerを使ったことがない場合はまず、Docker Desktopを入れます。いきなりプランを比較って出てきますが個人利用なら無料です。
docker-composeを入れる
LAMP環境を作るのでフォルダ作成。
mkdir lamp
cd lamp
ここにdocker-compose.yml
というファイルを作成します。
touch docker-compose.yml
コードエディターでファイルを開いて以下の内容をコピーします。
version: "3.9"
services:
web:
image: php:8.1-apache # ここを変更。8.1の部分を希望のバージョンに変更
ports:
- "8081:80"
volumes:
- ./html:/var/www/html # マウント先を変更
depends_on:
- db
environment:
PHP_INI_DIR: /usr/local/etc/php/
PHP_UPLOAD_MAX_FILESIZE: 100M # ファイルアップロードサイズ上限の設定
PHP_POST_MAX_SIZE: 100M # POSTデータサイズ上限の設定
entrypoint: ["/bin/sh", "-c"] # entrypointを設定
command: ["docker-php-ext-install mysqli pdo pdo_mysql && docker-php-ext-enable mysqli pdo pdo_mysql && apachectl -D FOREGROUND"]
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: password
ports:
- "3306:3306"
volumes: # ボリュームを追加
- db_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8082:80"
environment:
PMA_HOST: db
UPLOAD_LIMIT: 100M
depends_on:
- db
volumes: # ボリュームを定義
db_data:
Web用ディレクトリ作成してWordpressファイル設置
docker-compose.yml
と同じディレクトリにhtmlディレクトリを作成します。
mkdir html
作成できたらWordpressをダウンロードしてこの中に入れます。zipは展開しておきます。
Docker Composeの起動
docker-compose.yml
があるディレクトリで以下のコマンドを実行します。
docker-compose up -d
WordPressのインストール
ブラウザでhttp://localhost:8081/wordpress/
にアクセスすると、WordPressのインストール画面が表示されます。
このときアクセスできない場合は10秒くらい待ってみてください。
データベース情報は以下の通り入力します。
- データベース名: wordpress
- ユーザー名: wordpress
- パスワード: password
- データベースのホスト名: db
インストールできたら完了。一応動いてます。
インストール後
phpMyAdminへのアクセス
ブラウザでhttp://localhost:8082
にアクセスすると、phpMyAdminにログインできます。ユーザー名はwordpress、パスワードはpasswordでログインできます。
PHPバージョンを変更する
image: php:8.1-apache
の部分を変更することでPHPのバージョンを変更できます。
例えば、PHP 8.2を使用する場合はphp:8.2-apache
、PHP 7.4を使用する場合はphp:7.4-apache
と記述します。
バージョンを変更したらコンテナを再起動しておきます。
docker-compose down
docker-compose up -d --build