はじめに
この記事は WordPress Advent Calendar 2016 六日目の記事です。
前日は Ko Takagi さんの 2016年のWordPressの思い出を振り返りますでした。
もっと素早くWordPressをインストールするためにスクリプトを書きました。
ダウンロード、DBとかの入力、初回ユーザ作成を一発でいけるようになります。
過去に書いた記事の改訂です。
最速でWordPress環境を構築してみる
http://qiita.com/yousan/items/7acfd8912dda1952d7d5
名前はwphere
です。
https://github.com/yousan/wphere
使い方
設定ファイル
設定ファイルを作成します。
スケルトンファイルを落として編集します。
$ curl -o .htenv https://raw.githubusercontent.com/yousan/wphere/0.1/.htenv.ja.sample
$ vi .htenv
このファイルにDBへの接続情報などを書いておきます。
# ファイルは .htenv という名前で保存してください
# インストールが終わったら ** 必ず ** このファイルは削除してください。
# データベースへの接続情報です。
DB_USER=username
DB_PASS=password
DB_HOST=localhost
# 空の場合、wphereを実行した現在のディレクトリから自動で決定されます
# ex.) ~/public_html/example.dev => username_example
DB_NAME=username_example
# WordPressで追加される初期ユーザです。パスワードは後で変更してください。
WP_USER=username
WP_MAIL=username@example.com
WP_PASS=password
WP_PREFIX=wp_
設定ファイルは.htenv
、.env
というファイル名を受け付けます。
WordPressのインストール
wphere
を呼びます。
$ bash -c "$(curl -fsSL https://raw.githubusercontent.com/yousan/wphere/0.1/wphere)"
インストール完了です!
.htenvファイルについて
.htenvファイルは使い回し可能です。
データベースやユーザなどを設定した上で外からは見えない場所に置いておき、対象ディレクトリにコピーしてwphere
を呼ぶことを想定しています。
個人的に開発環境のドメインは’スラッグ’+'.dev'としていまして、そこですぐに運用することを想定しています。
~/public_html
|-- example1.dev
|-- example2.dev
|-- hogehoge1.dev
|-- anken1.dev
|-- anken2.dev
|-- anken3.dev
`-- tesuto.dev
.htenv
はDB_NAMEを空にしておくと自動的にusername+'_スラッグ'として設定されます。
# 空の場合、wphereを実行した現在のディレクトリから自動で決定されます
# ex.) ~/public_html/example.dev => username_example
DB_NAME=
DB_NAMEを空にしてこんな感じにするとどんどんインストールできます。
$ SLUG=exmaple1
$ mkdir ~/${SLUG}.dev
$ cp ~/.htenv ~/public_html/${SLUG}.dev/; cd ~/public_html/${SLUG}.dev/
$ wphere
$ SLUG=exmaple1
$ mkdir ~/${SLUG}.dev
$ cp ~/.htenv ~/public_html/${SLUG}.dev/; cd ~/public_html/${SLUG}.dev/
$ wphere
自分の環境で~/public_html
を確認したところ80個ぐらいありました。
半分以上の環境にWordPressが入っています。
その他
セキュリティ
設定ファイル.htenv
はインストールが終わったら消してください。
ウェブサーバの設定によっては外部から見えるので危険です。
.ht
で始まるようにしたのは多くのウェブホスティングで403となるためです。
基本的には手元の環境構築用です。
もっとやりたいこと
- WP-CLIを不要にしたい
- .htenvを自動で消す
- 上書きモードをY/Nする
これを作るまでは
このコマンドを一元化するまでは以下のコマンドを暗記してました。
この後にブラウザを開くのが大変でした。
$ wget http://wordpress.org/latest.zip
$ unzip latest.zip
$ mv wordpress example2.com
$ cp ~/public_html/example.com/wp-config.php ./example2.com
$ emacs wp-config.php
(略)
また最近まで知らなかったのですが、latest-ja.zip
ってあったのですね。
ずっと英語版でインストール->言語ファイルを落として変更とかやってました。
知らなかったです便利ですね。
WP-CLI
上記のコマンドでインストールを覚えてからしばらくの後、WP-CLIが登場しました。
WP-CLIのおかげでインストールがすごく便利になったのですが、今度はコマンドが覚えられませんでした。そろそろ頭の容量が一杯になってきたのでひとまとめにしたい、というのがきっかけです。
ただWP-CLIもyamlファイルをうまく書けばwphere
は不要な気もしますね。
http://wp-cli.org/config/
wp-cli.yml
も時間をみてもっと活用します。
開発環境
こちらも自分の記事ですが、ローカルの開発環境を立てる仕組みも作りました。
中身は単なるdocker-composeです。
ローカル開発環境をもっとたくさんの人に使ってもらいたくてDockerで作りました
http://qiita.com/yousan/items/f05fa03c1f3951971f2f
このシステムと組み合わせるとホスト側のターミナルでwphere
を呼べば開発環境が構築されます。
以上です。
明日は misumi_takuma さんです。