2019年10月30日水曜日

引っ越しました

わたくし、引っ越しました。
肉体の住まいの引っ越しではありません。
精神の住まいであるWEBサーバの引っ越しです。
非エンジニアの私が自力で引っ越しするのは大変でした。
住所はこちらです。 https://www.mirko.jp

なぜ引っ越そうと思ったか。
これまでは一般的な共用レンタルサーバに住んでいました。
年間3000円ちょっとの料金でサクサク動くし、PHPやPythonなどサーバサイドプログラムも動かせるし、インフラはプロに任せといたら安心だし、特段不自由を感じていませんでした。

でも次第にやりたいことが増えてきちゃうんですね。人の欲望は際限がない。
賃貸アパートでは壁に釘も打てないし、グランドピアノも置けない。

でも、自分の家に物理サーバを建てるのはさすがに無理(奥様を説得できない)

検討の結果、流行りのVPS仮想マシンを借りることにしました。
コンクリート打ちっぱなしで中身は全くの空っぽ、でも電気ガス水道は引いてある賃貸マンション、というイメージでしょうか。
仮想サーバでは Amazon AWS が有名ですが従量制なのでバズったときが怖い。
自治体消滅アプリを公開したときは毎日10万を超えるアクセスがあり、おしっこ漏れそうなくらいビビりました。(アプリはすぐ消滅してしまいましたが…)
よって、固定費用で、かつ京都の地元企業の KAGOYA にしました。

ちなみに、今まで使っていたレンタルサーバも京都の地元企業 ネットオウル です。
格安なのに安定したすばらしい速度でした。今までありがとう。
mirko.jp のドメイン管理はこれまでどおりネットオウルでやってもらおう。

で、VPSのサーバ構築ですが、まずOSを選ぶところからやるんですね。
僕はここ20年くらいWindowsしか触ってないのでUNIXの最近のトレンドを全く知りません。頭の中は FreeBSD か RedHat か、というところで止まっていました。
今は Ubuntu か CentOS のどっちにしよか、なんですね。
ググったところ、日本国内では CentOS のシェアが高いけど世界的には Ubuntu が人気らしい。意識高い系のグローバルな僕は Ubuntu を選びました。英語できないけど。

次にWEBサーバを作る。
WEBサーバといえばアパッチ。
アパッチのおたけび「ウラララーーー!!」
と叫びたくなったが、近年のトレンドはApacheではなくNginx(エンジンエックス)なんだって。
Nginxのほうが静的サイトの公開には抜群に強いらしい。
ということで、タッグパートナーのジェロニモを裏切りNginxと手を組む。

次に mirko.jpドメインの適用。
DNSサーバの設定はやったことなかったけど、なんとか完了。

次にWEBサーバにファイルを送り込む方法。
最近のトレンドはやっぱGitなんすかね。でもやっぱり馴染みのあるFTPがいいなぁ。
ということで、Gitは一旦横に置いておいて、vsftpdを導入。

次にPHP、MySql、phpMyAdminの導入。
ワードプレスは使っていないけど、PHPで動くアプリは沢山作っているので、僕にとってはこいつらは必須。

次にSSL証明書の導入。
今やSSLは現代人のマストアイテムになってしまいました。そして僕のような下級国民には無料の Let's Encrypt 一択。貧者の味方。
有効期限が3ヶ月しかないけど、CRONに書き込んでおけば自動更新もできちゃう。

ここまでが、僕にとっての必須項目。
でもせっかくなので他にもいろいろやってみる。

まずメールサーバをたてる。
僕がいつも使っているメールは、20年前から使っているプロバイダのやつ。
POP3しか対応していないので、いいかげんIMAPにしたいという思いがある。
かなり手こずったが、なんとか mirko.jpドメインのIMAPセキュアメールを作ることに成功。

で、いざメールを乗り換えようと思ったが、ここで問題点がわかる。
一つは、サーバがトラブったときにメールが使えなくなること。
素人が趣味でたてたサーバなのでときどき落ちる。WEBサイトがしばらく落ちても別にどうってことないけど、メールサーバが落ちて大事なメールがブラックホールに吸い込まれたらヤバい。
もう一つは、スパムのフィルターをかけるのが難しいこと。
人気者である僕のアドレスには、夫の莫大な遺産を持て余している未亡人やら、某アイドルの謎マネージャーやらから山ほどメールが届くので対策が必要なのだ。
頑張れば何とかなりそうな気もするが、僕の技術力ではちょっと難しいという印象。
ということで、目途がつくまではテスト扱いにする。残念。

次にグラフ型データベースの導入。
ミスターLODとしては、自分専用のRDFストアが欲しいところ。
これもかなり苦労したが、なんとかVirtuosoを導入することに成功。
僕んちのSPARQLエンドポイント
Endpoint URIは https://sparql.mirko.jp
今のところラーメンデータしか入れてませんが、よかったら遊んでみてね。
CORS対応、service句も使えます。

ここまでの総括
-------------------------------------------------------
かかった時間:10日間(約80時間)
費用:税込660円(月額。KAGOYA VPS KVMの1コア/1G版)
勉強になった度:★★★★★
得た満足感:プライスレス
代償:ひどい肩こり、腰痛、目の疲れ、家族の冷ややかな視線
-------------------------------------------------------

ここでクイズです。
普通に仕事しながらどうやって10日で80時間を捻出したのでしょうか?
答えはこれ。
平日 5時間×7日を捻出
休日 15時間×3日を捻出
睡眠時間を削りました。頑丈な体に産んでくれた親に感謝。
そして白い目で冷たく見守ってくれた家族にも感謝しよう。
今日は早く寝よ。おやすみ。