LoginSignup
7
11

More than 5 years have passed since last update.

CentOS7にRuby on Rails5をインストールする

Last updated at Posted at 2017-02-19

はじめに

最近使いはじめたRuby on Rails。
導入方法毎回忘れるのでメモです。


環境

OS CentOS 7.3
Ruby 2.3
Rails 5.0.1
DB MySQL Community 5.6


下準備

まずはRuby2.3をインストールするために色々準備

CentOS SCLリポジトリ登録

yum install centos-release-scl-rh centos-release-scl

Remiリポジトリ登録

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Ruby 2.3インストール

Ruby2.3をインストール。
ここでついでにRuby develもインストールしておきます。

yum --enablerepo=centos-sclo-rh install rh-ruby23  
yum --enablerepo=centos-sclo-rh install rh-ruby23-ruby-devel

確認

scl enable rh-ruby23 bash
ruby -v
>ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]

インストールできてるっぽいですね。
んで、ログインのたびに上のコマンド入力するのは流石にだるいので、

/etc/profile.d/rh-ruby23.sh
#!/bin/bash

source /opt/rh/rh-ruby23/enable
export X_SCLS="`scl enable rh-ruby23 'echo $X_SCLS'`"

profile.dに追加しておきます。
そしたら

reboot
ruby -v

で、ちゃんと表示されるか確認します。
表示されたらRubyのインストールは完了です。


MySQLのインストール

ここからCentOS7用のrpmファイルを取得します。

wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -Uvh mysql57-community-release-el7-9.noarch.rpm

手順的にはさっきと似てますね。
出来たらファイルを少し変更します。

/etc/yum.repos.d/mysql-community.repo
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1 #0を1へ変更
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=0 #1を0へ変更
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql

こうすることによってデフォルトでインストールされるMySQLを5.7から5.6へ変更します。
変更したら

yum install mysql-community-server mysql-community-devel

MySQLをインストールします。サーバーだけでなくクライアントも一緒にインストールされます。
完了したら

systemctl start mysqld
systemctl enable mysqld
mysql_secure_installation

MySQLを起動させ、自動起動を設定し、忘れずにmysql_secure_installationを実行します。
ぜんぶ終わったら

mysql -u root -p

で、しっかり設定したパスワードで接続できるか検証しましょう。
これでMySQLはセットアップ完了です。


Rails5のインストール

最後にRails5をインストールします。

yum --enablerepo=epel,centos-sclo-rh install nodejs gcc make libxml2 libxml2-devel zlib-devel libxslt-devel 

必要なものは揃ったので

gem install bundler
gem install nokogiri -- --use-system-libraries
gem install rails --no-ri --no-rdoc
rails -v 
>Rails 5.0.1

完了です。
動作確認もしましょう。

サンプルプロジェクトの作成

rails new <プロジェクト名> -d mysql
cd <プロジェクト名>/

データベースの設定

/config/database.config
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: <適宜作成したユーザー>
  password: <作成したユーザーのパスワード>
  socket: /var/lib/mysql/mysql.sock

DB作成&テストページ作成

rails db:create
rails generate scaffold <ページ名> name:string title:string body:text
rails db:migrate
rails server --binding=0.0.0.0

ちなみこのページ名は単数系で。
ここまで来たら

http://<サーバーのIP>:3000 へアクセスしてみて下さい。
なんか人がわちゃわちゃしながら「いぇい!」ってやってたら完了です。


参考URL

CentOS 7 : Ruby on Rails 5 : Server World
CentOS 7 : Ruby 2.3 インストール : Server World
CentOS 7 : 初期設定 : リポジトリ追加 : Server World

ほぼ同じ内容ですがMariaDBではなくMySQLを使ってます。
あと、リポジトリの優先度設定等端折ってます。

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