【Rails】centos・apache・mysql環境にRuby on Railsの環境構築する方法メモ
はじめに
CentOS6.7、apache2.2、MySQLの環境でRailsを動かすところまでをやりうとしたらけっこう時間かかったのでやり方というか手順をメモしておく。
今回はVagrantにて行った。また、RubyとRailsのバージョンは基本的に最新のものを入れてみた
前準備としてApache、MySQLのセットアップ
gitインストール
$ sudo yum install -y git
Apache、MySQLインストールして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
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はrailsをapache経由で使用するときに使う
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!」と画面に表示されれば成功かと思います、以上です