目的
既存のWordpressサイトの開発環境を作りたくて、作成。
その備忘録
まずはインストールしたいWordpressのバージョンを確認
すでに実行中のWordpressがあるのなら、
Wordpressの管理画面
→ツール
→サイトヘルス
→「情報」タブ
- Wordpress : wordpressのバージョン、
- サーバー : PHPのバージョン
- データベース : MySQLのバージョン
上記の3つを確認する。
Plugin「All-in-One WP Migration」を使うときは、既存のPHPのバージョンが違うとインポートが完了しないので、特にPHPのバージョンには注意。
docker-compose.ymlを作る。
参考:
https://coosy.co.jp/blog/docker-environment/
https://github.com/chum9625/docker-compose-wp-master/blob/main/README.md
https://weblabo.oscasierra.net/wordpress-docker-compose/
https://blowup-bbs.com/wordpress-docker-development-environment/
私が採用したdocker-compose.ymlは以下のもの
services:
wordpress:
container_name: my-wp-container
depends_on:
- db
image: wordpress:php7.4-apache #今回はphp7.4で指定。
volumes:
- ./html:/var/www/html #wordpressファイル群格納用
- ./wp-content:/var/www/html/wp-content #テーマ、プラグイン開発用
- ./**my-theme**:/var/www/html/wp-content/themes/**my-theme** #オリジナルテーマ開発用空テーマ**my-theme**部分は適宜変更。
ports:
- "8080:80" #ポート番号が被らないように
restart: unless-stopped
environment:
WORDPRESS_DB_HOST: db:3306 #defaultのポート
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: root-pass
WORDPRESS_DB_NAME: wordpress
db:
image: mysql:5.7
ports:
- "3307:3306" # 外部から 3307 ポートでアクセス(3306をほかのポートで使っているとき)
volumes:
- db_data:/var/lib/mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: root-pass
MYSQL_DATABASE: wordpress
MYSQL_USER: db-user
MYSQL_PASSWORD: db-pass
phpmyadmin:
depends_on:
- db
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: db
restart: unless-stopped
ports:
- "8000:80" #ポート番号が被らないように
volumes:
db_data: {}
docker-compose.yml
はポート番号に注意して作成。
WORDPRESS_DB_HOST: db:3306は、Docker内のポートなので変更しなくてOK。
私はこれで間違えて時間がかかった。
注意
アクセスポートを変えたい場合は、
db:
ports:
- "3307:3306" # 外部から 3307 ポートでアクセス(3306をほかのポートで使っているとき)
こちらを編集する。
管理画面に入る
http://localhost:8080
にアクセスすると、
いつもの管理画面の設定がでてくるので初期設定する。
Wordpressの引っ越し
1.既存のWordpressサイトからAll-in-One WP Migrationを使って、ファイルをエキスポートする
2.All-in-One WP Migration の容量を添付のリンク参照にあげる。
このとき、
volumes:
- ./html:/var/www/html #wordpressファイル群格納用
- ./wp-content:/var/www/html/wp-content #テーマ、プラグイン開発用
- ./**my-theme**:/var/www/html/wp-content/themes/**my-theme** #オリジナルテーマ開発用空テーマ**my-theme**部分は適宜変更。
で、ローカルにマウントしているので、ローカルの./wp-content
のなかの
plugins-all-in-one-wp-migration-constants.phpを編集したら、
Docker内のファイルも編集される。
容量あげたら、インポートして終了。
PHPのバージョンがちがうと、インポートできずに止まるので、注意。
注意
PHPのバージョンに注意してください。
アップロードサイズをあげる方法はいろいろあるみたい。
https://www.vektor-inc.co.jp/post/upload_max_filesize/
ルーティングの編集
このままだと、トップページは表示されるけど、下層ページは表示されないので、
管理画面>設定>パーマリンク
で何もしないで更新を押す。
すると、.htaccessが更新されて、ルーティングを自動で設定してくれるので、下層ページも設定される。
ローカルにお引越し完了!