jekyll を Amazon Lightsail のUbuntu にインストールしてブラウズするまでのメモ


Rubyで動く静的サイトジェネレーター・jekyllを触る機会がありました。
AmazonのVPSサービス「Lightsail」にインストールして、ブラウジングするまでの操作をメモっておきます。

jekyll とは

rubyで動くシンプルなブログ・CMS。Markdownファイルからhtmlを生成する。
GitHub Pageのバックエンドで動いているのがjekyll。

Amazon Lightsailとは

AWSが提供するVPSサーバー。ちょっとした開発・検証作業などを行うのにちょうど良い。

Lightsail に jekyll をインストールして動かすまで

OSは Ubuntu を利用しました。

LightsailのコンソールからUbuntuを選択し、インスタンスを起動する。

インスタンスのターミナルに接続して、Ubuntuを最新の状態にする。

sudo apt update
sudo apt upgrade

jekyll には gcc と make が必要なため、インストール

sudo apt install make gcc

インストールガイドに従ってセットアップする。 OSによって操作が微妙に異なる。Ubuntuのインストールガイドはこちら。

sudo apt-get install ruby-full build-essential zlib1g-dev
echo '# Install Ruby Gems to ~/gems' >> ~/.bashrc
echo 'export GEM_HOME="$HOME/gems"' >> ~/.bashrc
echo 'export PATH="$HOME/gems/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
gem install jekyll bundler

最後の gem install が思いのほか時間がかかった。メモリ 512MB のインスタンスだと、インストールが途中で詰まっていたので、メモリの容量に依存するのかも。

jekyll で最初のブログを作成する。チュートリアルと同じ 「myblog」というディレクトリで作成する。

jekyll new myblog
cd myblog

jekyll を起動する。チュートリアルでは、ローカルマシンでの動作を前提に書いており、このままではLightsailからブラウズできない。

起動時、もしくは設定ファイルに 0.0.0.0 で起動することで解決できる。

以下のコマンドで起動すると、 http://ip-address-of-instance:4000 でブラウズできる。

bundle exec jekyll serve --host 0.0.0.0

もしくは、 _config.yml に以下の一行を追記。

host: 0.0.0.0

_config.yml の設定が済んでいれば下記のコマンドでも起動できる

jekyll s

jelyll にページを追加する

page
https://jekyllrb.com/docs/pages/

post(ブログ記事)
https://jekyllrb.com/docs/posts/

をみながら、Markdown形式でファイルを追加する。

ファイルを追加したら、静的htmlの出力を行う。

jekyll build

無事にブラウズできました。

追記:jelyll が利用するポートに対して接続許可を与えないと、表示エラーになるので要注意。