Ubuntu 24.04 Ruby on Rails 7をインストールする

環境
Ubuntu 24.04
ruby 3.2.3

1.必要なパッケージをインストールしておきます。
# apt -y install ruby-dev libmysqlclient-dev gcc make yarnpkg libxml2 libxml2-dev libxslt-dev libyaml-dev nodejs git

2.Rails 7 をインストールします。

# gem install bundler
# gem install nokogiri -- --use-system-libraries
# gem install rails -N --version='~> 7.0, < 8.0'
# rails -v
Rails 7.1.3.4

3.テストアプリケーション用の DB とユーザーを作成

# mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 58
Server version: 10.11.7-MariaDB-2ubuntu2 Ubuntu 24.04

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> create database sample_app_test; 
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> create database sample_app_development; 
Query OK, 1 row affected (0.000 sec)

MariaDB [(none)]> grant all privileges on sample_app_test.* to arkgamedb@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> grant all privileges on sample_app_development.* to arkgamedb@'localhost' identified by 'password'; 
Query OK, 0 rows affected (0.005 sec)

MariaDB [(none)]> exit
Bye

mysql2をインストールする

# gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config

# rails new SampleApp -d mysql
# cd SampleApp

database.ymlを設定します
# vi config/database.yml

default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: arkgamedb     # MariaDB 接続ユーザー
  password: password        # MariaDB 接続パスワード
  host: localhost

5.rubyのプログラムを作成する
# vi config/application.rb

module SampleApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 7.1
    # 13行目 : ホストを指定する
    # 指定しない場合は [localhost] または IP アドレス宛のみアクセス可
    # サブドメイン含めてドメイン名単位で許可する場合は以下のように指定
    config.hosts << ".arkgame.com"

4.テストアプリケーション作成
# rails generate scaffold testapp name:string title:string body:text
# rails db:migrate

5.railsサーバを起動する

# rails server --binding=0.0.0.0

 

IT

Posted by arkgame