Lodgeとは?
LodgeはRailsで作られたQiitaのクローンです。プライベートな情報共有ツールとしてQiitaのようなものを構築したいときにぴったりです。まだ開発途中といった感じですが今後の進展に期待して導入してみました。
Lodge
インストール手順
$ git clone https://github.com/lodge/lodge.git
$ cd lodge/
$ gem install bundler
$ bundle install --path vendor/bundle
$ bundle exec rake db:create RAILS_ENV=production
$ bundle exec rake db:migrate RAILS_ENV=production
メール送信設定
Gmailをメール送信に利用する場合.envにユーザ名とパスワードを記述しますが、アカウント認証時にエラーが発生する場合があります。ログに以下のような行が出力されています。
F, [2015-02-20T20:04:10.451031 #32645] FATAL -- :
Net::SMTPAuthenticationError (534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=
):
app/models/user.rb:70:in `find_for_google_oauth2'
app/controllers/custom_devise/omniauth_callbacks_controller.rb:4:in `google_oauth2'
config/initializers/quiet_assets.rb:6:in `call_with_quiet_assets'
このような場合は少しめんどうですが、アカウントの二段階認証の設定をすることでエラーを回避できます。
エラーメッセージにあるようにhttps://accounts.google.com/ContinueSignIn?
にアクセスして二段階認証を有効にしてください。
Google OAuth2の設定
LodgeにはGoogleのOAuth2を利用して認証する機能があります。
まだ公式なドキュメントがないのであっているかわかりませんがひとまず認証に成功したので、その方法を記しておきます。
Google Developers Console
Google API
[APIと認証]->[API]を選択し、Google+ APIを有効化します。
APIキー取得
[APIと認証]->[認証情報]を選択します。
lodge.example.comにLodgeが立っていると仮定すると
[承認済みの JAVASCRIPT 生成元]にhttp://lodge.example.com
[承認済みのリダイレクト URI]にhttp://lodge.example.com/users/auth/google_oauth2/callback
を指定する。しばらくするとクライアントIDとクライアントシークレットが発行されるのでこれを.envのGOOGLE_CLIENT_ID
とGOOGLE_CLIENT_SECRET
に記述します。