LoginSignup
5
8

More than 5 years have passed since last update.

PukiWiki を Markdown に変換して Heroku 上の Growi にデプロイした

Posted at

経緯

Pukiwiki をデプロイしていた VM が突然死し,早急に Wiki を復旧する必要がありました.
組織内でオンプレからクラウドに移行する動きがあったこと,そもそも Pukiwiki ってどうなの?という話などから,試しに Growi で Wiki を立ち上げてみることにしました.

Growi

Markdown で記述できるオープンソースの Wiki です.Crowi から派生したプロジェクトで,日本人の方が開発しているようです.
https://growi.org/
ソースコードは Github 上に公開されています.
https://github.com/weseek/growi
試しに Github のページを開いたところ,Heroku Button を発見しました.当時の私は一刻も早く Wiki を移行させたかったので,とりあえず Heroku にデプロイしてみた次第です.

Heroku

PaaS (Platform as a Service) の形態で提供されているクラウドサービスで,アプリケーションをプラットフォーム上にデプロイできます.
https://jp.heroku.com/

登録

アカウントを持っていなかったので,上記リンクから新規登録しました.基本的には無料で利用できますが,Heroku の醍醐味 (?) であるアドオンを使うにはクレジットカードの登録が必要です.
Growi は mLab MongoDBBonsai Elasticsearch という 2 つのアドオンを使用しています.
Heroku では各アドオンの利用に対しても課金されますが,今回は無料枠内で構築できました.

デプロイ

Github のページ で「Deploy to Heroku」をクリックするだけです.Heroku 上のアプリ名称等を入力していくだけで,ほぼ自動的にアプリをデプロイできます.

PukiWiki からの移行

Wiki を 1 から作るのであれば,以上の手順で構築完了です.
私の場合は Pukiwiki のデータを移す必要があったので,参考にした記事等を載せていきます.

基本的には上記リンクの通りにできましたが,私の環境ではワンライナーのパーサだと不十分でした.実際に使用したコードは以下の通りです.
水平線や改行コードの処理を修正しています.

find wiki_mod/wiki -type f | xargs gsed -i -e 's/ \[#[0-9a-z]\+\]$//g' -e 's/^\*\*\*/###/g' -e 's/^\*\*/##/g' -e 's/^\*/#/g' -e 's/^.*----.*$/___/g' -e 's/^---/    -/g' -e 's/^--/  -/g' -e 's/^\(\s*\)-\([^ ]\)/\1- \2/g' -e 's/^\(\s*\)+\([^ ]\)/\1+ \2/g' -e 's/&br;/<br>/g' -e 's/#br//g' -e 's/^#pre{*/```/g' -e 's/^}}*/```/g' -e 's/~/  /g' -e 's/%%/~~/g' -e "s/^\/\/.*$//" -e "s/^\#lsx/`echo -ne '\u0024'`lsx()/g"

おまけ

Growi について調べながら記事を書いていると,GROWI.cloud というサービスを発見しました.2018年8月27日からクローズドβテスターの募集を開始したようです.

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8