システム
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分かかっていました。
少し大きめのカップラーメンを選びましょう。