自サイトをお引越し
2023年の11月に個人サイト「Kyrie.」を立ち上げてから3年が経った。
はじめはキリスト教についての長い文章を投稿する書き散らし置き場として始めたサイトだった。
十数年ぶりの自分のサイトを持つということで、びくびくしながらwordpressをいじくり倒したのを覚えている。
それから数年後、色んな理由から自分のサイトをまるごとお引越しすることになろうとは思いもしなかった。
転機として大きかったのは次の二つだ。
1つ目は、obsidian Publishのように「一つのmdファイル」の中に、記事本文だけでなくカテゴリ、スラッグ、タグ、などが全て予め記載できる形でサイト更新ができる、という手軽さを知ってしまったこと。
これがオープンソース開発アプリの「Tomos」では無料でできてしまい、サイト更新が革命的に楽になったということが大きかった。
このTomosは後にGithub版が登場し、もはやレンタルサーバーを借りなくても自分のサイトを持つことができる、というところまできたのが、つい最近のことだった。
このサイトは今、そのGithub版で動いている。
もう一つの転機は、世界中でPHPの脆弱性を突いた不正アクセスが話題になったということだ。
PHPが動かす「動的サイト」から、「静的サイト」への移行が声高に勧められるようになったのを見たから、というのが理由だ。
別に自分のサイトに何かお金になるような情報が転がっているわけではなかったのだが、前述の更新の煩雑さを感じていた。
そんなわけで、静的サイトとしてリニューアルするのもいいかもしれない、と思ったわけである。
Tomosの独自テーマで自サイトの見た目をできるだけ変えずに移行できないかと色々と試行錯誤していたら満足行くようなテーマが出来たこともあって、無事に移転作業を進めている。
ドメイン移行が一番の壁だった
今までレンタルサーバー+カスタム(独自)ドメインの形でやってきていたのを、サイトデータはGithubに置き、Github Pagesで公開したWebサイトのアドレスを独自ドメインに紐付ける、という作業で特につまづいた。
サブドメインでおためし導入
サブドメイン(kyrie.kyrie-eleison.net)で試しに導入したときはすんなりいった。
手順はこんな感じである。
- サブドメイン(kyrie.kyrie-eleison.net)取得
- サブドメインのネームサーバーが登録されているサービス上でDNSレコード一覧を開く
- ホスト欄にサブドメイン(kyrie.kyrie-eleison.net)、種別はCNAME、内容に「アカウント名.github.io」を入れる
- Githubにアクセス、リポジトリの「setting」>「pages」を開く
- カスタムドメインの欄にサブドメインを入力して保存
- DNSチェックがSuccessになるまで待機(最長1分くらい)
- その下のForce HTTPSに☑(押せるようになるまでしばらくかかる)
- リポジトリ直下に「CNAME」というファイルを作り、そのなかにカスタムドメイン(kyrie.kyrie-eleison.net)のみ記載
これですんなりサイトのURLが元々のアカウント名.github.ioのURLからサブドメインに変更された。
7つ目の工程が抜けていると、CSSがうまく読み込まれずにHTMLベタ打ちみたいなサイトのトップページになったりしていた。
ルート(Apex)ドメイン適応
「なんだ、簡単じゃん!」と思ったのだが、サブドメインの適応とルートドメインの適応はもう一つ大きなハードルがあった。
それは「元々ルートドメインに紐づいているレンタルサーバー側のディレクトリ(データベース)がある」ということである。
これを切り離すためにドメインの初期化なんてのをしてしまって、レンタルサーバーに保存されていたwordpressのデータを全部吹っ飛ばしてしまった(ディレクトリ内にサーバー版Tomosと自小説サイトwordsworldも入っていたので道連れになった)。
今思えばこうすればよかったという方法を下に示す。
- ルートドメインとレンタルサーバーを切り離すために、ドメインのネームサーバーをドメイン購入サービスの方に切り替える。
- 「dnschecker.org」で、ウィンドウにルートドメインを入れ、NSを選んで「Search」を押す。
- ネームサーバー名(ns1.〇〇……等)が出て緑色のチェック☑が付いたらネームサーバー移行ができていることが確認出来る
→こうすれば、ネームサーバーをレンタルサーバー側に切り替えるだけでレンタルサーバー側はノーダメージで済むはずだ。
以前ネームサーバーがなんなのかよくわかっていなかった時に間違って変更した時があったので。
- ドメイン購入サービスの方のサイトで、DNSレコードを変更できる画面に行く
- 4つのレコードを作成する。種別は全部「A」、内容にはそれぞれ「185.199.108.153」「185.199.109.153」「185.199.110.153」「185.199.111.153」を入れた4つにする。
- それ以外のA種別のレコードは全部消す。
- 「dnschecker.org」で、ウィンドウにルートドメインを入れ、Aを選んで「Search」を押す。
- 先程入れた「185.199.108.153」などが4つとも出てチェック☑が付いたら、AレコードもOK。
- 次に、ホスト欄に「www.ルートドメイン」、種別はCNAME、内容に「アカウント名.github.io」を入れたレコードを作る。
- 「dnschecker.org」で、ウィンドウに「www.ルートドメイン」を入れ、CNAMEを選んで「Search」を押す。
- 先程入れた「www.ルートドメイン」が出てチェック☑が付いたら、DNSレコード設定はすべて完了。
ここまでが、独自ドメインを購入したサイトで設定する部分だ。
ここまでできたら、あとはGithubでサブドメインを導入したときと同じ流れでOKになる。
- Githubにアクセス、ルートドメインを適応したいリポジトリの「setting」>「pages」を開く
- カスタムドメインの欄にルートドメインを入力して保存
- DNSチェックがSuccessになるまで待機(しばらく放置した、早ければ1分くらいでなる)
- その下のForce HTTPSに☑(押せるようになるまで最長15分くらいかかる)
- リポジトリ直下に「CNAME」というファイルを作り、そのなかにルートドメイン(kyrie-eleison.net)のみ記載
これで、自分のサイトのURLがルートドメインになるはずだ。
なお、TomosGithub版管理画面では、アドレスが「www.ルートドメイン」のURLになっているが、アクセスするとwwwが外れたURLに自動で変わる。また、ルートドメインを入れる以前の「アカウント名.github.io/リポジトリ名」のアドレスを開くと、こちらも自動でルートドメインにアクセスし直してくれる。
過去のwordpressページをマークダウンに変換
引っ越すにあたってもう一つの課題は、wordpressに上げた3年分の記事を、マークダウンファイルに一括変換できねえかな〜〜〜〜ということだった。wordpress側のプラグインで解決した。
「export markdown」などでプラグインを検索すると色々と出てくるので、お好きなのを。
みんな同じことを考えているんだね……(開発者の方に感謝)。
こいつのおかげで、記事の送り先を「folder:」で指定し直し、あとはタグを整理するくらいで済んだので本当にありがたかった。
まだ全部の記事をアップし直すまでに至っていないのだが、一つ一つコピペしてマークダウンファイルを作っていたらと思うとゾッとする。いくら時間があっても足りねえ。
Tomos(Github版)、いいぞ
そういうわけで、本サイトKyrieはTomos(Github版)で動いています。
このGithub版の何が良いかというと、Githubにサイトデータを置いているので実質サーバー料金が無料であるということ。
まずは手軽に自サイトを持ってみたい!という人はぜひ。