LoginSignup
27
28

More than 5 years have passed since last update.

LodgeをFedoraにインストールしてみた

Last updated at Posted at 2014-07-06

概要

Qiita:Teamの機能をイントラネット上で構築するためのオープンソース「Lodge」を自宅のFedoraサーバーにインストールしてみました。Ruby on Railsのことはほとんど知らないので,やり方が正しいかよくわかりませんが,とりあえず動くようになりました。

Lodgeとは

職場の都合で情報が外にでるのはまずいけど,Qiita:Teamが使いたい。じゃあイントラで使えるようにしようと開発されているのが,Lodgeです。開発者に感謝。コード作れる人すげー。

Lodgeの説明
Lodge

インストール

https://github.com/m-yamashita/lodge
にインストールの手順が書いてあるので,基本的にはその通りにやったらできました。途中幾つかハマったところがありました。

準備

必要なものとして
+ Ruby 1.9以上
+ Gem 2.2以上
+ MySQLもしくはsqlite3

と書いてあります。Rubyは1.9だったのですが,Gemが1.8だったので,アップデート。mySQLはすでに構築してあるので,mySQLを使います。

Gemのアップデート

Gemのこともよくわからんので,とりあえず以下でアップデートしました。参考にしたページ

$ sudo gem install rubygems-update
$ sudo update_rubygems
$ sudo gem update

update_rubygemsをつかって,アップデートするのが最近のGemらしいので,書いてあるとおりにアップデート。3つめのgem updateで途中何度も止まりましたが,止まるたびにやり直し。Fedoraのyumで入れたGemとかち合っている気がしますが,とりあえずやってしまいました。

リポジトリのクローン

Githubのページからプロジェクトのリポジトリをクローン。ホームディレクトリの適当なとこにしました。

$ git clone https://github.com/m-yamashita/lodge.git

database.ymlの編集

config/database.example.ymlをconfig/database.ymlとしてコピーして編集しました。

  • mysqlのところのコメントアウトを解除。
$ diff config/database.example.yml config/database.yml
14,19c14,19
< #  adapter: mysql2
< #  host: localhost
< #  username: root
< #  password: 
< #  encoding: utf8
< #  pool: 5
---
>   adapter: mysql2
>   host: localhost
>   username: root
>   password: (mySQLのパスワード)
>   encoding: utf8
>   pool: 5
34d33
<   #database: lodge_production

bundle install実行

bundle installを実行します。

$ bundle install

いらないかもしれない操作

bundle installした後に

  • Gemfileのgem 'therubyracer', platforms: :rubyのところのコメントアウトを解除して,再度bundle install実行。
  • gem install eventmachineを実行

最初Gemのバージョンが古い状態でこの作業したので,この追加の操作は必要ないかも。

データベース作成

データベース作成のため,

$ rake db:create RAILS_ENV=production
$ rake db:migrate RAILS_ENV=production

を実行。MySQLで,lodge_productionというデータベースができているのを確認。

公式ページにはRAILS_ENV=productionの部分が書いてないので,はまりました。Ruby on Railsに詳しければ大丈夫なんでしょうけど。

production.rbの編集

config/environments/production.example.rbをconfig/environments/production.rbとしてコピーして,production.rbの最後をメール送信ができるように設定しました。ポート3000はGitlabが使っているので,ポートを3100にしました。

secret_keyの設定

productionモードではsecrete_keyが必要らしい(意味はわかってないです)ので,以下を実行。bash使ってます。

echo "export SECRET_KEY_BASE=\"`rake secret`\"" >> ~/.bashrc; source ~/.bashrc

起動

以上で設定が終わったので起動

$ rails server --port=3100 -e production

ポート3100番で起動してます。あとにこんなメッセージ。

Warning: Running `gem pristine --all` to regenerate your installed gemspecs (and deleting then reinstalling your bundle if you use bundle --path) will improve the startup performance of Spring.
=> Booting Thin
=> Rails 4.1.0 application starting in production on http://0.0.0.0:3100
=> Run `rails server -h` for more startup options
=> Notice: server is listening on all interfaces (0.0.0.0). Consider using 127.0.0.1 (--binding option)
=> Ctrl-C to shutdown server
Thin web server (v1.6.2 codename Doc Brown)
Maximum connections set to 1024
Listening on 0.0.0.0:3100, CTRL+C to stop

gem pristine --allをやれといわれてますが,やっても途中で終わるので無視してます。

次にブラウザでhttp//(サーバーのアドレス):3100でアクセスします。最初はユーザーの登録が必要。メール送信して確認します。最初,メール送信の設定してなくてハマりました。

無事できました。

Lodge0.jpg
Lodge.jpg

最後に

  • Ruby on Railsを全く知らないで,インストールしたので時間かかりましたが,知ってる人ならインストールは公式にあるように簡単です。
  • 現時点で機能は実用できるレベルだと思います。ストックもできるし,タグもつくし,人気記事も出るし。便利。
  • 公式ページに書いてないですが,画像をアップデートできなさそう。以前のQiitaと似たような状態です。使おうとしてるのは画像つきのレポートなんかをここでまとめたいなと思っているので,Lodge上で画像もアップデートできるとうれしいです。
27
28
4

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
27
28