Blogブログ

システム

wordpress

2020.06.21

インスタントラーメン作ってる間にWordPressの環境構築終える

突然ですがWordPressのような小さいアプリケーションの環境構築に時間を使ってる場合ではないというのは人類の総意ということでよろしいでしょうか。

ですよね。今から、3分間でブログを書きながらWPの環境構築をしようと思います。

私はMacを使っています。
https://docs.docker.com/docker-for-mac/install/
こちらのサイトでdocker-composeを使えるようになってる前提です。

まずdocker-compose.ymlというファイルを用意します。

その中身は、

version: "3"
services:
  db:
    image: mysql:5.7
    #container_name: "mysql57"
    volumes:
      - ./db/mysql:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_pass_fB3uWvTS
      MYSQL_DATABASE: wordpress_db
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: instantnoodlevswp2020

  wordpress:
    image: wordpress:latest
    #container_name: "wordpress"
    volumes:
      - ./wordpress/html:/var/www/html
      - ./php/php.ini:/usr/local/etc/php/conf.d/php.ini
    restart: always
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_NAME: wordpress_db
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: instantnoodlevswp2020

  phpmyadmin:
    image: phpmyadmin/phpmyadmin:latest
    #container_name: "phpmyadmin"
    restart: always
    depends_on:
      - db
    ports:
      - 8888:80
~                                                                                                                                                       
~                 

です。

はい。
これを書いたら保存して同階層で
docker-compose up -d
を実行しましょう。

実行し終わるとそこには..

db docker-compose.yml php wordpress

という4つのフォルダがあるかと思います。
http://127.0.0.1:8080/
にアクセスしたらもうWPが見れますね。
ちなみに
http://127.0.0.1:8888/
にするとphpmyadminも使えます。
以上です。

これだと3分どころか30秒で終わってしまうので話の設定を変えようと思います。

例えば、誰がすでにWPの開発をしていて、
自分もその確認のために構築をして最新コードとsqlをgitで受け渡してもらい自分のローカルで確認したいという状態だとしましょう。

これで後2分30秒稼ぎます。

まず、先ほどの4つのフォルダのwordpressを消します。

そして同じフォルダでWPプロジェクトのリポジトリを共有してもらい、
git clone をしてクローンされたフォルダの名前を
wordpressに変えます。

そしてwordpressフォルダの中に入り、
wp-config.phpの一部を修正します。
(docker-compose.ymlに書いた情報に合わせるだけです)

define( 'DB_NAME', 'wordpress_db');

/** MySQL database username */
define( 'DB_USER', 'wp_user');

/** MySQL database password */
define( 'DB_PASSWORD', 'instantnoodlevswp2020');

/** MySQL hostname */
define( 'DB_HOST', 'db:3306');

ですね。

そして、受け取ったsqlをsublimeか何かで開きましょう。

ローカルで開発している人は
勝手に/etc/hosts なんかで
127.0.0.1 mylocal.wordpress.com 等で変なURLを設定しているかもしれないので、
そこを一括で置換します。

WPはURLがDBに入ってるためです。

なのでmylocal.wordpress.comを127.0.0.1:8080 に一括置換します。

そしてそのsqlを
127.0.0.1:8888にアクセスしてphpmyadminからインポートします。

完成です。

WPのログインユーザも変わってしまっているので情報を教えてもらえば良いと思います

時間を見たらなんだかんだで4分かかっていました。
少し大きめのカップラーメンを選びましょう。