読者です 読者をやめる 読者になる 読者になる

【Rails】centos・apache・mysql環境にRuby on Railsの環境構築する方法メモ

Ruby Rails

はじめに

CentOS6.7、apache2.2、MySQLの環境でRailsを動かすところまでをやりうとしたらけっこう時間かかったのでやり方というか手順をメモしておく。
今回はVagrantにて行った。また、RubyRailsのバージョンは基本的に最新のものを入れてみた

前準備としてApacheMySQLのセットアップ

gitインストール

$ sudo yum install -y git

ApacheMySQLインストールしてMySQLをざっと初期設定

# インストール
root> yum install -y http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
root> yum install -y httpd mysql-community-server
root> yum install -y mysql-devel httpd-devel

# MySQL設定
root> mysql_install_db --datadir=/var/lib/mysql --user=mysql
root> service mysqld start
root> mysql_secure_installation

rubyインストール

直接インストールすることも可能みたいだけど、rbenvでインストールしている参考記事が多かったのと複数バージョンのruby環境を簡単に作れるようなのでrbenvを使う。
ちなみにbundlerはgemのパッケージを管理してくれるツールで、gemコマンドで直接インストールするよりもbundleコマンドでインストールするのが一般的ぽい。

rbenvインストール

root> cd /usr/local
root> git clone git://github.com/sstephenson/rbenv.git
root> echo 'export RBENV_ROOT="/usr/local/rbenv"' >> /etc/profile
root> echo 'export PATH="${RBENV_ROOT}/bin:${PATH}"' >> /etc/profile
root> echo 'eval "$(rbenv init -)"' >> /etc/profile
root> source /etc/profile

ruby-buildインストール(rbenvのプラグイン)

root> mkdir /usr/local/rbenv/plugins
root> cd $_
root> git clone git://github.com/sstephenson/ruby-build.git

rubyインストール

root> yum -y install openssl-devel readline-devel # rubyをインストールするのに必要
root> rbenv install -l # 最新のバージョンを確認
root> rbenv install 2.3.0
root> rbenv global 2.3.0

bundlerインストール

root> gem install bundler

passengerインストールとセットアップ

passengerはrailsapache経由で使用するときに使う

passengerインストール

root> yum install -y curl-devel # passengerインストールに必要
root> gem install passenger
root> passenger-install-apache2-module

・・・

# コマンド終了後にhttpd.confを編集する旨のメッセージ出るので以下を追記(表示されたメッセージそのままコピペで)

/etc/http/conf/httpd.conf

LoadModule passenger_module /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
  PassengerRoot /home/vagrant/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/passenger-5.0.30
  PassengerDefaultRuby /home/vagrant/.rbenv/versions/2.3.0/bin/ruby
</IfModule>

引き続きバーチャルホストの設定
/etc/http/conf/httpd.conf

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/project/app/public
    RailsEnv development # 本番ならproduction
    <Directory /var/www/project/app/public>
	AllowOverride all
        Options -MultiViews
    </Directory>
    ErrorLog /var/log/httpd/app.error.log
    CustomLog /var/log/httpd/app.access.log combined
</VirtualHost>

apache再起動

$ sudo service httpd restart

railsのインストールとセットアップ

railsインストール

$ sudo mkdir -p /var/www/project
$ sudo chwon vagrant:vagrant /var/www/project
$ cd /var/www/project
$ bundle init

Gemfileができるので以下を追記
gem "rails"
gem "mysql2"

rbenvを使っている場合にgemを入れたときはrbenv rehashコマンドで反映

$ bundle install
root> rbenv rehash

これいれないとrailsが動かない

$ sudo yum install -y nodejs

railsセットアップ

$ bundle exec rails new app -d mysql

db設定
app/config/database.ymlの設定を環境に合わせて編集

db作成

cd app
rake db:create

ブラウザにてアクセスしてみる
http://example.com/

「Yay! You’re on Rails!」と画面に表示されれば成功かと思います、以上です