LoginSignup
8
13

More than 5 years have passed since last update.

Lodgeインストール手順メモ

Posted at

個人用メモ
QiitaライクなOSSの知識共有サービスLodgeの導入方法

事前準備

2016/02時点
公式のGithubではRubyのバージョンは2.0.0となっているが2.4では動作せず、2.0ではインストールでエラーが発生。安定版のRuby 2.1.8 では動作を確認

2016/06時点
公式のインストール手順が更新されているのを確認

Ruby 2.1以上で動作するらしい(現時点では未確認)

必要なもの バージョン
Ruby 2.1.8
Gem 2.2以上
Bundler
MySQL
sqlite3

MySQLとsqlite3はどちらか片方でよい

CentOS6.5では以下のパッケージが必要になった

  • libicu
  • gcc-c++
  • cmake

インストール手順

  1. Lodgeのプロジェクトをcloneする

    自分のインストール時は、下記コマンドにより /usr/local/src/lodge にcloneした

    git clone https://github.com/m-yamashita/lodge.git /usr/local/src/lodge
    
  2. プロジェクトのディレクトリに移動してdatabase.ymlを作成する

    database.example.ymlをコピーして利用するDBのコメントアウトを外す(必要なら値を修正する)

    cd /usr/local/src/lodge
    cp config/database.example.yml config/database.yml
    vi config/database.yml
    

    sqlite3を利用するため、database.ymlの内容は以下のようになる

    default: &default
      # === sqlite3 ===
      adapter: sqlite3
      encoding: utf8
      pool: 5
    
    #  # === mysql ===
    #  adapter: mysql2
    #  host: localhost
    #  username: your_mysql_user_name
    #  password: your_mysql_password
    #  encoding: utf8
    #  pool: 5
    
  3. 依存ライブラリをインストールする

    以下のコマンドを実行して依存ライブラリをインストールする

    bundle install --path vendor/bundle
    
  4. .envファイルを作成する

    .env.example をコピーしてコメントを見ながら環境に合わせてパラメータを修正する

    検証キーと認証キーはbundle exec rake secretで生成した
    実行したコメントは以下

    cp .env.example .env
    # コメントを見てパラメータを修正
    vi .env
    # キーを生成して.envファイルに挿入
    sed -i -e "s/__some_random_string__/`bundle exec rake secret`/" .env
    
  5. データベースの作成

    以下のコマンドを実行し、データベースを作成する

    bundle exec rake db:create RAILS_ENV=production
    
  6. テーブルの作成

    以下のコマンドを実行し、テーブルを作成する

    bundle exec rake db:migrate RAILS_ENV=production
    
  7. 絵文字データをダウンロードする

    https://github.com/github/gemoji にある絵文字を、以下のコマンドでダウンロードする

    bundle exec rake emoji
    

コマンドのみ

git clone https://github.com/m-yamashita/lodge.git /usr/local/src/lodge
cd /usr/local/src/lodge
cp config/database.example.yml config/database.yml
vi config/database.yml
bundle install --path vendor/bundle
cp .env.example .env
vi .env
sed -i -e "s/__some_random_string__/`bundle exec rake secret`/" .env
bundle exec rake db:create RAILS_ENV=production
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake emoji

起動

Lodgeをクローンしたディレクトリに移動して起動コマンドを実行する

cd /usr/local/src/lodge
bundle exec rails server -e production

なお、LodgeはUnicorn, Thin, WEBrickのどれかで起動できる
起動コマンドはそれぞれ以下になる

# Unicorn
bundle exec unicorn -c config/unicorn.rb -E production
# Thin
buncle exec rails server thin -e production
# WEBrick
bundle exec rails server -e production

http://[サーバドメイン]:3000/ にアクセスし、Lodgeのログイン画面が表示されれば起動完了

URLプレフィックスをつける

http://[サーバドメイン]:3000/lodge のように、URLプレフィックスを付けて利用するために以下のことを行う

  1. config.ru の runをラッピングしてrelative urlを適用させる
  2. RAILS_RELATIVE_URL_ROOTを指定して起動する

config.ruを以下のように修正する

config.ru
# This file is used by Rack-based servers to start the application.

require ::File.expand_path('../config/environment',  __FILE__)
map ActionController::Base.config.relative_url_root || "/" do
    run Rails.application
end

WEBrickで動作
http://[サーバドメイン]:3000/lodge でアクセス
デーモンで起動

の場合の起動コマンドは以下

RAILS_RELATIVE_URL_ROOT='/lodge' bundle exec rails server -e production --daemon

UnicornやThinでも起動可能と思われるが起動・動作は未確認

参考サイト

8
13
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
8
13