ConoHa VPSでKusanagiを使ってWordPressサイトを構築しました。あなたが見ているこのサイトです。体験レビューをお伝えします。
もくじ
KUSANAGIの使いやすさとカスタマイズ性に惹かれて
※2024年10月追記
ConoHa VPSは2023年11月より、インフラ基盤を刷新した新バージョン(Ver.3.0)の提供を開始しました。本記事は旧バージョンであるVer.2.0についてのものになっています。
とはいえ、会社としての運営方針は変わらない部分があるはずなので、今検討している方にも参考になると考えております。
これまでSIRIUS、StaticPress、Middlemanなどの静的サイトを作るツールでサイトを運営をしてきました。
しかし、記事の外注を本格化するには、静的サイトよりもWordPressのようなしっかりとしたCMSで運用した方が効率が良いです。
ライターさんにリモートで記事を直接投稿してもらえるからです。
そこで、WordPressを使うことにしたのですが、私の仲の良い方が、最近WordPressのサイトをKUSANAGIに移行して、サイトの表示が非常に速くなった、という話をしていました。
最終的に移行するなら最初からKUSANAGIにしようと考えました。
そこで、どこのサーバー業者にするか検討しました。候補として次の3つがありました。
コストパフォーマンス的にはそこまで変わりませんが、選ばなかった2つのサービスには
- 1つの契約で1つのドメインしか紐付けできない
- サーバーのroot権はないので、自分で設定をカスタムはできない
- KUSANAGI導入の設定をコマンドラインで行う必要がある
というデメリットがあることがわかりました。ConoHa VPSにはこれがないため、ConoHa VPSに決めました。
アカウント登録
キャンペーンページから申し込みます。
最大1ヶ月無料と言っている意味は、700円のクーポンがなくなるまでは料金は発生しないということです。なくなるまでに解約すれば、完全に無料で使うことができます。
一番安い512MBのプランだと1時間1円です。なので1ヶ月を29日とすると、696円になるので700円以内に収まるので無料で使うことができます。
次に安い1GBのプランだと、1時間1.3円です。この場合、無料で使えるのは22日間ということになります。KUSANAGIは1GB以上でないと使えないので、最大で22日間と考えておいた方がいいです。
個人情報を入力します。
電話番号を認証します。「SMS認証」を押すと、携帯にSMSが届きます。それに記載された認証コードを控えます。
認証コードを入力します。
支払い方法を決めます。クレジットカード払いもできますが、ConoHaチャージを選びました。デビットカードやプリペイドカードも利用することができます。私はKyashという電子マネーを使っているので、そのカードを使うことができます。Kyashのポイントを貯めることができるためです。
ConoHaチャージの場合、キャンペーンの700円クーポンをもらうには、500円以上チャージする必要があります。
VPSを作成する
次にどのような構成でVPSを構築するかを決めていきます。
一番安い512MBでもいいかと思ったのですが、512MBは「かんたんKusanagi」が選べないので1GBにしました。
OSは選択を変えずに「CentOS」のままにし、「アプリケーション」で「かんたんKUSANAGI」を選びます。
さらにrootのパスワードを設定します。
オプションはほとんど変えずに、SSH Keyだけ新規作成します。
作成されたプライベードキーはダウンロードし、失くさないように自分のパソコンに保存しておきます。「自動バックアップ」については後述しますが、「無効」のままにしておきます。
今作成したパブリックキーを選択します。
これで画面右側の「追加」を押します。
KUSANAGI ManagerでWordPressのインストール
ConoHaの管理画面のサーバーリストに、今作成されたVPSが表示されます。
ネームタグの部分をクリックすると、今作ったVPSの詳細画面が表示されます。ここでVPSのIPアドレスなどを確認できます。「KUSANAGI管理」を押します。
すると、ログインを求めるポップアップが表示されるので、
ユーザー名:root
パスワード:先ほど設定したrootのパスワード
を入力してログインします。
するとKUSANAGI Managerの画面になります。先ほどのConoHaの管理画面と色が同じなのでまぎらわしいのですが、これは今立ち上げたVPSにアクセスしていることになります。
設定したいドメイン名と自分のメールアドレスを設定します。これを入れることで、NginxやWordPressの設定で使ってくれます。
DNSの設定を求められますが、とりあえず「次へ」を押します。
これでKUSANAGI managerでの作業は終わりです。
これで、WEBブラウザにVPSのIPアドレスを入れてアクセスすると、次のようにnginxの画面が表示されます。
DNSを設定する
先ほどスキップしたDNSの設定をします。設定したドメイン名を入力します。私の場合は、"proggy.jp"と入力しました。
さらに鉛筆のボタンを押しAタイプのレコードを追加します。
以下のように入力します。値にはVPSのIPアドレスを入力します。
そして、上のタイプ「NS」で表示されている3つの値を控えます。
専門的な話になりますが、conohaで使われるネームサーバーのドメインに、"conoha.io"というようにioドメインが使われています。
ioドメインというのは、input outputの頭文字でかっこいいことから、IT業界で多く使われています。しかし、昨今、管理者が怠慢気味のため障害が多いので、本番の環境では使わないほうがいい、という流れになってきています。この点は少し不安が残ります。
レジストラでネームサーバーの設定
続いて、利用しているレジストラの管理画面からネームサーバーの設定をします。先ほど控えた。レジストラはドメインを取得した業者のことです。私はスタードメインを使っていますが、お名前.comやムームードメインなどを使っている人もいるかもしれません。
対象のドメインの設定画面で以下のように設定できます。
これで数時間待つと反映されます。数時間後に、"http://progygy.jp/wp-admin"にアクセスすると、WordPressの初期設定画面が表示されます。通常のWordPressと同じように設定します。
KUSANAGI managerのおかげで、エンジニアが使っているような難しいコマンドラインを使う必要がないので、知識がない人でもWordPress初期設定までできますね。
https化する
続いて、httpsでアクセスできるようにします。
KUSANAGI managerの画面で、以下の「ON」押します。
数秒経つと下のようにポップアップが出るので完了したのがわかります。
これで"https://proggy.jp"とアクセスできるようになります。
これはとても楽ですね。Let's Encryptという無料のSSLサービスが使われているので、無料になっています。
昔だとサイトをhttps化するには、有料のSSLの業者にお金を払って証明書を買い、サーバーにコマンドラインでログインして難しい設定をする必要があったので、最近は本当に便利になったものです。
テーマやプラグインを編集できない?
通常のWordPressサイトと同じように、ご自身が好きなテーマを適用します。ちなみにこのサイトのテーマはJINです。
私は子テーマを使ってどんどんカスタマイズをしていきます。WordPressの管理画面のテーマエディターを使います。その際に、最初以下のように、
変更を保存するには事前にこのファイルを書き込み可能にする必要があります。詳しい情報は Codex を参照してください。
と表示され、保存することができません。「ファイルを更新」というボタンが表示されていません。
ここで保存するためには、コマンドラインでVPSにログインして、ファイルの権限設定を変更する必要があります。
コマンドラインでVPSにログインする方法は2通りあります。
- ConoHa VPSの管理画面のWEBコンソール
- 手元のパソコンのターミナル(WindowsだとTeraTermなど)
ConoHa VPSの管理画面のWEBコンソールの使い方は、次のように「コンソール」ボタンを押します。
すると、次のようにブラウザにターミナルのような画面が開きます。ここで、login:にroot
、Passwordにはrootのパスワードを入力します。文字化けしてしまう場合は、「テキスト送信」というボタンを押して入力します。
こちらは、プライベートキーなども不要なのでとても楽にログインできます。ただ、ブラウザベースなので反応が悪かったり、使いづらい部分があるので、個人的にはパソコンのターミナルを使って作業します。
まず、コマンドラインを使えるターミナルを開きます。WindowsだとTeraTermなどを使う必要があるかもしれません。
そして、先ほどダウンロードしたSSHのプライベードキーがあるディレクトリに移動します。
そして次のコマンドを入力します。XXXXXXXXXXXX.pemはプライベードキーのファイル名、XX.XX.XX.XXはVPSのIPアドレスに置き換えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ ssh -i XXXXXXXXXXXX.pem root@XX.XX.XX.XX __ ____ _______ ___ _ _____ __________ / //_/ / / / ___// | / | / / | / ____/ _/ / ,< / / / /\__ \/ /| | / |/ / /| |/ / __ / / / /| / /_/ /___/ / ___ |/ /| / ___ / /_/ // / /_/ |_\____//____/_/ |_/_/ |_/_/ |_\____/___/ Version 8.4.3-2, Powered by Prime Strategy. ================================================ Welcome KUSANAGI Manager application! URL : http://XX.XX.XX.XX:60000/ kusanagi user password : XXXXXXXXXX kusanagi user passphrase: XXXXXXXXXX MySQL root password : XXXXXXXXXX To delete this message: rm -f /etc/motd ================================================ [root@XXX-XX-XX-XX ~]# |
これでログインできます。
対象のファイルの場所に移動し、chmod 606で権限を変更します。ディレクトリのパスの"proggy.jp"の部分はご自身のドメインに置き換えてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# cd /home/kusanagi/proggy.jp/DocumentRoot/wp-content/themes/jin-child/ # ls -lh 合計 360K drwxrwxrwx 2 kusanagi kusanagi 4.0K 8月 17 13:14 _notes -rw-r--r-- 1 kusanagi kusanagi 189 8月 17 13:14 functions.php drwxrwxrwx 6 kusanagi kusanagi 4.0K 8月 17 13:14 lib -rw-r--r-- 1 kusanagi kusanagi 339K 8月 17 13:14 screenshot.png -rw-r--r-- 1 kusanagi kusanagi 75 8月 17 13:14 style.css -rw-r--r-- 1 kusanagi kusanagi 2.7K 8月 17 13:14 style.scss # chmod 606 functions.php style.css # ls -lh 合計 360K drwxrwxrwx 2 kusanagi kusanagi 4.0K 8月 17 13:14 _notes -rw----rw- 1 kusanagi kusanagi 189 8月 17 13:14 functions.php drwxrwxrwx 6 kusanagi kusanagi 4.0K 8月 17 13:14 lib -rw-r--r-- 1 kusanagi kusanagi 339K 8月 17 13:14 screenshot.png -rw----rw- 1 kusanagi kusanagi 75 8月 17 13:14 style.css -rw-r--r-- 1 kusanagi kusanagi 2.7K 8月 17 13:14 style.scss |
これで、「ファイルを更新」というボタンが表示され、管理画面から変更できるようになります。
プラグインエディターでプラグインを修正する際も同じようにする必要があります。
SiteGuardでログインURLを変更できない?
ハッキング対策として、通常、
https://proggy.jp/wp-login.php
https://proggy.jp/wp-admin
などのログイン画面のURLを違うものに変更します。このために良く使われるのがSiteGuardというプラグインです。
SiteGuardはWEBサーバとしてApacheを利用していることを前提にしています。SiteGuardはApacheの.htaccessという機能を利用して、ログインURLを変更しているためです。
しかし、ConoHa VPSの「かんたんKUSANAGI」でインストールすると、ApacheではなくNginxというWEBサーバを利用します。したがって、SiteGuardでログインURLを変更できません。トリッキーなやり方として、以下のようにNginxの設定ファイルを変える方法もあるようですが、私がやってみたところ、うまく動作しませんでした。
しかし、Cerber Securityというプラグインでほとんど同様のことができ、Nginxでも大丈夫でした。
ログインURLを変えられる他、ログイン画面にBot検知としてreCAPTCHAを簡単に導入することができます。その経緯次の記事に詳しく書きました。
リダイレクトの設定でハマる
とある記事が不要になったので、そのURLを他の記事のURLにリダイレクトしようとしました。Apacheであれば、「.htaccess」というファイルを編集すれば簡単にそういった設定ができます。
Nginxでも設定ファイルを修正することで、リダイレクトの設定をすることができますが、Nginxの再起動が必要になります。リアルタイムで読んでいるユーザーを邪魔せずに再起動する方法もあるようなのですが、リダイレクトの設定を変えるだけで再起動するのは個人的には大袈裟な気がしてしまいます。正常に起動してこなかったどうしようと少し不安になってしまいますし。
そこで、WordPressのプラグインでリダイレクトの設定ができるものはないか調べました。最も有名なプラグインは「Redirection」というものです。しかし、これはなぜかWordPressのREST APIという機能が有効になっていることが前提です。NginxだとREST APIを有効にするのに、設定ファイルを修正する必要があります。つまり再起動が必要です。そもそもREST APIを有効にしたくない人も多いでしょう。
いくつか試していくと、REST APIを有効にしなくても使えるプラグインもありました。その中で、使いやすかったのが、
Simple 301 Redirects by BetterLinks
です。以下のように簡単にリダイレクトの設定ができます。
ちなみに、「Destination」(リダイレクト先)にはフルパスで指定しないといけないように例が記載されていますが、ドキュメントルートからのパスで大丈夫でした。
この手のリダイレクトのためのプラグインは前述したRedirectionをはじめ、機能が多すぎるものが多いです。例えばログを残す機能は多くが採用しています。しかし、ただ301リダイレクトができばいいだけの人がほとんどだと思います。この「Simple 301 Redirects」は最低限の機能しかないのが嬉しいです。
バックアップの最適なとり方は?
ConoHa VPSの自動バックアップ
ConoHa VPSでは「自動バックアップ」というオプションがあります。ディスク容量によって金額が違いますが、
ディスク容量 | 月額 |
---|---|
50GB | 300円 |
250GB | 1,000円 |
550GB | 2,000円 |
となっています。(プラン512MBプランでは使えません)
1週間に1回取得し、最大3世代分が自動的に取得されます。サーバー停止も発生しません。
VPSのディスクイメージごとバックアップされます。つまり、WordPressのデータだけでなくOSなども含まれます。そして、VPSのディスクではない領域に保存してくれます。なので、万が一対象のVPSが故障しても、新規にVPSをバックアップしたイメージから作成することで、元に戻すことができます。
ConoHa VPSの管理画面から有効化できます。
ただ、ディスクイメージごとバックアップとれるのは素晴らしいですが、週一回と頻度が少ないのが残念です。
ConoHa VPSの手動バックアップ
上述した自動バックアップと同様のバックアップを手動で任意のタイミングで行うことができます。これで記事を投稿したり何か設定を変える直前や直後に取っておくということができます。
ただし、なぜかサーバー停止をしないとできません。次の画面のように、サーバー起動中だと「イメージ保存」というボタンが押せなくなっています。
KUSANAGI Managerの自動バックアップ
KUSANAGI ManagerでWordPressを構築していると、デフォルトでKUSANAGI Managerによる自動バックアップが有効になっています。私も特別に設定はしていないのですが、気がつくと次のようにバックアップが作成されていました。
1日1回、過去14日分のバックアップが取得されます。「リストア」というボタンから簡単にバックアップを適用することができます。
これは、VPS内の
/opt/kusanagi-manager/backup/proggy.jp
というディレクトリの下の
web_auto
db_auto
というディレクトリにそれぞれ保存されます。(proggy.jp
という部分はご自身のドメインに置き換えてください)
ちなみに、安全のために、これらのバックアップの最新版は手元のパソコンに保存しておく方がいいです。もしVPSごとふっとんだら、このバックアップも使えなくなってしまうからです。
バックアップを手元のパソコンに保存するには、FTPソフトでダウンロードします。私はMacのCyberDuckというアプリを使っています。
新規接続を作成する際、下のようにSFTPで、IPアドレス、ユーザ名にはroot
、パスワードにはrootのパスワード、SSH Private Keyにはダウンロードしてあるプライベートキーのパスを指定します。
ログインして、バックアップが保存されたディレクトリに移動すると、次のようにバックアップファイルが表示されます。これをお手元のパソコンに保存します。
web_auto
にはWordPressのwp-content
配下のみがバックアップされます。db_auto
には記事やコメントの情報が入ったテーブルのみバックアップされます。
どうせなら、WordPressが配置されたディレクトリをまるっと全て、データベースもまるっと全てバックアップしてくれた方がいいのですが。
ディスク容量の節約をしたいのでしょうが、14世代ではなく3世代位でいいので、まるっと全てバックアップしてほしかったですね。残念です。
例えば、最近流行りのリダイレクトハッキングをされた場合、原因がどこにあるかわかりません。wp-contentと記事データだけ戻しただけだと、復旧できない可能性もあります。全てバックアップしてあれば、まるっと取り替えることで、大抵は復旧することができます。
もしそれで復旧できなかった場合も、まっさらなVPSを新規作成し、その上にまるっ取得したバックアップを展開すれば復旧できる可能性が高いです。
wp-contentと記事とコメントデータだけだと、もちろん、大事なオリジナルなデータは残るのですが、ハッキング等の問題の切り分けが難しくなる可能性があるのです。
KUSANAGI Managerの手動バックアップ
上記の自動バックアップを任意のタイミングで作成することもできます。
プラグイン「BackWPup」
上記のように、KUSANAGI Managerのバックアップは対象領域が一部だけなので不安が残ります。なので、BackWPupというプラグインを使います。これはWordPressのファイル全てまるごと、データベースもまるごとバックアップしてくれます。
これでハッキングされて原因がわからないような場合も、復旧できる可能性が上がります。
なので、私はConoHa VPSの自動・手動バックアップは使わないことにしました。そして、KUSANAGI Managerの自動バックアップについては、無料なので一応有効化しておくことにします。
メインで使うのは、基本的にBackWPupにします。記事の更新の直後、設定を変更する直前と直後にバックアップを取得する運用にします。BackWPupの詳しい使い方は次の記事に書きました。
連休明けに問い合わせ電話が全然つながらない
何度か電話で質問した際に、スムースにつながり、丁寧に教えてくれて非常に助かりました。
ただ、ある三連休明けに緊急でわからない事象が起きたので電話してみると、全く繋がらなくて困りました。2日後くらいにようやくつながりました。
電話やチャットのリアルタイムのサポートは、土日祝を除く10時〜18時しか対応していないので、連休明けは問い合わせが殺到すると思われます。
AWSのサポートは休日など関係なく対応してくれていたので、その点はギャップを感じました。Conoha VPSで少し不確実な変更を行う場合は、週の平日の頭の方に行うなどした方がいいかもしれません。
障害が発生しても4時間報告無し
2023年08月09日のことでした。自分のサイトにアクセスできない事象が発生しました。確認してみると、Conoha VPSで運営している私の全てのサイトがアクセスできないことがわかりました。
全く理由がわからず、焦りました。 1つのVPSで複数のサイトを運営していたので、ディスクが一杯になったのか?と思って調べようと思って、sshしようとしましたがこちらもアクセスできません。Conoha VPSの公式サイトや公式X(旧Twitter)を見ても何の情報もありません。
とても不安になりました。ドメインを購入したレジストラの問題か?など色々と可能性を検討してしまいました。
1時間ほど経って、Xでユーザーと思われる方から、Conoha VPSで障害が落ちていそうだ、というつぶやきをちらほら見るようになり少し安心しました。自分のVPSのみの問題ではなかったということがわかったので。しかし、まだこの時点では公式からの報告は一切無し。
発生から約4時間後にようやく障害を知らせるメールが公式から届きました。完全に復旧したのは、発生から約9時間後でした。
この9時間の間に当方のサイトを見ようとしてくれた来訪者様に対して申し訳ない気持ちで一杯です。また、Googleからの評価が落ちてしまうのではないかとしばらく心配になりました。結果的には検索順位が急落するということは起きませんでしたが。
Conoha VPSとしてもう少し何か対応できなかったのでしょうか。せめて障害が起きたことだけでもすぐにXでつぶやくだけでも全然違います。
これが毎年のように起きていたら、さすがに別の業者に移行するところですが、4年使っていて私が認識できている障害はこれだけなので、まだ使い続けています。(気づいてないだけで、短時間の障害は起きているのかもしれませんが)
PHPのバージョンアップの難易度が高い
5年くらい運用してこの章を追記しています。
「かんたんKusanagi」というイメージタイプから構築したVPSなのですが、確かに簡単でした。運用も簡単で、Kusanagi Managerがバックアップをとってくれるし、WordPress自体もWordPressの管理画面から簡単にアップデートできます。
でも、WordPressより下の階層って、自動では全くアップデートされないんですよね。当たり前ですが。
なので、CentOS、MySQL、Nginx、PHPなんかは一度もアップデートしていません。本当は全部したほうが良いのでしょうが、最も困るのはPHPです。
WordPressがアップデートされていくので、どんどん古いバージョンのPHPをサポートしなくなっていきます。現時点(2024年10月)のPHPの最新は8.3ですが、まだ7系のままです。
一度Conoha VPSのサポートに問い合わせてみました。PHPのバージョンアップのやり方の手順は作っていないのか?と。当然そんなものはなく、ご自身で調べてやってみてください、とのことでした。
なので、自分でコマンドラインを駆使してPHPをアップデートする必要があります。当初イメージが出来上がった状態で構築したもので、自分でゼロから構築しているわけではないので、どのような構成になっているかわからない不安があります。
複数のサイトを運用していたりすると、影響が全サイトに渡ります。また、自動バックアップをしているKusanagi ManagerもおそらくPHPで動いているので、しっかり動いてくれるかも心配です。
「かんたんKusanagi」というイメージタイプでしたが、これのどこが簡単なのでしょうか?これならゼロから自分で構築したほうが、まだ管理しやすかったかもしれません。
まとめ
- マルチドメイン対応なので1契約で複数サイト運営できる
- サーバーのrootの権限がもらえるので自由に設定できる
- 22日以内に解約すれば無料(1GBの場合)
- KUSANAGI managerのおかげでコマンド不要でインストールできる
- https化が非常に楽
- ブラウザベースのターミナルでVPSにログインできコマンド作業もすぐにできる
- KUSANAGI Managerで自動的にバックアップを取得してくれる
- 電話番号認証が必要
- ネームサーバーにioドメインを使っているので障害の不安が残る
- テーマエディター、プラグインエディターを使うためにはコマンドラインからの作業が必要になる
- WebサーバがNginxなのでApacheを前提にしたプラグインが動かない
- ConoHa VPSの自動バックアップの頻度が週1回と少ない
- ConoHa VPSの手動バックアップはサーバー停止が必須になる
- KUSANAGI Managerのバックアップ機能は対象領域が一部のみ
- 連休明けに問い合わせ電話がつながりにくい
- 障害が発生しても4時間報告なし
- PHPなどは自分で手動でアップデートする必要がある
個人的にはネームサーバーにioドメインが使われているのが非常に残念に感じていますが、設定や運用は非常に楽です。1GBなら22日以内に解約してしまえば全くお金はかからないので、試しに一度WordPress環境を作ってみてもいいかもしれません。