KUSANAGIとは超高速なCMS実行環境を提供する仮想マシンイメージです。いくつかのレンタルサーバーで利用できるので、ご存知の方も多いかもしれません。無償版もありますが、個人利用であればBusiness EditionやPremium Editionもすべて無料で使用できます。
KUSANAGIにはOSやミドルウェア群が含まれ、既にさまざまな高速化が施されていますので、KUSANAGI上でWordPressを実行すれば、Webサイトの表示がとっても速くなります。
この記事では「KUSANAGI for Vagrant」を使って、VagrantでWordPressサイトを立ち上げるところまでの手順を順を追って説明します。
必要なもの
VagrantでWordPressサイトを構築するに次のものが必要です。
- ホストマシン
- Windows、Mac、Linuxのいずれかのパソコン。
- Vagrant
- まだインストールしていなければ、Vagrantの公式サイトからダウンロードしてインストールしておいてください。
- VirtualBox
- こちらもインストールしていなければ、VirtualBoxの公式サイトからダウンロードしてインストールしておいてください。
必要なものが準備できたら、Windowsならコマンドプロンプト、LinuxやMacならターミナルを立ち上げましょう。ここからはコマンドを使って作業していきます。
どのOSを使っていてもコマンドは同じですが、プロンプトはこの記事の例と異なるかもしれません。その点はご了承ください。
VagrantでKUSANAGI仮想マシンを構築する
まずはVagrantでKUSANAGI仮想マシンを立ち上げます。次の手順に沿って実施してください。
-
Vagrantのプロジェクトルートのディレクトリを作成し、そこへ移動します。
$ mkdir kusanagi $ cd kusanagi
ディレクトリを作成する場所は任意ですので、好きな場所へ移動して上述のコマンドを実行します。
-
Vagrantプロジェクトの初期化(Vagrantfileの作成)を実行します。
$ vagrant init primestrategy/kusanagi
引数の「primestrategy/kusanagi」はKUSANAGIのBOXファイルの名前です。BOXファイルとはVagrantにおける仮想マシンのイメージです。プロジェクトを初期化するとVagrantfileが作成されます。
-
作成されたVagrantfileを編集します。Windowsの場合はテキストエディタで編集してください。
$ vi Vagrantfile
下記の【編集前】の部分を探して【編集後】の状態に修正します。
【編集前】
# config.vm.network "private_network", ip: "192.168.33.10"
【編集後】
config.vm.network "private_network", ip: "192.168.33.10" config.vm.provider "virtualbox" do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] end
編集後の「”–memory”」は仮想マシンに割り当てるメモリ量です。この例では1024MB(1GB)を割り当てています。
少なすぎるとKUSANAGIの高速化が十分に発揮できませんので、最低1GBは割り当てましょう。余裕があればもっと増やすと良いでしょう。
不要なコメント除いた編集ファイル全体は次のようになります。
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "primestrategy/kusanagi" config.vm.network "private_network", ip: "192.168.33.10" config.vm.provider "virtualbox" do |vb| vb.customize ["modifyvm", :id, "--memory", "1024"] end end
-
仮想マシンを起動します。
$ vagrant up
-
仮想マシンへログインして、rootユーザーへスイッチします。
$ vagrant ssh $ sudo su -
-
パッケージをアップデートします。アップデートにはしばらく時間がかかります。
# yum update kusanagi -y # yum --enablerepo=remi,remi-php56 update -y
-
アップデートが完了したら再起動します。
# reboot
KUSANAGIの初期設定を行う
ここからはKUSANAGIの初期設定を行なっていきます。
対話的に必要な情報を入力していきますが、ここでの入力例は一例ですので、要件や環境に合わせて変更しても構いません。それでは実施していきましょう。
-
再度、仮想マシンへログインして、rootユーザーへスイッチします。
$ vagrant ssh $ sudo su -
-
KUSANAGIの初期設定を行うため「kusanagi init」を実行します。このコマンドを実行すると必要情報を対話的に設定できます。
# kusanagi init
-
タイムゾーンを選択します。「Asia/Tokyo」を入力してEnterキーを押します。
Search or select timezone: Asia/Tokyo Africa/Abidjan Africa/Accra ...
-
言語の選択は「2」を入力してEnterキー押し、日本語を選択します。
Select your using language. 1 : English 2 : 日本語 q : quit Which are you using?: 2
-
キーボードレイアウトは「2」を入力してEnterキー押し、日本語キーボードを選びます。
Select your keyboard layout. 1 : English 2 : Japanese q : quit 2
-
kusanagiユーザーのパスワードの設定です。任意のパスワードを2回入力します。
kusanagi user password using in software update. Changing password for user kusanagi. New password: ... Retype new password:
-
鍵ペアのパスフレーズには、任意のパスフレーズを2回入力します。パスフレーズを設定しない場合は、空のままEnterキー2回入力します。
Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): Enter same passphrase again:
-
WebサーバーはNGINXを選択するため、何も入力しないでEnterキーを入力します。
Please tell me your web server option. 1) NGINX(Default) 2) Apache Which you using?(1):
-
PHP7を使用するため、何も入力しないでEnterキーを入力します。
Then, Please tell me your application server option. 1) PHP7(Default) 2) HHVM 3) PHP5 Which you using?(1):
-
データベースはMariaDBを選択するため、何も入力しないでEnterキーを入力します。
Then, Please tell me your Database system. 1) MariaDB(Default) 2) PostgreSQL Which you using?(1):
-
データベースのrootユーザーのパスワードを設定します。任意のパスワードを2回入力します。
Enter MySQL root password. Use [a-zA-Z0-9.!#%+_-] 8 characters minimum. Re-type MySQL root password.
-
必要な情報の入力は終わりです。完了すると次のようなメッセージが表示されます。
KUSANAGI initialization completed Done.
KUSANAGIのプロビジョニング
続いて、KUSANAGIのプロビジョニングを行います。
プロビジョニングを行うことにより、WordPressに使用するためのプロファイルを作成し、ドキュメントルートやデータベースなどが設定されます。
プロビジョニングも対話的に設定していきます。先程と同様、記載は一例ですので、必要に応じて変更してください。
-
KUSANAGIのプロビジョニングを開始します。次のコマンドを実行してください。。
# kusanagi provision kusanagi_html
-
WordPressの言語選択を行います。「2」を入力してEnterキーを押します。
Choose the installation language of WordPress. 1 : en_US 2 : ja q : quit Which do you choose?: 2
-
Webサイトのホスト名(FQDN)を入力します。例えば「kusanagi.tokyo」のように入力すると、「https://kusanagi.tokyo/〜」でWrodPressサイトへアクセスできるようになります。ここではローカルなテスト環境なので「example.com」としています。
Enter hostname(fqdn) for your website. ex) kusanagi.tokyo example.com Re-type hostname(fqdn) for your website. example.com
-
これは先ほど設定したホスト名に対応するLet’s EncryptのSSL証明書を取得します。Let’s Encryptのメールアドレスを入力すると、KUSANAGIが自動的にLet’s EncryptのSSL証明書を取得して設定します。するとWebサイトでHTTPSが使えるようになります。つまりサイトのURLとして「https://kusanagi.tokyo/〜」が利用できるようになります。
今回はテスト環境なのでSSL証明書は取得しません。Let’s Encryptを使用しない場合は、何も入力せず、空のまま2度Enterキーを押します。
In order to use Let's Encrypt services, you must agree to Let's Encrypt's Term of Services. If you agree to this TOS, type your email address; if not, hit enter twice. TOS of Let's Encrypt : https://letsencrypt.org/repository/ Re-type mail address.
-
WordPressのデータを保存するデータベースの名前を入力します。名前は任意ですがここでは「wordpress」とします。
Enter the name of your database. wordpress Re-type database name you create. wordpress
-
データベースに新規に作成するユーザーの名前を入力します。名前は任意ですが、ここでは「dbadmin」とします。
Enter user name for database wordpress. dbadmin Re-type user name for database wordpress. dbadmin
-
作成するデータベースユーザーのパスワードを設定します。任意のパスワードを入力します。
Enter password for database user 'dbadmin'. USE [a-zA-Z0-9.!#%+_-] 8 characters minimum. Re-type password for database user 'dbadmin'.
-
必要情報の入力は終わりです。完了すると次のようなメッセージが表示されます。
Provisioning of kusanagi_html completed. Access example.com and install WordPress! Done.
kusanagi_htmlの部分は任意です。上述のように実行すると/home/kusanagi/kusanagi_html/というディレクトリが作成され、WordPressに必要なデータが格納されます。WordPressサイトのドキュメントルートのディレクトリもここに作成されます。
hostsファイルの編集
KUSANAGIのプロビジョニングでWebサイトのホスト名を設定しましたが、「http://example.com/〜」のようにホスト名でアクセスしようとしても名前解決できないのでアクセスできません。これはDNSサーバーに「example.com」のデータが登録されていないためです。
しかし、通常はDNSサーバーへ問い合わせる前に、ローカルマシンのhostsファイルで名前解決を試みます。従って、ローカルマシンのhostsファイルで名前解決できるよう設定すれば、ローカルマシンからホスト名でアクセスできるようになります。
hostsファイルは次の場所にあるのでこれを編集します。
Windowsの場合 C:\Windows\System32\drivers\etc\hosts Linux、Macの場合 /etc/hosts
hostsファイルに次の行を追加します。IPアドレスはVagrantfileで指定したものです。異なる設定をした場合は適宜変更してください。
192.168.33.10 example.com
WordPressの初期設定
-
Webブラウザで「http://example.com」へアクセスします。異なるホスト名を設定した場合は読み替えてください。
-
URLにアクセスするとWordPressの設定開始画面が表示されます。「さあ、始めましょう!」ボタンをクリックします。
-
次の画面で「データベース名」、「ユーザー名」、「パスワード」を入力します。これらはKUSANAGIプロビジョニングで設定したものです。「データベースのホスト名」、「テーブル接頭辞」はそのままでも大丈夫です。
入力し終えたら「送信」ボタンをクリックします。
-
次の画面が表示されたら「インストールを実行」ボタンをクリックします。
-
「ようこそ」画面が表示されたら「サイトのタイトル」、「ユーザー名」、「メールアドレス」を入力します。
「パスワード」はそのままで大丈夫でしょう。一応、Googleなどのクローラーがインデックスしないように「検索エンジンでの表示」はチェックしておきます。
すべて入力したら、「WordPressをインストール」ボタンをクリックします。
-
次の画面が表示されたらインストールは完了です。「ログイン」ボタンをクリックしましょう。
-
WordPressのユーザー名とパスワードを入力して、「ログイン」ボタンをクリックします。
-
次のようにダッシュボード画面が表示されればすべて完了です。