Help us understand the problem. What is going on with this article?

Ubuntu18.04仮想環境でRubyonRailsを導入し、rails new近辺までする、のまとめ

使用環境

ホストOS: Windows10 Home
仮想環境OS: Ubuntu Bento/Bionic
Ruby:バージョン指定しない
Rails:バージョン指定しない
データベース:MySQL:バージョン指定しない

はじめに

aptコマンドを使用します。
aptコマとapt-getコマの違いについては、こちらの記事が私的には読みやすかったです

流れ

  1. 仮想環境にPCからログイン
  2. リポジトリ一覧を更新
  3. RubyとRuby開発用のツールをインストール
  4. ソフトウェアのインストに使う基本的なツールをインストール
  5. Railsをインストール
  6. MySQL関連インストールし、設定
  7. Rails new

実際の流れ

仮想環境、ログイン

terminal
vagrant up
vagrant ssh

リポジトリ一覧更新

terminal
sudo apt update

RubyとRuby開発用ツール、ソフトウェアインストに必要な基本ツールを、ダウンロード

terminal
sudo apt install -y ruby ruby-dev build-essential

-『-y』オプションは、すべて『Yes』
- build-essential 参照リンク
- Debianパッケージの構築に必要とされるパッケージの一覧情報が含まれる
- Debianパッケージを構築しないなら不要

Railsインスト

terminal
sudo gem install rails

MySQLとそのクライアントツールをインスト

terminal
sudo apt -y install mysql-server libmysqlclient-dev

MySQLのパスワードを設定

terminal
sudo mysql_secure_installation

このコマンドを実行し忘れると、パスワード設定要求されずに、MySQL設定が終了するため注意

MySQLにログイし、パスワード更新、権限変更

:mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TegetegePassword';
flush privileges;

rails newから、設定

webアプリ雛形作成

terminal
# RubyonRailsのデフォルトDBがSqLiteなため、オプション『-d』で使用DBを指定
rails new hoge_app -d mysql

Gemfileで、使用するJSをコメントイン(JSを使わないなら、しなくてよし)

/hoge_app/Gemfile.rb
gem 'mini_racer', platforms: :ruby

編集したGemfileに沿って、インスト

bundle install

DBのパスワード変更

/hoge_app/config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: TegetegePassword  #最初はここが空欄になっている
  socket: /var/run/mysqld/mysqld.sock

Railsプロジェクトのdatabase.ymlを読み込み,これに基づいてDB作成

# rake db:createなど、『rake』はすべて『rails』で実行。
rails db:create

サーバー立ち上げ

termianl
rails server

Vagrantファイルで指定した、ipアドレスに接続。

デフォルトでは、『192.168.33.10:3000』にアクセス。
毎回打つのは面倒なので、私はブックマーク。

OriverK
農学学士。植物学等を専門に学び、所属研究室では画像処理による農作物列検出の研究。卒業後は食品系企業に就職したが幸か不幸か退職することになり、この機を逃すまいと勉強を本格的に再開し、現在の転職活動に至る。
https://oriverk.dev
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away