生のUbuntu22.04にRails7の環境構築をおこなう

2023年3月15日

仮想環境を使わない、Ubuntu22.04に直にrailsをインストールしていきます。

mkdir rails-lesson
cd rails-lesson

sudo apt update
sudo apt install g++ make ruby-dev libmysqld-dev libyaml-dev mysql-server

# Gemfileをつくる
bundle init

# Gemfileのrailsのコメントアウトを外す
# インストール
bundle install

# プロジェクトを作る
bundle exec rails new . -d mysql

# mysqlに接続してrailsから接続されるユーザを作る
# (最初に存在するrootユーザはパスワード未設定のため-pオプションは不要)
sudo mysql -u root
mysql> create user 'tester'@'localhost' identified by 'admin';
mysql> grant all on *.* to 'tester'@'localhost';

config/database.ymlを編集します。

# MySQL. Versions 5.5.8 and up are supported.
#
# Install the MySQL driver
#   gem install mysql2
#
# Ensure the MySQL gem is defined in your Gemfile
#   gem "mysql2"
#
# And be sure to use new-style password hashing:
#   https://dev.mysql.com/doc/refman/5.7/en/password-hashing.html
#
default: &default
  adapter: mysql2
  encoding: utf8mb4
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: tester
  password: admin
  host: localhost

development:
  <<: *default
  database: rails_lesson_development

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
  <<: *default
  database: rails_lesson_test

# As with config/credentials.yml, you never want to store sensitive information,
# like your database password, in your source code. If your source code is
# ever seen by anyone, they now have access to your database.
#
# Instead, provide the password or a full connection URL as an environment
# variable when you boot the app. For example:
#
#   DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase"
#
# If the connection URL is provided in the special DATABASE_URL environment
# variable, Rails will automatically merge its configuration values on top of
# the values provided in this file. Alternatively, you can specify a connection
# URL environment variable explicitly:
#
#   production:
#     url: <%= ENV["MY_APP_DATABASE_URL"] %>
#
# Read https://guides.rubyonrails.org/configuring.html#configuring-a-database
# for a full overview on how database connection configuration can be specified.
#
production:
  <<: *default
  database: rails_lesson_production
  username: rails_lesson
  password: <%= ENV["RAILS_LESSON_DATABASE_PASSWORD"] %>

DBを作成し、rootを表示してみます。

rails db:create
rails s

ブラウザからhttp://localhost:3000に接続