この記事は最後に更新してから1年以上経過しています。
説明
請け負っていた業務が一段落したので、「さくらのVPS」で「KUSANAGI」を試してみました。推奨環境はメモリ4GBとなっているが、今回は実験的な利用なので、SSD 2GBプランでトライしました。
まずはドキュメントで作業の流れを確認
「さくらのVPS(以下、VPS)」のコントロールパネルでOSをインストールする前にKUSANAGIのセットアップの前に「KUSANAGIに関するドキュメント」を一読し、大まかな作業の流れを把握する。
- KUSANAGIの初期設定
- ロケージョン選択
- 言語選択
- キーボードレイアウト選択
- kusanagiユーザーのパスワード設定
- kusanagiユーザーの秘密鍵パスフレーズ設定
- MangoDB(MySQL)のROOTユーザーのパスワード設定
- Webサーバー選択
- PHP環境(application server)選択
- KUSANAGIのプロビジョニング
- WordPressの言語選択
- ホスト名の設定
- メールアドレスの設定(Let's Encrypt用)
- WordPress用データベースの名前を設定
- WordPress用データベースのユーザー名を設定
- WordPress用データベースのパスワードを設定
- WordPressのインストール
上記の1と2は、それぞれが1つのコマンドとなっており、それぞれのコマンド内で各種設定を行う仕組みとなっている。ホスト名については後から設定できると思われるが、すでに取得・決定済みであれば、VPSのコントロールパネルでIPアドレスを確認したところでTTL値小さくしてDNSレコードを設定し反映を早めておくと、一連の作業をスムーズに行える。
KUSANAGIの初期設定前に
VPSのコントロールパネルにアクセスして「各種設定」-「OSインストール」を選択して「標準OSインストール」を選択。「インストールOS」で「KUSANAGI (CentOS7 x86_64)」を選択してOSのインストールを開始する。
OSのインストールが終わるとステータス表示が「稼働中」に変わるので、ターミナルソフトを使ってrootアカウントでログインする。はじめにSSHのポート番号を22番から別の番号に変更する。
# vi /etc/ssh/sshd_config
「#Port 22」の「#」を取って「22」を適当な番号に変更して保存する。
# vi /usr/lib/firewalld/services/ssh.xml
「<port protocol="tcp" port="22"/>」の「22」を上記のポート番号に変更して保存する。
# firewall-cmd --reload
# systemctl restart sshd.service
今使っているターミナルはそのままにして、新たに先ほどのポート番号に変更したターミナルソフトを使ってrootアカウントでログインする。
# yum update
公式ドキュメントでは「remi-php56」を有効にしてアップデートしているが、今回はPHP7環境を採用しているので「remi」は有効にせず標準のアップデートを行った。
# reboot
KUSANAGIの初期設定
サーバーが再起動したら、ターミナルソフトを使ってrootアカウントでログインする。KUSANAGIのさまざまな設定は、「kusanagi」コマンドで行うようになっており、初期設定は次のパラメータを指定する。
# kusanagi init
画面の指示にしたがって好みの内容を選択していくだけでよい。途中で入力する各パスワードおよびパスフレーズは忘れずにメモする。
ちなみに「Webサーバー選択」および「PHP環境(application server)選択」については、初期設定した後に切替できるようになっている。
rootアカウントのログイン禁止
ポート番号を変えているとはいえ、いつまでもrootアカウントでログインできる状態にしておくわけにはいかないので、「KUSANAGIのプロビジョニング」の前にrootアカウントでログインできないようにする。
# vi /etc/group
「wheel」グループに'kusanagi'を追加して保存する。
# vi /etc/login.defs
ファイルの末尾に「SU_WHEEL_ONLY yes」を追加して保存する。
# vi /etc/pam.d/su
「#auth required pam_wheel.so use_uid」の「#」を削除して保存する。
# vi /etc/ssh/sshd_config
「PasswordAuthentication yes」を「no」に変更して保存する(行頭に「#」がある場合は削除する)。
# systemctl restart sshd.service
作業しているターミナルソフトは開いたままにして、KUSANAGIの初期設定で生成されたkusanagiユーザーの秘密鍵ファイル「/root/kusanagi.pem」をパソコン側にダウンロードする。ターミナルソフトでkusanagiユーザーをパスワードでログイン試行してログインできないことを確認。続いてターミナルソフトの認証方式をパスワードから鍵交換に変更してログイン試行する。ログインできたら、rootアカウントに切り替えできることを確認する。
$ su -
rootアカウントに切り替えできたら、rootアカウントでログインできないよう次の設定を行う。
# vi /etc/ssh/sshd_config
「PermitRootLogin yes」を「no」に変更して保存する(行頭に「#」がある場合は削除する)。
# systemctl restart sshd.service
念のためrootアカウントでログインできないことを確認する。
KUSANAGIのプロビジョニング
KUSANAGIのプロビジョニングは、標準でWordPressをディレクトリ・ファイルの配置までを行う。Let's Encryptによるサイト証明書の発行・設定を行う場合は、以下のコマンドを実行する前に、ブラウザのアドレスバーに「http://指定したドメイン名/」を入力してアクセスできることを確認しておくとよい。
無事アクセスできたら次のコマンドを実行する。
# kusanagi provision html
ここでも画面の指示にしたがって好みの内容を入力していくだけでよい。ここで入力したデータベース名、データベースのユーザー名、データベースのパスワードは次節で使用するのでメモしておく。データベース用のパスワード入力まで終わると関連するファイルのダウンロードが始まり、適宜配置されていく。コマンドのパラメータとして指定した「html」はプロファイル名となり、それがディレクトリ名にも適用される。Webドキュメント関連ファイルは「/home/kusanagi/html/」以下に配置される。
WordPressのインストール
ここからはブラウザでの作業となる。ブラウザのアドレスバーに「http://指定したドメイン名/」を入力すると、WordPressのおなじみのインストールページが表示される。前節で入力したデータベース関連情報と管理者アカウント情報を入力してインストールを進める。インストールが終わったら、WordPressにログインしてダッシュボードページを表示する。
4つの「警告」が表示されている。wp-config.phpファイルの3つとwp-contentディレクトリの属性変更を順に行う。
後はKUSANAGIとは関係ないが、ログインページを標準のままにしておくのはリスクがあるので、弊社のプラグイン「Login rebuilder」をインストールしてログインページを変更する。
サイトを診断
ここまでの状態で、「http」と「https」でのアクセスが可能になっている。SSLアクセス時の状態をQualys SSL LABSサイト(SSL Server Test)にて診断してみた。
診断結果は「A」ということで、まずまずといったところ。実質的な作業時間は1時間もかかっていないにもかかわらずここまでサイト構築できるのは驚きの一言。できあがったサイトのパフォーマンスが気になるところである。
最終更新 : 2018年05月27日 10:43
お勧め
get_next_image_link(2021年7月25日 更新)
wp_after_insert_post(2020年12月11日 更新)
wp_save_post_revision(2024年1月10日 更新)
wp_debug_backtrace_summary(2012年6月15日 更新)
nocache_headers(2018年5月27日 更新)