はじめに
最近使いはじめた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]
インストールできてるっぽいですね。
んで、ログインのたびに上のコマンド入力するのは流石にだるいので、
#!/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
手順的にはさっきと似てますね。
出来たらファイルを少し変更します。
# 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 <プロジェクト名>/
データベースの設定
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を使ってます。
あと、リポジトリの優先度設定等端折ってます。