しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Azure Web Apps に Flat-File CMS な Grav をインストールする

f:id:shiba-yan:20160722232417p:plain

Azure Web Apps 上に Umbraco をインストールして shibayan.jp を公開してましたが、PHP 製の Flat-File CMS な Grav に移行したので簡単に手順を残しておきます。

Grav - A Modern Flat-File CMS | Grav

Grav は YAML と Markdown だけで書いていけるので、覚えることが少なくて簡単です。そして標準で IIS への対応ファイルが入っているので、とてもインストールは簡単です。

本体のダウンロード

f:id:shiba-yan:20160722232817p:plain

Downloads | Grav

ダウンロードページは Grav Core と Admin Plugin が含まれた 2 つが公開されてますが、後から Admin Plugin はインストールできるので、管理画面が必要という以外は Grav Core を選べばいいです。

Web Apps の準備

Grav は実行に PHP 5.5.9 以上が必要になるので、Azure Web Apps のデフォルト設定のままだと動作しないので、作成したら真っ先にバージョンを上げておきましょう。折角なので PHP 7 にしました。

f:id:shiba-yan:20160722233114p:plain

設定はたったのこれだけで終わりです。必要に応じて Always On を有効にしても良いと思います。

ソース管理を使う

Grav はファイルを置けばページが完成しますが、シンプルな分だけバージョン管理的なものが用意されてないです。なので基本的には Git などと組み合わせて使うのが便利だと思いました。

公式ブログでも Azure Web Apps に Bitbucket からデプロイする方法が紹介されてます。

手順はこっちを参照して貰えれば大体 OK だと思います。ざっくり説明するとダウンロードした zip を展開して Git に突っ込んでコミットするだけです。.gitignore の設定だけ気を付けたいです。

展開すると webserver-configs というディレクトリがあるはずなので、Web.config をコピーして 1 階層上に持って行きます。そうしないと静的ファイル系が全滅します。

f:id:shiba-yan:20160723000226p:plain

ここまで終われば、あとはデプロイして URL を叩くと勝手にインストールされます。

実際に shibayan.jp は GitHub の Private Repository から Azure にデプロイしています。

f:id:shiba-yan:20160722232729p:plain

Web Apps は直近 10 コミットまではポータルから簡単に戻すことが出来るので、間違った内容をコミットしてしまった時でもすぐに対応が出来るの安心ですね。

f:id:shiba-yan:20160722232318p:plain

まだ Grav 使い始めなので、あまりコミットは行っていないです。今後頑張ります。

Kudu / FTP を使う

ソース管理が必要ないという場合は、直接 Kudu の Debug Console や FTP を使って展開したファイルを wwwroot にコピーするだけで、同様にインストールを行うことが出来ます。

Web Apps のストレージは多重化されているので、履歴が要らないという場合には選択肢の一つとしてありかもしれないです。手軽ですし。

コンテンツを編集する

これで Grav のセットアップは完了なので、あとは site.yaml を編集したり、実際に Markdown でページを作成していく形になりますが、shibayan.jp では Visual Studio Code を使っています。

IIS Express と組み合わせることで、簡単にローカルでもページを確認できるので、安心して GitHub にコミットしてデプロイという流れを実行できます。