ConoHa VPSから、ブログをGitHub Pagesに、メールサーバをZoho Mailにお引っ越しさせました。 たしかに、このはちゃんは広い使用用途で安定して使えるけど、貧しき民には少々お高い……。

前作業: DNSのCloudFlareへのお引っ越し

今回はCloudFlareを用いてHTTPS化やらメールの安全確保やらを行うので、 DNSをConoHaからCloudFlareにお引っ越しさせます。

お名前.com のDNSをCloudFlareから指定されたアドレスに変更します。 移行させるときにいろいろ聞かれますが、なんとなくポチポチしてたら勝手に現在のDNSレコードすべてをコピーしてくれた記憶が……。

ブログのお引っ越し

ブログ自体の移植性は、ブログ建立時から考えて1いて、吐き出されたHTMLを そのままGitHub Pagesにぶちまけるだけの かんたんな おしごと でした。

簡単ついでに、CNAME というファイルをリポジトリのルートに配置し、 内容として、GitHub Pagesに割り当てるドメイン名を書きます。

検証: GitHub Pagesには2種類ある? どんな動き?

GitHub Pagesには2種類のページがあります。ひとつは、[ユーザ名].github.io とするタイプのページ、 もうひとつは、[ユーザ名].github.io/[リポジトリ名] とするタイプのページです。

前者は[ユーザ名].github.ioリポジトリのmasterブランチにHTMLファイルをぶちまけることで、アクセスできます。 後者は、リポジトリにgh-pagesブランチを作り、そこにHTMLファイルをぶちまけることで作成できます。

では、[ユーザ名].github.ioリポジトリに、後者の名前のディレクトリを作成し、表示させるとどうなるでしょう? 前者の、masterに作成したディレクトリの中のHTMLファイルが表示されるでしょうか? それとも、リポジトリのgh-pagesブランチのページが表示されるのでしょうか?

答えは、後者のページが表示されます。 なので、今後、リポジトリを作成する際の名前の決め方と、[ユーザ名].github.ioの ルート直下のディレクトリの配置には気を配る必要があります。

HTTPS化

時代は何でもHTTPSです。HTTP/2を活用するときにも必須になるので、使えるようにしておいて損はないですね。 しかし、GitHub Pagesでは、そのままではHTTPSを利用することはできません。 ので、CDN、CloudFlareを用いて、そこの証明書を使わせてもらうことにします。 これによって、CDNサーバとブラウザの間は暗号化、改ざん防止、速度向上の恩恵が受けられます。 ただし、CDNとGitHubの間は平文通信です。巨大サイトと巨大CDNの間の回線は太く、横槍が入ることなないと思いますので、問題ないでしょう。たぶん。

Zoho Mailへのお引っ越し

メールサーバを運用するのは至難の業だと思ってます2。 なので、設定しやすい第三者のサービスを使うのが手っ取り早く安全で確実でしょう。

DNS上でのメールサーバ以降は、ドメインのMXレコードを付け替えるだけです。 また、Zoho MailはDKIMやSPFも設定できるため、これらもDNSレコードに突っ込んでおきましょう。 安心度が上がります。


  1. どこかがやってるブログサービスだと、そのサービスが死んだときに一緒に死ぬことになるし、WordpressだとWordpressが死んだときの移行のめんどくささったらないし、HTMLベタ打ちは厳しいので、静的サイトジェネレータを使って、息が長くて書きやすげなMarkdownを採用したいという経緯。

  2. sendmailはこの世の終わりらしいし、設定ミスはスパマーホイホイになって自分以外にも迷惑が及ぶ上に、ドメインが“汚れる”恐れが……。