テーマを変更中でお見苦しい点があると思います。ご迷惑をおかけいたします。

KUSANAGI for Vagrantで高速WordPress環境を構築する

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仮想マシンを立ち上げます。次の手順に沿って実施してください。

  1. Vagrantのプロジェクトルートのディレクトリを作成し、そこへ移動します。

    $ mkdir kusanagi
    $ cd kusanagi

    ディレクトリを作成する場所は任意ですので、好きな場所へ移動して上述のコマンドを実行します。

  2. Vagrantプロジェクトの初期化(Vagrantfileの作成)を実行します。

    $ vagrant init primestrategy/kusanagi

    引数の「primestrategy/kusanagi」はKUSANAGIのBOXファイルの名前です。BOXファイルとはVagrantにおける仮想マシンのイメージです。プロジェクトを初期化するとVagrantfileが作成されます。

  3. 作成された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
  4. 仮想マシンを起動します。

    $ vagrant up
  5. 仮想マシンへログインして、rootユーザーへスイッチします。

    $ vagrant ssh
    $ sudo su -
  6. パッケージをアップデートします。アップデートにはしばらく時間がかかります。

    # yum update kusanagi -y
    # yum --enablerepo=remi,remi-php56 update -y
  7. アップデートが完了したら再起動します。

    # reboot

KUSANAGIの初期設定を行う

ここからはKUSANAGIの初期設定を行なっていきます。

対話的に必要な情報を入力していきますが、ここでの入力例は一例ですので、要件や環境に合わせて変更しても構いません。それでは実施していきましょう。

  1. 再度、仮想マシンへログインして、rootユーザーへスイッチします。

    $ vagrant ssh
    $ sudo su -
  2. KUSANAGIの初期設定を行うため「kusanagi init」を実行します。このコマンドを実行すると必要情報を対話的に設定できます。

    # kusanagi init
  3. タイムゾーンを選択します。「Asia/Tokyo」を入力してEnterキーを押します。

    Search or select timezone: Asia/Tokyo
    Africa/Abidjan                                                                                     
    Africa/Accra                                                                                       
    ...
  4. 言語の選択は「2」を入力してEnterキー押し、日本語を選択します。

    Select your using language.
    
    1 : English
    2 : 日本語
    
    q : quit
    
    Which are you using?: 2
  5. キーボードレイアウトは「2」を入力してEnterキー押し、日本語キーボードを選びます。

    Select your keyboard layout.
    
    1 : English
    2 : Japanese
    
    q : quit
    
    2
  6. kusanagiユーザーのパスワードの設定です。任意のパスワードを2回入力します。

    kusanagi user password using in software update.
    
    Changing password for user kusanagi.
    New password:
    ...
    Retype new password: 
          
  7. 鍵ペアのパスフレーズには、任意のパスフレーズを2回入力します。パスフレーズを設定しない場合は、空のままEnterキー2回入力します。

    Generating public/private rsa key pair.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
  8. WebサーバーはNGINXを選択するため、何も入力しないでEnterキーを入力します。

    Please tell me your web server option.
    1) NGINX(Default)
    2) Apache
    
    Which you using?(1):
  9. PHP7を使用するため、何も入力しないでEnterキーを入力します。

    Then, Please tell me your application server option.
    1) PHP7(Default)
    2) HHVM
    3) PHP5
    
    Which you using?(1):
  10. データベースはMariaDBを選択するため、何も入力しないでEnterキーを入力します。

    Then, Please tell me your Database system.
    1) MariaDB(Default)
    2) PostgreSQL
    
    Which you using?(1):
  11. データベースのrootユーザーのパスワードを設定します。任意のパスワードを2回入力します。

    Enter MySQL root password. Use [a-zA-Z0-9.!#%+_-] 8 characters minimum.
    Re-type MySQL root password.
  12. 必要な情報の入力は終わりです。完了すると次のようなメッセージが表示されます。

    KUSANAGI initialization completed
    Done.

KUSANAGIのプロビジョニング

続いて、KUSANAGIのプロビジョニングを行います。

プロビジョニングを行うことにより、WordPressに使用するためのプロファイルを作成し、ドキュメントルートやデータベースなどが設定されます。

プロビジョニングも対話的に設定していきます。先程と同様、記載は一例ですので、必要に応じて変更してください。

  1. KUSANAGIのプロビジョニングを開始します。次のコマンドを実行してください。。

    # kusanagi provision kusanagi_html
  2. kusanagi_htmlの部分は任意です。上述のように実行すると/home/kusanagi/kusanagi_html/というディレクトリが作成され、WordPressに必要なデータが格納されます。WordPressサイトのドキュメントルートのディレクトリもここに作成されます。

  3. WordPressの言語選択を行います。「2」を入力してEnterキーを押します。

    Choose the installation language of WordPress.
    1 : en_US
    2 : ja
    
    q : quit
    
    Which do you choose?:  2
  4. 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
  5. これは先ほど設定したホスト名に対応する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.
  6. WordPressのデータを保存するデータベースの名前を入力します。名前は任意ですがここでは「wordpress」とします。

    Enter the name of your database.
    wordpress
    Re-type database name you create.
    wordpress
  7. データベースに新規に作成するユーザーの名前を入力します。名前は任意ですが、ここでは「dbadmin」とします。

    Enter user name for database wordpress.
    dbadmin
    Re-type user name for database wordpress.
    dbadmin
  8. 作成するデータベースユーザーのパスワードを設定します。任意のパスワードを入力します。

    Enter password for database user 'dbadmin'. USE [a-zA-Z0-9.!#%+_-] 8 characters minimum.
    Re-type password for database user 'dbadmin'.
  9. 必要情報の入力は終わりです。完了すると次のようなメッセージが表示されます。

    Provisioning of kusanagi_html completed. Access example.com and install WordPress!
    Done.

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の初期設定

  1. Webブラウザで「http://example.com」へアクセスします。異なるホスト名を設定した場合は読み替えてください。

  2. URLにアクセスするとWordPressの設定開始画面が表示されます。「さあ、始めましょう!」ボタンをクリックします。

    WordPressの設定開始画面です

  3. 次の画面で「データベース名」、「ユーザー名」、「パスワード」を入力します。これらはKUSANAGIプロビジョニングで設定したものです。「データベースのホスト名」、「テーブル接頭辞」はそのままでも大丈夫です。

    入力し終えたら「送信」ボタンをクリックします。

    WordPressのインストール設定入力画面です

  4. 次の画面が表示されたら「インストールを実行」ボタンをクリックします。

  5. 「ようこそ」画面が表示されたら「サイトのタイトル」、「ユーザー名」、「メールアドレス」を入力します。

    「パスワード」はそのままで大丈夫でしょう。一応、Googleなどのクローラーがインデックスしないように「検索エンジンでの表示」はチェックしておきます。

    すべて入力したら、「WordPressをインストール」ボタンをクリックします。

    WordPressサイトの設定画面です

  6. 次の画面が表示されたらインストールは完了です。「ログイン」ボタンをクリックしましょう。

    WordPressのインストール完了画面です

  7. WordPressのユーザー名とパスワードを入力して、「ログイン」ボタンをクリックします。

    ダッシュボードへのログイン画面です

  8. 次のようにダッシュボード画面が表示されればすべて完了です。

    WordPressのダッシュボード画面です

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

・PM、SE、SIなどを20年以上経験
・ネットワークスペシャリスト、セキュリティスペシャリストなど複数のIT国家資格を保有

目次