Ubuntu 20.04 に Rails 7 をインストールする


はじめに

Ubuntu 20.04 に Rails 7 をインストールするためのメモ。

環境

$ hostnamectl status
   Static hostname: ---
         Icon name: computer-vm
           Chassis: vm
        Machine ID: ---
           Boot ID: ---
    Virtualization: kvm
  Operating System: Ubuntu 20.04.3 LTS
            Kernel: Linux 5.4.0-96-generic
      Architecture: x86-64
$ ruby -v
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux]

インストール

MariaDBまたはMySQLを利用するためインストール。手順は、下記リンクを参照。

Ubuntu 20.04 に MariaDB 10.x をインストールする

Ubuntu 20.04 に MySQL 8 をインストールする

Gemfile を生成。

$ bundle init
Writing new Gemfile to /home/rails_user/projects/rails-sample/Gemfile

生成した Gemfile の Rails のコメントアウト(#) を削除。

$ vim Gemfile

Bundle を利用して、Rails 7 をインストール。

$ bundle config set --local path 'vendor/bundle' \
  && bundle install

Rails の新規プロジェクトを作成。

下記の場合、APIモード & DBはMySQLを指定。

$ bundle exec rails new . --api -d mysql

データベースへの接続情報を編集。

$ vim config/database.yml

データベースを作成。

$ bundle exec rake db:create

サーバを起動。

$ bundle exec rails server -p 3000 -b '0.0.0.0' -e development
=> Booting Puma
=> Rails 7.0.2 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.1 (ruby 3.1.0-p0) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 93799
* Listening on http://0.0.0.0:3000

.env で環境変数を管理する場合

Gemfile に下記を追記。

gem 'dotenv-rails'

dotenv-rails をインストール。

$ bundle install

環境変数を呼び出す場合は以下のように記述。

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: <%= ENV.fetch("DBUSER") { "root" } %>
  password: <%= ENV.fetch("DBPASS") %>
  socket: /var/run/mysqld/mysqld.sock