ConoHaのVPSサーバーでKUSANAGIを使ったWordPress環境を構築する。
せっかくConoHaのVPSを契約したので備忘録として作業を記録していきます。
VPSといっても必要なWEBサーバやデータベースサーバーはKUSANAGIにパッケージされているので難易度はかなり優しいと思う。
なお私はMacを使って作業をしていますので、Windowsの方は一部参考にならないかもしれませんがご容赦ください。
目次
ConoHaのVPSを契約する。
2019年12月23日からConoHaのVPSが1年間20%オフになっていたので思わず飛びついてしまった。
ConoHaのユーザー登録などは特に書くことはないのですっ飛ばします。
レンタルサーバーならConoHa|登録者数17万アカウント突破
https://www.conoha.jp/
サーバのプランを選ぶ
かんたんKUSANAGIを使うためにはVPSの1GB以上のプランを選ぶ必要があります。
公式だとKUSANAGIのパフォーマンスを引き出すために4GB以上のプランが推奨されていますが、そこまでのアクセスがあるサイトでもないので、私は1GBにしました。
イメージタイプでアプリケーションタブの中の【かんたんKUSANAGI】をチェックします。
rootパスワードはroot権限でサーバーにSSHでアクセスするために必要なので必ず控えておいてください。
SSHキーを新規作成にチェックすると「キーの名前.pem」という鍵ファイルをダウンロードできます。
あとでSFTPなどを使って鍵認証でのサーバー接続に使いますので必要な場合は作っておくと良いでしょう。
ダウンロードできるのは作成した時の一度きりなので、お気をつけください。
この鍵ファイルはroot権限でないとアクセスできない所に保管されているのでダウンロードを忘れた場合はroot権限を使ってSSH、SFTPでサーバーにアクセスしてダウンロードしましょう。
入力が終わったら右の「追加」ボタンでサーバーを追加します。
KUSANAGIの初期設定をする
サーバーの起動が完了したらKUSANAGIの初期設定をします。
追加したサーバーの詳細設定画面に移動し、サーバーのIPアドレスを確認したあと、コンソールを起動します。
このコンソールが使いづらい場合Macならターミナル、WindowsならターミナルソフトをダウンロードしてサーバーにSSH接続します。
# ssh root@サーバーのIPアドレス
ターミナルソフト(コンソール)で上記のコマンドを打ち込みサーバーにアクセスします。
この時rootのパスワードを聞かれますので、サーバーを追加した時に控えておいたパスワードを入力します。
ターミナルソフトでパスワードを入力しても、「*」のような何文字打ったかわかるようにはなっていませんので、何文字打ち込んだか忘れないように確実に打ち込んでください。
サーバーを追加した時にSSHキーを新規作成した場合は鍵ファイルでの認証が必要です。(ターミナルソフトを使う場合)
ご自身のパソコンに鍵ファイルを配置してSSH接続の時に鍵ファイルで認証してアクセスします。
鍵ファイルの置き場所はどこでも構いませんが、「~/.ssh/」に配置して接続するということで話を進めます。
ご自身のパソコンのパソコンのユーザー名/.sshの中にダウンロードした「キーの名前.pem」を配置してください。
# ssh -i キーの名前.pem root@サーバーのIPアドレス
配置が終わりましたら、ターミナルで上記のコマンドを打ちサーバーにアクセスします。
接続が成功するとこのような文字が画面に現れます。(ユーザーの権限の関係でログインユーザーのコマンドが$になっていますが、root権限の#で話を進めます)
まずはOSやKUSANAGIを最新の状態にアップデートをします。
# yum --enablerepo=remi,remi-php56 update -y
アップデートが終わったらサーバーを再起動します。
# reboot
次にKUSANAGIの初期設定に進みます。
# kusanagi init
タイムゾーン
Search or select timezone: tokyo
Asia/Tokyo
リストがズラーと並び探しづらいので、Search or select timezoneにtokyoと打ち込みます。
するとAsia/Tokyoに絞り込まれますので選択します。
使用言語の設定
Select your using language.
1:English
2:日本語
q:quit
Which are you using?:1
ConoHaは日本語だと文字化けするので英語の1を選択します。
キーボードレイアウトの設定
Select your keyboard layout.
1:English
2:Japanese
q:quit
Which are you using?:2
こちらは普段お使いのキーボード配列を選んでください。2のjapaneaseで進めます。
ユーザー:kusanagiのパスワード設定
Changing password for user kusanagi.
New password:
もう一度聞かれます。
Retype new password:
SSH、SFTPで鍵認証しない場合はこちらのパスワードで接続します。
またWordPressの管理画面内でのテーマやプラグインの追加アップデートをするのにkusanagiユーザーが使われますので必ず控えておいてください。
ユーザー:kusanagiのSSH鍵認証の設定
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase)
ユーザー:kusanagiのSSH鍵の発行を行います。
パスフレーズは任意でつけてください。
MySQLのrootパスワード設定
MySQLのrootユーザーのパスワードを設定します。
Enter MySQL root password. Use [a-zA-Z0-9.!#%+_-] 8 characters minimum.
もう一度聞かれます。
Re-type MySQL root password.
データベースに接続するためのパスワードですので忘れずに控えてください。
Webサーバの設定
KUSANAGIではNGINXかApacheの2種類からWEBサーバーを選ぶことができます。
KUSANAGI can choose middlewares.
Please tell me your web server option.
1) NGINX(Default)
2) Apache
Which you using?(1):2
NGINXがデフォルトになっていますが、こちらは使いやすい方を選べばいいと思います。
2つのサーバーの比較を簡単にすると
Nginx
- 早い
- 無駄な機能がない(.htaccessなどが使えない)
- KUSANAGIのパフォーマンスを引き出せる
Apache
- NGINXと比べると遅い
- 機能が充実している(.htaccessなどが使える)
- WordPressはApacheを想定して開発されている
このような感じになると思います。
じわじわ人気の上がってきているNGINXがかなり気になっていたのですが、WordPressでの使いやすさから私はとりあえずApacheで進めました。
注意点
Syntax error on line 2 of /etc/httpd/conf.d/ssl.conf
このようなメッセージが出てApacheのセットアップに失敗する場合はすでにssl.confファイルがありバッティングしている可能性がありますので、ssl.confを別の名前に変えるか削除するとセットアップできるようになります。
mv /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.cp
アプリケーションサーバの選択
Then, Please tell me your application server option.")
1) HHVM(Default)
2) PHP7
3) PHP5
Which you using?(1):2
特に理由がなければ、PHP7で良いと思います。
データベースの選択
Then, Please tell me your Database system.
1) MariaDB(Default)
2) PostgreSQL
Which you using?(1):1
データベースはMariaDBで大丈夫です。
ConoHaのKUSANAGIは管理画面上からWordPressのインストールができるのでターミナルを使った作業はいったんこの程度で終わりです。
サーバーからログアウトします。
# logout
WordPressを使ったWEBサイトを作成する。
ConoHaの管理画面に戻りKUSANAGI管理に移動します。
この時にサーバーを追加した時のroot権限のログイン情報を聞かれますので入力してください。
「作成」ボタンをクリックして新しいサイトを追加します。
ドメインとWordPressの管理者ユーザー用のメールアドレスを入力します。
ドメインのレコード設定用の値が表示されますので、レコードのタイプとサーバーのIPアドレスを控えておいてください。
完了です。
「詳細へ」に進みます。
基本設定でしておいた方がいい設定は、SSL化とbcacheです。
fcacheについてはWEBサーバーをNGINXにした場合はONにしてあげるとさらにキャッシュが効いてページの表示が早くなります。
SSL化についてはドメインのレコード設定が済んでいない場合はそちらを先にします。
ドメインのレコード設定
ドメイン会社によって画面は異なりますが、
- ホスト名:空
- タイプ:A
- 値:サーバーのIPアドレス
と
- ホスト名:www
- タイプ:A
- 値:サーバーのIPアドレス
の二つを設定しておけばWEBサイトの表示は問題ないです。
ホスト名wwwはwwwなしへのリダイレクトが必要なければ設定しなくてもいいです。
メールサーバーをConoHa以外で設定する場合は都度レコードを追加してください。
例)ムームードメインでWEBサーバーをConoHaのVPS メールサーバーをさくらのメールボックスにした場合
タイプ:Aの値は上記のIPアドレス
タイプ:MXの値はさくらのメールボックスのホスト名
タイプ:TXTの値はv=spf1 a:さくらのメールボックスのホスト名 -all
このような感じになると思います。
小休止
結構分量が多くなりそうなので、いったんこの辺で切りたいと思います。
あとはサーバーのSSH接続の際のパスワード認証を禁止してセキュアな接続方法を確立する方法とか、今回メールサーバーをConoHaとは別のサーバーにしたのでWordPressからのお問合せメールの送信のSMTP周りの設定とか、データベースをいじりづらいのでVPSサーバーにPHP My Admin入れたりとか、他のWordPress環境からKUSANAGIにサイトデータ引っ越したりとか・・・