Nginx + WordPress を 1分で構築する CHEFクックブック


概要

SoftLayer上のサーバーで、WordPressを約1分で設定するクックブック(GitHub https://github.com/takara9/wordpress01) の紹介です。

CHEFをできるだけ簡単に利用する方向で見直すと、こんな事が出来ました。 knife や chef server も使っていません。curl と git で取得して、chefコマンドを実行するだけの超簡単作業で、プロビジョニング完了後、約3分でWordPressを使い始める事が出来ます。

作業手順と実績時間

仮想サーバーをオーダーして、プロビジョニングが完了したら、root でログインして、以下のコマンドを実行します。

# apt-get install -y curl git
# curl -L https://www.opscode.com/chef/install.sh | bash
# knife cookbook create dummy -o /var/chef/cookbooks
# git -C /var/chef/cookbooks clone https://github.com/takara9/wordpress01
# chef-solo -o wordpress01
<中略>
Running handlers complete
Chef Client finished, 34/43 resources updated in 01 minutes 00 seconds

このクックブックを利用した場合、sshでログインしてから、CHEFで設定して、WordPressのページが利用出来るまでの実績時間は、約3分でした。

このクックブックの適用が完了すると、以下のページにアクセスする事ができます。
http://サーバーのIPアドレス/wordpress/

前提条件

最小実行条件を次の表に書きます。 最初は最小条件で稼働させておき、アクセス量などの負荷に応じてCPUコア数やメモリ量など増設すると良いでしょう。

項目 数量/種類 備考
CPUコア数 1 x 2.0 GHz Core
メモリ(RAM) 1GB
First Disk 25GB (LOCAL)
OS Ubuntu Linux 14.04 LTS Trusty Tahr - Minimal Install (64 bit)

クックブックの説明

レシピ (https://github.com/takara9/wordpress01/tree/master/recipes) を読まないで、概要を知りたい方のために、箇条書きでご紹介します。

  • リポジトリから最新状態に更新
  • Nginx と php-fpm の導入とWordPressの実行用設定
  • MySQL の導入とユーザー作成、アクセス権作成、DB作成などの設定
  • Wordpressの最新版の導入

これだけの設定を実施するには、Linuxに慣れていても数時間は必要かもしれません。しかし、このレシピは、約1分で作業を間違いなく完了させるものです。

ファイアウォール設定も含めて早くする方法

サーバーのオーダー時に、ファイアウォール設定、日本語環境設定、日本時間のタイムゾーン設定を実施して、WordPressまでを導入する便利なプロビジョニング・スクリプトの例を用意しました。 このスクリプトは、https://github.com/takara9/ProvisioningScript/blob/master/ubuntu_chef_config においてあります。
サーバーのオーダー時に、プロビジョニング・スクリプトを実行する方法は、ソフトレイヤー活用ガイドの 1.2.2 設定スクリプトの自動実行 (https://www.change-makers.jp/post/10294) を参照願います。

https://github.com/takara9/ProvisioningScript の "ubuntu_chef_config" では、プロビジョニング・スクリプトの中から、CHEFを実行して、WordPressの実行環境を設定する方法を紹介しています。