【CentOS7】Ruby on Rails 環境構築

この画面を見るために何時間もかけました…

CentOS7でRuby on Railsの環境を構築しました、これはその備忘録です。

環境

  • さくらのVPS
  • CentOS7
  • Apache

手順

初期設定

CentOSの初期設定、Apacheのインストール等は公式が用意してくれているさくらのVPS入門ガイドの通り進めました。

あと、さくらのVPSのサーバー設定画面でパケットフィルタをオフにするのを忘れずに!

今この記事を公開しているWordpressもこの手順通り進めれば導入できます。(ただ第5回のphpmyadminを導入する回に関してはパッケージエラーが発生してインストールができませんでした。phpmyadminを使わずコマンドラインでDBを作成する方法も載せてくれているのでWordpress公開に支障はないですが、念のため)

Rubyのインストール

こちらの記事を参考にさせてもらいました。

rbenvのインストール
$ cd
$ sudo yum -y install git
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

rbenvをインストールできたら、パスを通す作業をします

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
Rubyのインストール

今回は2.6.7をインストールします(インストールには結構な時間がかかります)

$ mkdir -p "$(rbenv root)"/plugins
$ sudo yum -y install gcc make openssl-devel readline-devel
$ rbenv install 2.6.7
$ rbenv global 2.6.7
Ruby on Railsのインストール
$ gem install rails

Railsのバージョンは6.1.3.2が入りました(2021年6月13日現在)

Railsの導入は完了しましたが、このままrails newしてもエラーが出て動かないはずです。

関連のパッケージをインストールしましょう。

SQLite3のインストール
sudo yum -y install sqlite-devel

このコマンドでSQLite3をインストールできますが、このままだとSQLite3のバージョンが古くてエラーが出ますので、バージョンアップを行います。

SQLite3のバージョンアップに関してはこちらの記事を参考にさせてもらいました。

2021年6月13日の時点で最新である3.35.5にバージョンアップします。

$ wget https://www.sqlite.org/2021/sqlite-autoconf-3350500.tar.gz
$ tar xvfz sqlite-autoconf-3350500.tar.gz 
$ cd sqlite-autoconf-3350500
$ ./configure --prefix=/usr/local 
$ make 
$ sudo make install 
$ /usr/local/bin/sqlite3 --version 
3.35.5 2021-04-19 18:32:05 1b256d97b553a9611efca188a3d995a2fff712759044ba480f9a0c9e98fae886
$ sqlite3 --version 
3.35.5 2021-04-19 18:32:05 1b256d97b553a9611efca188a3d995a2fff712759044ba480f9a0c9e98fae886 
$ sudo mv /usr/bin/sqlite3 /usr/bin/sqlite3_old 
$ sudo ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3 
$ vi ~/.bashrc 
# 以下を追記する 
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
Node.jsのインストール

Railsの実行にはNode.jsが必須なので、インストールするのですが、こちらの手順はよく覚えていません…普通にyum install nodejsでインストールできるかと思えば、yarnを入れろと出たり(かと言ってsudo yum install yarnするとエラーが出てインストールできない)、npmのバージョンアップが必要という情報を見てnpmをアップデートしようとすると、エラーが出てアップデート出来ない、やっとNode.jsをインストールできたかと思えば、バージョンアップしろと出て、そのバージョンアップも一筋縄ではいかない…と地獄を見ましたが、いろいろコマンド打ってたらいつの間にか解決してて何の手順で解決したのかよく分からない状態です(yum clean allが効いた気がしますが定かではありません)

ポートの解放

rails sした時、通常は3000番のポートを使用するのですが、開放されていないためアクセスできません。

ファイアウォールの方で3000のポート解放をします。

ファイアウォールの設定
$ firewall-cmd --zone=public --add-port=3000/tcp
$ firewall-cmd --zone=public --add-port=3000/tcp --permanent
$ firewall-cmd --reload

ここまで設定が終われば、最後にrailsでアプリケーションの作成を行います

$ cd cd /var/www/html/
$ rails new blog
$ cd blog
$ rails s -b 0.0.0.0

これでhttps://(VPSのアドレス):3000にアクセスすれば…

この画面が出るはずです!

コメント

タイトルとURLをコピーしました