データのバックアップ
wordpress.sql(SQLダンプファイル)はBackWPupのプラグインの1クリックバックアップで、wp-contentフォルダはftpなどでローカルの適当な所に取得しておく。(4分)
PS C:\Users\tosh> cd .\Downloads\
PS C:\Users\tosh\Downloads> ls
ディレクトリ: C:\Users\tosh\Downloads
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 2018/02/18 14:16 wp-content
-a---- 2018/02/18 14:13 1337244 wordpress.sql
Docker for Windowsのインストール
Install Docker for Windows | Docker Documentation
よりdockerをインストールする。一度ログアウトさせられ、更に再起動する。(6分)
docker-compose.ymlの作成
[windows]キー+[R]にて”powershell”と入力し、powershellを起動する。ローカル環境用のフォルダを作成する。下記では”aronaswp”だが、フォルダ名は何でもOK。
PS C:\Users\tosh\Downloads> cd .. PS C:\Users\tosh> mkdir aronaswp/db-data PS C:\Users\tosh> cd aronaswp PS C:\Users\tosh\aronaswp> ni -type file docker-compose.yml PS C:\Users\tosh\aronaswp> ii docker-compose.yml
ノートパッドでdocker-compose.ymlを開き、下記をコピペして保存。(2分)
version: "2"
services:
mysql:
image: mysql:latest
environment:
- MYSQL_ROOT_USER=root
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wp_user
- MYSQL_PASSWORD=root
volumes:
- db-data:/var/lib/mysql
- ./db-data:/docker-entrypoint-initdb.d
restart: always
ports:
- 3306:80
wordpress:
image: wordpress:latest
ports:
- 8888:80
depends_on:
- mysql
links:
- mysql
- phpmyadmin
environment:
- WORDPRESS_DB_HOST=mysql:3306
- WORDPRESS_DB_NAME=wordpress
- WORDPRESS_DB_USER=wp_user
- WORDPRESS_DB_PASSWORD=root
volumes:
- ./wp:/var/www/html/
restart: always
phpmyadmin:
image: phpmyadmin/phpmyadmin
environment:
- PMA_ARBITRARY=1
- PMA_HOST=mysql
- PMA_USER=root
- PMA_PASSWORD=root
links:
- mysql
ports:
- 8080:80
volumes:
- /sessions
restart: always
volumes:
db-data:
driver: local
ローカル環境の立ち上げ
フォルダを開いてwordpress.sqlを移動する
PS C:\Users\tosh\aronaswp> cp ..\Downloads\wordpress.sql .\db-data\
PS C:\Users\tosh\aronaswp> tree . /f
フォルダー パスの一覧
ボリューム シリアル番号は 00000028 AE0F:1A50 です
C:\USERS\TOSH\ARONASWP
│ docker-compose.yml
│
└─db-data
wordpress.sql
docker-composeを走らせる
PS C:\Users\tosh\aronaswp> docker-compose up -d
途中でcドライブをシェアしますか、Firewallでのアクセス許可しますか、など質問が来るので全てyesと答える(4分)
下記のエラーが出る場合にはDockerでpullやrunを行ったときイメージダウンロードができなくなった問題の解決法 – 佐藤の屋敷に沿って、DNSサーバーを固定すると上手くいく。
PS C:\Users\tosh\aronaswp> docker-compose up -d Pulling mysql (mysql:latest)... ERROR: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
メディアファイル・テーマ・プラグインなどのリストア
wp-contentフォルダを上記のwpフォルダ内にコピーする。(1分)
PS C:\Users\tosh\aronaswp> cp ..\Downloads\wp-content\ .\wp\
ドメイン名の書き換え
「WordPress の引越し – WordPress Codex 日本語版」にて推奨されている「WordPressデータベース用検索と置換スクリプト」を下記よりダウンロード
Database Search and Replace Script in PHP | interconnect/it
下記のように”wp”フォルダの直下に解凍してできた”Search-Replace-DB-master”フォルダを移動する。
PS C:\Users\tosh\aronaswp> cp ..\Downloads\Search-Replace-DB-3-1-0-emaildownloads\Search-Replace-DB-master\ .\wp\
http://localhost:8888/Search-Replace-DB-master/にアクセスする。
元のドメインが”example.com”で”WordPress”というサブディレクトリにインストールされていた場合は
replace [example.com/WordPress] with [localhost:8888]と指定して、[live run]をクリックして変換。更に
replace [example.com] with [localhost:8888]と指定して、[live run]をクリックして変換。
ルートディレクトリにインストールされていた場合は2つ目の変換だけでOK(5分)
これでhttp://localhost:8888/にリストア完了。ここまで合計22分。
* Macでの同じ操作。


