もっと素早くWordPressをインストールする

  • 1
    Like
  • 0
    Comment

はじめに

この記事は 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
# ファイルは .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)"

Screen Shot 2016-12-06 at 0.10.50.png

インストール完了です!

.htenvファイルについて

.htenvファイルは使い回し可能です。
データベースやユーザなどを設定した上で外からは見えない場所に置いておき、対象ディレクトリにコピーしてwphereを呼ぶことを想定しています。

個人的に開発環境のドメインは’スラッグ’+'.dev'としていまして、そこですぐに運用することを想定しています。

tree
~/public_html
|-- example1.dev
|-- example2.dev
|-- hogehoge1.dev
|-- anken1.dev
|-- anken2.dev
|-- anken3.dev
`-- tesuto.dev

.htenvはDB_NAMEを空にしておくと自動的にusername+'_スラッグ'として設定されます。

.htenv
# 空の場合、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が入っています。

1__yousan_aramaki____public_html__zsh_.png

その他

セキュリティ

設定ファイル.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 さんです。