Railsの設置


投稿日2015/01/24


Railsの設置について説明していきます。設置して各設定を行います。環境構築を何回かに分けて明記しています。OSはCentOSです。

ユーザを作成

VPSにログインしていない時はログインしてください。

ssh yourname@契約したIPアドレス

Railsアプリーケーショ用のユーザ作成

sudo useradd -m appname
  • appnameは適宜変更してください。

passwordを作成

su 
passwd appname
gpasswd -a appname wheel
su appname

パーミッションを変更します。

sudo chmod 750 /home/appname

.sshとauthorized_keysの確認

sudo ls -d ~appname/.ssh
sudo ls ~appname/.ssh
  • ないときは作成してください。

SSH公開鍵を追加

sudo sh -c "cat ~yourname/.ssh/authorized_keys >> ~appname/.ssh/authorized_keys"
  • yourname, appnameは適宜変更してください。

sudoコマンド設定

sudo visudo

下記を探します。

Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin

修正します。

Defaults secure_path = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/rbenv/shims

ソースコードの取得

別のターミナルを開き、アプリケーションユーザとしてログインします。

ssh appname@契約したIPアドレス

GithubからClone

git clone git://github.com/yourId/xxx.gin rails_root
  • ご自身のgitからクローンするように変更してください

依存するGemをインストール

RMagickを使用している場合

sudo yum install ImageMagick-devel ImageMagick-c++-devel

Gemfile群をbundle install

cd ~/rails_root
bundle install --path vendor/bundle --without development test

データベースを作成

下記で作成されたパスワードをコピーしておきます。

pwgen 12 1

rootでMySQLモニターにログイン

mysql -u root -p

下記、コマンドを実行

mysql> CREATE DATABASE appname_production DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> CREATE USER 'appname'@'localhost' IDENTIFIED BY '先ほど作成したパスワード';
mysql> GRANT ALL ON appname_production.* TO 'appname'@'localhost';
mysql> quit
  • appnameは適宜変更してください。

config/database.yml

vi config/database.yml

以下のように書き換えます。

production:
  adapter: mysql2
  encoding: utf8
  reconnect: false
  database: appname_production
  pool: 5
  username: appname
  password: 先ほど作成したパスワード
  socket: /var/lib/mysql/mysql.sock
  • appnameは適宜変更してください。
  • development, testは削除します。

データベースに初期データを投入

cd ~/rails_root
RAILS_ENV=production bundle exec rake db:setup

Deviceを使用しているとエラーが出ます。エラー時に作成されたconfig.secret_key='シークレットキー'をconfig/initializers/device.rbに追記しましょう。

アセットパイプラインのプリコンパイル

bundle exec rake assets:precompile RAILS_ENV=production

エラーになる時はGemfileを編集し、

# gem 'therubyracer',  platforms: :ruby, group: :production

ここのコメント外してbundle installしましょう。

public/assets以下にCSS、JavaScript、画像が作成されます。

ls -l public/assets

Tags

Date

  1. 2015年 (14)
    1. 3月 (2)
    2. 2月 (3)
    3. 1月 (9)