ブログを自宅サーバーへ移行しました
この度、Kixiの雑記帳を自宅サーバー環境に移行しました。
現在も、この写真のサーバーから当ブログは配信されています。
メモとして、サーバーの構成等を記しておこうと思います。
サーバーのスペック
自作PCを作る人々は、家に必ず一台は用途不明なPCがあるはず。
Kixiもそれにもれず、全く使っていない家に転がっているPCを今回のサーバーに仕立て上げました。
※スペック等、詳細はこちらに記載しました。
床に転がってる不用品の寄せ集めみたいなPCですが、弱小ブログのWEBサーバーには必要十分なスペックを誇っています。
なお、画像を見たら分かると思いますが、第4世代のCore i7のケースは嘘です。嘘ケースです。
ジャンクで中を取り出して余ったケースに、上記パーツを詰め込んています。
今回の構成
さて、ハードのスペックについては語りましたが、サーバーはハードだけでは動きません。
今回はよくあるCentOSではなく、「VMWare Esxi」をインストールし、仮想サーバーにしました。
VMWare Esxi とは?
仮想サーバー用のOSです。 歴史は意外と古く、2008年ごろからずっとバージョンを上げつつ生き残っています。
今回わざわざ、仮想化するのには理由があります。
それは「kusanagi」が使いたかったからです。
kusanagiとは?
超高速WordPress仮想マシン「KUSANAGI」(以下「KUSANAGI」)は、プライム・ストラテジー株式会社が開発・構成する、WordPressを高速に動作させるための仮想マシンおよびそのイメージです。WordPressの実行時間3ミリ秒台、秒間1000リクエストをページキャッシュ非使用で実現する世界最高速クラスのWordPress実行環境です。 kusanagi 公式ページより
シビアにチューニングされたのphpやMySQLなどが搭載された、CentOSベースの仮想イメージを無料で提供してくれています。
※通常のXAMPP環境の10倍速度が出るとまで言われています。
ここで重要なのは、「仮想イメージ」を配布しているということ。
元々VPSやクラウドでの使用を想定している上、直接ハードウェアを管理するOSにしてしまうと高速化のチューニングが上手くいかないのではと思います。
kusanagiを直接PCにインストールするのはハードルが高いのです。
以上から、
①自宅サーバーにVMWare Esxiをインストール
②kusanagiが無償で配布しているVMWare用の仮想イメージをデプロイ
の順番で構築しました。
※Docker版もありますが、機能が一部制限されるそうなので今回は見送りました。
確か、Let’s Encryptを導入するコマンド等が使えなかったはず。
回線について
この度、NURO光に乗り換えました。
遅い時でも500Mbpsくらいは出ているので、とりあえず速度に問題はなさそう。
ただし、NUROは固定IPにできない問題があります。
そのうち、VPSでも借りて、VPNサーバーを構築し、自宅サーバー→VPSのVPNサーバー経由の固定IP…みたいな構成を組みたいですが、とりあえずDDNSで対応しています。
IPアドレスのリースが多発するようなら、また考えます。
2020/02/16 追記
2年近く運用していますが、ルーターを交換した1回だけグローバルIPが別のものに切り替わりました。
それ以外の時はルーター再起動等してもIPは変わらなかったので、特殊な事をせずにDDNSによる運用で十分だと思います。
構築でハマったところ
VMWare Esxiも、CentOSも、kusanagiの独自コマンドもすべて初体験だったので、色々詰まる所はありました。
IPアドレスの設定で詰む
ボーっとしながら構築していたら、Esxiとkusanagiのipアドレスを同じものに設定してしまっていました。
気が付いたらEsxiのWeb管理画面には入れず、サーバーから直接仮想マシンを止める方法も良くわからず、英語のメニューを探し回って設定のリセットを行いました。
※再起動時にkusanagiが自動で立ち上がる設定にしていたせいで、再起動後も勝手にkusanagiが立ち上がり、NginXの初期画面が表示されてWebコンソールに入れない。
リセット後、作業途中のkusanagiのイメージは残っていましたが、EsxiのIPを変えるのも面倒で、kusanagiは初期設定で再デプロイしました。
MyDNSの設定が良くわからない
MyDNSというサービスを使ってDDNSの設定を行いました。
MyDNSだと、上手くサブドメインを他IPに割り当てられなくて、仮運用のつもりが結局「pic.kixi.jp」「tachibanaold.kixi.jp」なども自宅サーバーへ移動させました。
物理ディスクの追加
何故か内蔵SATAにHDDを繋いでもうまくいかない。
そもそもディスクをEsxiが認識されていないみたいで、sshで接続して設定ファイルを色々書き替えたりしたが、ディスク一覧に現れる事は無かった。
とりあえずバックアップはできないとまずいので、USBの外付けHDDをマウントし(これもコマンドラインから面倒な操作が必要)、有志が作ったツールを利用して、日次バックアップするようにした。
Vmotionとか使えたら便利だが、無料のEsxiだと使えないので仕方がない…。
→HDDが故障していました… 先日3TBx3のRAID5を組んだ際は、きちんと認識しました。 但し、Esxiの再起動が必要でした…。
AmazonJSの表示がおかしい
何故かAmazonJSの表示がおかしくなったが、調べてみるとHHVMだと動かないらしい。
とりあえずphp7にして、キャッシュが消えるまで静かに待ちました。
最後に
VMWare Esxiは割とグラフィカルで取っつきやすいですが、kusanagiは完全CUIなので、CUIアレルギーの人は中々手間取ると思います。
しかし、慣れると非常に楽です。 例えば、特定のサイトをSSL化するには、 kusanagi ssl –email [メールアドレス] [特定のサイトの設定名]
の2コマンドだけ打ち込めば良いのです。
kusanagi ssl –https redirect [特定のサイトの設定名]
これだけで、記事内のリンクやWordPressの設定値などもSSLに対応したものへ自動的に変換されます。
以上を、置換プラグイン入れて~証明書発行して~とかやってたら、そこそこ時間が掛かります。
殴り書きのような記事になりましたが、時間のある時にまた整理しようと思います。
自宅サーバーは良いぞ……(VPSで十分) それでは!