LoginSignup
6
7

More than 5 years have passed since last update.

Railsで作成したアプリケーションをApache/Passegerで動作させるまでのメモ

Posted at

インストールのディレクトリ構成

  1. /var/lib 下に作成したRailsアプリケーション(仮にRApp1)を配置する。
  2. /var/www/html/<配置したいディレクトリ名> → /var/lib/RApp1/public にシンボリックリンクを張る。

データベースの設定を変更(productionの追加)をする。

database.yml
development:
  adapter: sqlite3
  pool: 5
  timeout: 5000
  database: db/development.sqlite3

production:
  adapter: mysql2
  database: <データベース名>
  host: <データベース・サーバアドレス>
  username: <DBアクセス/ユーザー名>
  password: <DBアクセス/パスワード>
  encoding: utf8

データベースを反映させる。

実DBからリバースしたケースでは、DB:reset で再構築

$ rake db:reset RAILS_ENV=production

空の状態からmigrateで反映できるときは以下。

$ rake db:migrate RAILS_ENV=production

Gemをインストールする

$ bundle install

production環境/development環境でインストールするGemを使い分けたい場合

例)Prodiction環境ではMySql2、Development環境では Sqlite3を使う場合

group :development, :test do

  gem 'sqlite3'

end

group :production do

  gem 'mysql2'

end

のように書いておき、production環境でGemをインストールするときは、

$ bundle install --without development test

を実行する。

apache/passenger をインストールする

※筆者はRedmineを動作させるのにインストール済みであった為、インストール手順は割愛

passenger.conf
RailsBaseURI /RApp1
SetEnv SECRET_KEY_BASE <暗号文字列>

※railsアプリケーションが動作するフォルダを指定する。
※production環境は、SECRET.KEYを環境変数から取得することを推奨されている為、環境変数SECRET_KEY_BASEをここで設定している。
※暗号文字列は以下のコマンドで取得する

$ bundle exec rake secret
ここに<暗号文字列>が出力される。

passengerの設定を反映させる。

# service httpd restart

以上

6
7
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
6
7