データのバックアップ
wordpress.sql(SQLダンプファイル)とwp-contentフォルダをサーバーよりローカルの適当な所にコピーする
wordpress.sqlはBackWPupプラグインの1クリックバックアップで、wp-contentフォルダはftpなどで取得しておく。(1分)
Docker for Macのインストール
Install Docker for Mac | Docker Documentation
dockerを起動。初回のみMacのログインパスワードを聞かれる(1分)
docker-compose.ymlの作成
「docker-composeで作るWordpress環境 – Qiita」を参考にテキストエディタでdocker-compose.ymlを下記のように作成する。(1分)
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
ローカル環境の立ち上げ
ローカル環境用のフォルダを作成する。下記では”aronaswp”だが、フォルダ名は何でもOK。
$ mkdir aronaswp $ mkdir aronaswp/db-data
wordpress.sqlとdocker-compose.ymlをコピー又は移動する。下記のようになるはず。
$ tree aronaswp aronaswp/ ├── db-data │ └── wordpress.sql └── docker-compose.yml
ローカル環境用のフォルダに移動して、docker-composeを走らせる
$ cd aronaswp $ docker-compose up -d
コンパイルが終わって立ち上がると下記のようにフォルダが出来ている。(6分)
$ tree . -L 2 . ├── db-data │ └── wordpress.sql ├── docker-compose.yml └── wp ├── index.php ├── license.txt ├── readme.html ├── wp-activate.php ├── wp-admin ├── wp-blog-header.php ├── wp-comments-post.php ├── wp-config-sample.php ├── wp-config.php ├── wp-content ├── wp-cron.php ├── wp-includes ├── wp-links-opml.php ├── wp-load.php ├── wp-login.php ├── wp-mail.php ├── wp-settings.php ├── wp-signup.php ├── wp-trackback.php └── xmlrpc.php
メディアファイル・テーマ・プラグインなどのリストア
wp-contentフォルダを上記のwpフォルダ内に上書きコピーする。(1分)
ドメイン名の書き換え
「WordPress の引越し – WordPress Codex 日本語版」にて推奨されている「WordPressデータベース用検索と置換スクリプト」を下記よりダウンロード
Database Search and Replace Script in PHP | interconnect/it
下記のように”wp”フォルダの直下に解凍した”Search-Replace-DB-master”フォルダを移動する。
aronaswp ├── db-data │ └── wordpress.sql ├── docker-compose.yml └── wp ├── Search-Replace-DB-master ├── index.php ├── license.txt (以下略)
http://localhost:8888/Search-Replace-DB-master/にアクセス
元のドメインが”example.com”だった場合は上記のように変換先を”localhost:8888″に指定して、”live run”をクリックして変換。
元のwordpressがサブディレクトリ”path”にインストールされていた場合は下記のように先にpath付きで置換した後に、上記のようにドメインのみの部分を置換する。(5分)
http://localhost:8888/にリストア完了。ここまで合計15分。
確認・その他
http://localhost:8888/wp-admin
でダッシュボードに入って、プラグインを有効化したり、アップデートがあれば行う。
ローカルの環境(buildしたcontainer)を保存したままサービス停止するのは
$ docker-compose down
やり直すためにbuildしたcontainerを停止した上に削除するには
$ docker-compose down -v
バックグラウンド(daemon)ではなく、ログを出力させながらdocker-composeさせるには
$ docker-compose up
http://localhost:8080でphpMyAdminにてDB内容の確認可能。
treeコマンドは必要あればhomebrewでインストール
$ brew install tree
以上。