Jekyllでブログを作り直した。

お久しぶりです。

去年の2月頃にサーバー機をIntel Core i5 6600KからIntel Core i7 9700Tに更新した際に、ブログを消し飛ばして以来、1年と3ヶ月ぶりです。

以前のブログは、復活の儀をすれば復旧できるのですが、めんどくさいので永遠に闇に葬り去ります。

消し飛ばしてからも、何度かブログがほしいなって思ったりしたことがありましたが、就職活動が忙しかったり、再びWordPressをいじって管理するほどの気力がなく、放置していました。

WordPressって簡単にそれっぽいブログやWebサイトを作ることができるんですけど、脆弱性とかで定期的に更新しなければならなく、案外管理コストが掛かるんですよね。

とはいえ、Twitter以外に何かを記述するサイトは欲しくなってきたので、一念発起して作ってみました。

今回は、Jekyllという静的サイトジェネレーターと呼ばれるものを使用してブログ生成しました。

ブログ選定

インターネットを初めてから以下のようなブログサービスを利用してきました。

  • Yahoo! Blog
  • Hatena Diary
  • Hatena Blog
  • Movable Type
  • Blogger
  • Ameba Blog
  • WordPress

色々なブログサービスを使用して、リッチなUIは私には必要がないなーって思ったり、ブログごとに専用の記法を覚える必要があり大変です。

はてな記法は書きやすくとても良かったのですが、Markdownを知ってしまった今、再びはてな記法に戻るのは微妙です。

色々調べていると、どうやら最近?はSSG(静的サイトジェネレーター)というものでブログをえいやするのが流行っているそうなので、それを使うことにしました。

Jekyll

SSGであるJekyllのメリットとしては

  • Markdownが使える
  • HTMLも使える
  • サイトの表示が高速
  • 脆弱性からララバイ
  • リポジトリで管理することもできる

HTMLやMarkdownは過去にやってきたこととかから自由自在に記述できるのでそれが使えるというのは大きいです。

また、SSGで生成したサイトはHTMLやCSS, JS, 画像ファイルなどの静的コンテンツで構成されており、アクセスの都度コンテンツを生成するWordPressなどのCMSに比べサイトの表示が高速になるという利点があります。

また、PHPやPerl,CGIなどのプログラムをHTTPサーバーで動かさないため、それらを標的にした攻撃とも無縁になります。

まあ、Shellshock(CVE-2014-6271)のようなそれ以外の要因に起因する脆弱性には気をつけなければならないのですが。

まあ、デメリットとしては

  • 管理画面が存在しない
  • 更新の度に生成し直さなければならない
  • コメント機能などは無い

という点があげられますが、そこまで重要ではないので、無視できます。

Jekyllで遊ぶときにコケた話

手元にいい感じのLinux環境がなかったため、Dockerを使用してテストしていたのですが、jekyll serveが通らなかったり、そもそもアクセスできなかったりしました。

jekyll serveでエラーが出る

webrickというGemが無いことが原因です。

bundle add webrick

することで解決します。

コンテナ外からアクセスできない

半日ぐらい悩みました。

答えとしては、ローカルにしか公開していないためで、公開先を0.0.0.0にしてやればよいです。

bundle exec jekyll serve --host=0.0.0.0

みたいにやってやれば解決しました。

まあ、そもそもテスト用のHTTPサーバー機能なので、外部からアクセスすることは考えていないのでしょう。

確認が終わったら、nginxなりApache HTTP Serverなりホスティングサービスに投げてやるのが良さそうです。

今後

とりあえず、ブログを復活させた目的としては、Twitterでは定期的にツイ消しするので、情報の退避用として使用します。

技術的なことや日常的なことなどごちゃまぜにして書くつもりなので、技術的なことを知りたい人はQiitaなりStack Overflowなどを参照したほうが良いと思います。

技術ブログではありません。