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 が利用するポートに対して接続許可を与えないと、表示エラーになるので要注意。