HerokuでOSS Webサービスを作ってみる

mp_hskです。

超久しぶりのブログ記事です。

今日は2/21に社内LTで発表した内容を抜粋して紹介します。

お題

Heroku Platformを使って OSSのいろんな

Webサービスを構築してみます。簡単な構築手順などを紹介します。

Word Press

システムの概要

世界的に有名なコンテンツ管理システム(CMS) ブログ形式のコンテンツを管理するのに適しており、様々なカスタマイズもできます。

WordPress Codex 日本語版

エンジン: PHP

DB: MySQL

構築手順

約15分で可能。

 

  1. Heroku管理コンソールでアプリを作成
  2. アプリにMySQL ( 今回は JawsDB MySQL ) のAdd-onをProvisioning
  3. https://wordpress.org/ からWord PressのZIPをダウンロードし解凍する
  4. 解凍したファイルのwp-config.phpにDB情報を記載 (Add-onの管理画面で確認可能)
  5. 解凍したファイルを全て、Heroku Git に pushする
  6. Heroku 管理コンソールからアプリのTop URLをクリックする(とWordPressのインストール画面が起動できる)
  7. 完了!

Red Mine

概要

OSSのチケットトラッキングシステム。

標準的なチケットトラッキングwikiの他、SVNやGItと連動したりプラグインを足して機能追加など色々できる。

Redmine.JP — Redmine日本語情報サイト

エンジン: Ruby

DB: PostgreSQL ( Railsが対応してるDBならなんでもOK)

構築手順

約60分で可能。

  1. Heroku管理コンソールでアプリを作成
  2. アプリに Heroku PostgresのAdd-onをProvisioning
  3. Heroku環境変数RAILS_ENV = production を設定
  4. Githubから Redmineソースをクローン https://github.com/redmine/redmine.git
  5. ローカルで設定変更(次ページで解説)
  6. 設定変更結果を Herokuにpush
  7. heroku run rake db:migrate RAILS_ENV=production でテーブルを作成
  8. heroku run rake redmine:load_default_data RAILS_ENV=production で初期データをロード(途中言語聞かれるのでja を選択)
  9. 完了!

 

 ローカルでの設定

 

ローカルの細々とした設定

  1. CloneしたGitリポジトリは開発中のものなので、安定版のブランチにチェックアウトしておく
  2. .gitignoreから下記を削除する/config/configuration.yml
    /config/email.yml
    /config/initializers/session_store.rb
    /config/initializers/secret_token.rb
    /public/plugin_assets
    /Gemfile.lock
    /Gemfile.local
  3. config/database.yml を Add-onの環境情報を見て設定
  4. ローカルで bundle install を実行する
  5. ローカルで bundle exec rake generate_secret_token を実行する
  6. 切り替えた安定版のブランチ名を master に変更する

Knowledge

システム概要

OSSのナレッジ管理システム。

Wikiのような形で手軽にナレッジベースを共有できる。UIもモダンな感じで使いやすい。

information-knowledge.support-project.org

エンジン: Java

DB: PostgreSQL

構築手順

約10分で可能。

 

  1. https://github.com/support-project/knowledge にアクセスして Deploy To Heroku ボタンをクリック
  2. アプリ名、アプリオーナー、リージョンを設定してDeploy Appをクリック
  3. 完了!

Reichat

システム概要

OSSのお絵かきチャット。

ペンタブも対応でお絵かきチャットができる。ログイン機能がないのとフリーハンドなので作図には向かない。完全にお遊び用だけど、社内コミュニケーションとかで使えるかも。

www.moongift.jp

エンジン: Node JS

DB: なし

構築手順

約10分で可能。

 

  1. https://github.com/kanreisa/reichat にアクセスして Deploy To Heroku ボタンをクリック
  2. アプリ名、アプリオーナー、リージョンを設定してDeploy Appをクリック
  3. 完了!

最後に

作った後、OSSの構築にHerokuの相性はいいとか、これからこういうの組み合わせで売っていくのがいいんじゃないか、的な締めをしました。が、このブログではこういう知識を垂れ流すためにやっているので、興味がある方は無料アカウントで是非試してみてください。上の構築手順は(クレカの登録が必要ですが)全部Herokuの無料アカウントの範囲で可能です。