HomesteadでRuby on Railsの環境構築

homestead rails Ruby on Rails

こんにちは!ゆきまさです!!(@yyykms

今回はRuby on Railsの環境構築を簡単に行うために、Homesteadを使用した方法を紹介します。

HomesteadはLaravelの開発環境を簡単に構築できるパッケージですが、Ruby on Railsで必要なソフトも入っているため同じく簡単に構築できます。

また、HomesteadはVagrantを使用するので、仮想環境の構築も同時に学べるので採用しました。

Laravelの構築も一緒にできますが、今回はRuby on Railsの環境構築のみとします。

環境

  • Mac (ver 10.14.5)
  • VirtualBox (ver 6.0.4)
  • Vagrant (ver 2.2.4)
  • Homestead (ver 8.4.0)
  • Ruby (ver 2.6.3)
  • Ruby on Rails (ver 5.2.3)
  • MySQL (ver 5.7.26)

Homesteadとは?

HomesteadはLaravel公式のboxで、Vagrantを使用することで仮想マシンにLaravelの開発環境を簡単に構築することができるパッケージです。

PHPやWebサーバ、その他のサーバソフトウェアをローカルマシンにインストールする必要なく、開発環境を構築できます。

導入されているソフトウェア

公式より以下のソフトが既に含まれています。(2019/7 現在)

  • Ubuntu 18.04
  • Git
  • PHP 7.3
  • PHP 7.2
  • PHP 7.1
  • Nginx
  • MySQL
  • lmmによるMySQLとMariaDデータベーススナップショット
  • Sqlite3
  • PostgreSQL
  • Composer
  • Node (Yarn、Bower、Grunt、Gulpを含む)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • avahi
  • ngrok
  • Xdebug
  • XHProf / Tideways / XHGui
  • wp-cli
  • Minio

オプションで導入できるソフトウェア

  • Apache
  • Crystal & Lucky Framework
  • Dot Net Core
  • Elasticsearch
  • Go
  • MariaDB
  • MongoDB
  • Neo4j
  • Oh My Zsh
  • Ruby & Rails
  • Webdriver & Laravel Dusk Utilities
  • Zend Z-Ray

VirtualBoxをインストール

仮想化ソフトは他にもいくつかあるそうですが「VirtualBox」を使用します。

インストールはこちらから >> https://www.virtualbox.org/

Download VirtualBoxから、自分の使用しているOSを選択

Download VirtualBoxから、自分の使用しているOSを選択
注意

「機能拡張がブロックされました」と表示されたら「システム環境設定」→「セキュリティとプライバシー」から読み込みを許可しましょう

Vagrantをインストール

Vagrantとは仮想化ソフト(VirtualBox)を使用し、コマンドを入力することで仮想環境を管理したり構築したりすることができるツールです。

インストールはこちらから >> https://www.vagrantup.com/

Download Vagrantから、自分の使用しているOSを選択

Download Vagrantから、自分の使用しているOSを選択

ダウンロードしたらバージョンを確認してみる。

$ vagrant --version
Vagrant 2.2.4

これで2.2.4のVagrantがインストールされました。

vagrantのコマンドについては下記の記事を参考にしてみてください
Vagrantコマンドのチートシート

VagrantでHomesteadのboxをインストール

boxとはOSのディスクイメージファイルで、これを追加することで仮想環境を作成できます。

VagrantCloudより「laravel/homestead」を確認できるので、コマンドでboxを追加します。

$ vagrant box add laravel/homestead

実行するとproviderは何かと聞かれるので「virtualbox」の「3」を選択します。
結構時間がかかるので終わるまで待ちましょう。

$ vagrant box add laravel/homestead
==> box: Loading metadata for box 'laravel/homestead'
    box: URL: https://vagrantcloud.com/laravel/homestead
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) parallels
3) virtualbox
4) vmware_desktop

Enter your choice: 3
==> box: Adding box 'laravel/homestead' (v7.2.1) for provider: virtualbox
    box: Downloading: https://vagrantcloud.com/laravel/boxes/homestead/versions/7.2.1/providers/virtualbox.box
    box: Download redirected to host: vagrantcloud-files-production.s3.amazonaws.com
==> box: Successfully added box 'laravel/homestead' (v7.2.1) for 'virtualbox'!

Successfulluyとなったので、以下のコマンドでboxがちゃんと追加されたか確認しましょう。

$ vagrant box list
laravel/homestead (virtualbox, 7.2.1)

Homesteadをダウンロード

ダウンロードしたファイルは任意のディレクトで良いですが、今回はホームディレクトリの直下にダウンロードするので移動しておきます。

$ cd
$ pwd
/Users/ユーザー名

以下のコマンドでgithubからリポジトリをクローンします。

$ git clone https://github.com/laravel/homestead.git Homestead
Cloning into 'Homestead'...
remote: Enumerating objects: 59, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (46/46), done.
remote: Total 3606 (delta 37), reused 22 (delta 13), pack-reused 3547
Receiving objects: 100% (3606/3606), 782.03 KiB | 863.00 KiB/s, done.
Resolving deltas: 100% (2190/2190), done.

これでホームディレクトリに追加されました。

Homesteadの初期化

HomesteadはHomestead.yamlというファイルに色々書くことで、任意の設定をすることができます。

まずはダウンロードしたHomesteadディレクトリに移動して中身を確認してみましょう。

$ cd Homestead/
$ ls
CHANGELOG.md        Vagrantfile     composer.lock       phpunit.xml.dist    scripts
Homestead.yaml.example    bin         init.bat        readme.md       src
LICENSE.txt        composer.json       init.sh         resources       tests

中に様々なファイルが入っていますが、初期化をしていないのでHomestead.yamlが生成されていません。

Homestead.yamlは以下のコマンドで初期化することにより生成されます。

$ bash init.sh
Homestead initialized!
$ ls
CHANGELOG.md        LICENSE.txt     aliases         composer.lock       phpunit.xml.dist    scripts
Homestead.yaml        Vagrantfile     bin         init.bat        readme.md       src
Homestead.yaml.example    after.sh        composer.json       init.sh         resources       tests

Homestead initialized!と表示され、ディレクトリ内にHomestead.yamlが生成されていることが確認できます。

SSH鍵のファイルを作成

ホストOSとゲストOSの通信はSSHで行うので、それに必要な鍵を作成します。

以下のコマンドで既に鍵があるかを確認。

$ ls ~/.ssh/

無い場合は以下のコマンドで作成しましょう。

$ ssh-keygen -t rsa

途中で以下の表示のように保存するディレクトリを聞かれるので、そのままEnterを押します。

GEnter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):

次にEnter passphraseとパスフレーズを求められるので任意のパスフレーズを設定します。

Enter same passphrase again:と再度確認を求められるので設定したパスフレーズを入力します。

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/ユーザー名/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ユーザー名/.ssh/id_rsa.
Your public key has been saved in /Users/ユーザー名/.ssh/id_rsa.pub.
The key fingerprint is:
...(以下省略)...

ファイルキーが作成されたので、先ほどのコマンドで作成されたか確認しましょう。

$ ls ~/.ssh/
id_rsa      id_rsa.pub

これでSSH鍵のファイルが作成できました。

Homesteadの設定

Homestead(仮想マシン)の各設定は、初期化した時に生成したhomestead.yamlに記述します。

$ vi Homestead.yaml

下記がHomestead.yamlのデフォルトのです。

---
# IPアドレス
ip: "192.168.10.10"
# 割り当てるメモリ
memory: 2048
# 割り当てるCPU
cpus: 2
# 使用するプロバイダ
provider: virtualbox

# SSH公開鍵のパス
authorize: ~/.ssh/id_rsa.pub

# SSH秘密鍵のパス
keys:
    - ~/.ssh/id_rsa

# 共有ディレクトリの設定
# map: ホストマシン側で共有したいディレクトリ
# to: ゲストマシン側で共有したいディレクトリ
folders:
    - map: ~/code
      to: /home/vagrant/cod


# Nginxサイトの設定
# map: アクセスするドメイン名の設定
# to: ゲストマシンNginxのドキュメントルートの設定
sites:
    - map: homestead.test
      to: /home/vagrant/code/public

# 使用するDB名
databases:
    - homestead

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

rails serverは3000なので、コメントアウトを外して新しく記述します。

ports:
    - send: 3000
      to: 3000

それ以外はデフォルトのままで使用しますが、共有ディレクトリの設定や、ドキュメントルートの設定などの変更が可能です。

デフォルトのfoldersだと、ホストマシンのホームディレクトリ直下にcodeディレクトリが指定されていますが、現在はcodeディレクトリがないので作成しておきます。

$ mkdir ~/code

このcodeディレクトリの中にファイルやディレクトリを作成すれば、ホストとゲストで共有することができます。

注意

sitesプロパティをHomestead boxのプロビジョニング後に変更した場合、仮想マシンのNginx設定を更新するため、vagrant reload --provisionを再実行する必要があります。

ホスト名の設定

HomesteadではデフォルトでIPアドレス192.168.10.10homestead.testというドメイン名で設定してあり、

ホストOSのhostsファイルに追記することで、Webブラウザでhttp://homestead.testにアクセスすることができます。

MacとLinuxでは/etc/hostsにファイルがあるので追加していきましょう。

アクセス権限がないと保存できないので、sudoをつけて192.168.10.10 homestead.appを追記します。

$ sudo vi /etc/hosts

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

192.168.10.10 homestead.test

Vagrant Boxの実行

各種設定が終わったら仮想マシンを起動します。

Homesteadのディレクトリ内にVagrantfileがあるので、違うディレクトリにいる場合は移動します。

$ pwd
/Users/ユーザー名/Homestead

下記のコマンドで仮想マシンを起動できます。

$ vagrant up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Importing base box 'laravel/homestead'...
==> homestead-7: Matching MAC address for NAT networking...
==> homestead-7: Checking if box 'laravel/homestead' version '7.2.1' is up to date...
==> homestead-7: Setting the name of the VM: homestead-7
==> homestead-7: Clearing any previously set network interfaces...
...(以下省略)...

起動できているか状態を確認します。

$ vagrant status
Current machine states:

homestead-7               running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

running (virtualbox)となっているので起動できていることが確認できました。

起動できたので、sshコマンドで仮想マシンに入ります。

$ vagrant ssh
Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-47-generic x86_64)

Thanks for using
 _                               _                 _
| |                             | |               | |
| |__   ___  _ __ ___   ___  ___| |_ ___  __ _  __| |
| '_ \ / _ \| '_ ` _ \ / _ \/ __| __/ _ \/ _` |/ _` |
| | | | (_) | | | | | |  __/\__ \ ||  __/ (_| | (_| |
|_| |_|\___/|_| |_| |_|\___||___/\__\___|\__,_|\__,_|

* Homestead 8.4.0 released!
* Settler v7.2.1 released! Make sure you update

0 packages can be updated.
0 updates are security updates.


Last login: Thu Jul  4 20:54:14 2019 from 10.0.2.2
vagrant@homestead:~$ 

無事に仮想マシンに入れました。

これで仮想マシンを構築できたので、あとは仮想マシンにRailsの環境を構築していきます。

Ruby on Railsの環境を構築

Railsに必要なソフトをインストールしていくのですが、ほとんどはHomesteadで既に用意されています。

まだ用意されていないrbenvやそのほかのライブラリ等を入れていきましょう。

必要なライブラリをインストール

まずはゲストOSであるUbuntu自体をアップデート(最新化)します。

$ sudo apt update 

今回はMysqlを使用するので、必要な関連パッケージをインストールします。

$ sudo apt install mysql-server mysql-client
$ sudo apt install libmysqlclient-dev

これらのインストールを忘れてRailsのプロジェクトを作成しようとすると、以下のようなエラーが発生するかもしれません。

$ rails new test_app -d mysql

...(途中省略)...

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.

...(途中省略)...

Install missing gem executables with `bundle install`

これは「mysql2というパッケージのインストールに失敗した」ということで、よくハマっている人を見かけるのでちゃんとインストールをしておきましょう。

Rubyをインストール

まずはRubyの「インストール」と「バージョン切替」を簡単に行えるようにするrbenvをGitHubからクローンします。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
Cloning into '/home/vagrant/.rbenv'...
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 2759 (delta 4), reused 8 (delta 4), pack-reused 2744
Receiving objects: 100% (2759/2759), 528.92 KiB | 874.00 KiB/s, done.
Resolving deltas: 100% (1724/1724), done.

クローンできたらrbenvコマンドが使えるように設定します。

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ exec $SHELL -l

下記のコマンドでrbenvが使えるようになったか確認します。

$ rbenv --version
rbenv 1.1.2-2-g4e92322

次はGithubからRubyをビルドするために使うプラグインの「ruby-build」をクローンします。

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
remote: Enumerating objects: 38, done.
remote: Counting objects: 100% (38/38), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 9750 (delta 14), reused 29 (delta 8), pack-reused 9712
Receiving objects: 100% (9750/9750), 2.08 MiB | 2.10 MiB/s, done.
Resolving deltas: 100% (6340/6340), done.

クローンできたので、次にインストールできるRubyのバージョンを確認してみましょう。

$ rbenv install --list
Available versions:
  1.8.5-p52
  1.8.5-p113
  1.8.5-p114
  1.8.5-p115
  1.8.5-p231
  1.8.6
  1.8.6-p36
  1.8.6-p110
  1.8.6-p111
  1.8.6-p114

...(途中省略)...

  2.5.4
  2.5.5
  2.6.0-dev
  2.6.0-preview1
  2.6.0-preview2
  2.6.0-preview3
  2.6.0-rc1
  2.6.0-rc2
  2.6.0
  2.6.1
  2.6.2
  2.6.3
  2.7.0-dev
  jruby-1.5.6
  jruby-1.6.3

...(以下省略)...

今回は最新のバージョンのRubyを指定します。

$ rbenv install -v 2.6.3
/tmp/ruby-build.20190704201543.18071 ~
Downloading ruby-2.6.3.tar.bz2...
-> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.3.tar.bz2
Installing ruby-2.6.3...
/tmp/ruby-build.20190704201543.18071/ruby-2.6.3 /tmp/ruby-build.20190704201543.18071 ~
checking for ruby... /home/vagrant/.rbenv/shims/ruby
config.guess already exists
config.sub already exists
checking build system type... x86_64-pc-linux-gnu

...(以下省略)...

完了したら仮想マシンにインストールされているRubyのバージョンを確認します。

$ rbenv versions
* system (set by /home/vagrant/.rbenv/version)
  2.6.3

最新バージョンのRubyがインストールされているのを確認できました。

あとはインストールしたRubyのバージョンを適用して確認してみます。

$ rbenv global 2.6.3
$ rbenv versions
  system
* 2.6.3 (set by /home/vagrant/.rbenv/version)

マークが移動したので正しくインストールできたかを確認します。

$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-linux]

これでRubyのインストールが完了しました。

globalではなくlocalを指定することで、プロジェクトごとにバージョンを指定することができます。

Bundlerをインストール

Bundlerはプロジェクトごとで使うgemを、インストールしたり使用したりすることができます。

Gemfileという名前のファイルにgemの名前を記述しておくことにより、書いてある通りにインストールしたり、Rubyからそれらのgemを利用したりすることができます。

以下の表はBundlerの代表的なコマンドです。

コマンド説明
bundle init初期状態のGemfileをカレントディレクトリに作成する
bundle install (または「bundle」のみ)Gemfileに記述したgemをインストールする
bundle exec [コマンド]Bundlerが管理するgemを利用できる状態でコマンドを実行する

bundlerはRubyGemsからインストールできるのでgemコマンドでインストールします。

$ gem install bundler
Fetching bundler-2.0.1.gem
Successfully installed bundler-2.0.1
Parsing documentation for bundler-2.0.1
Installing ri documentation for bundler-2.0.1
Done installing documentation for bundler after 2 seconds

bundleコマンドが使えるようになるのでバージョンの確認をしてみます。

$ bundle -v
Bundler version 2.0.1

インストールできました。

Ruby on Railsをインストール

最後にRuby on Railsをインストールしましょう!
Ruby on Railsは、gemコマンドでインストールできます。

$ gem install rails
Fetching i18n-1.6.0.gem
Fetching rack-2.0.7.gem

...(途中省略)...

Removing ruby (1:2.5.1) ...
Removing ruby2.5 (2.5.1-1ubuntu1.2) ...
Removing libruby2.5:amd64 (2.5.1-1ubuntu1.2) ...
Removing rake (12.3.1-1) ...
Removing ruby-test-unit (3.2.5-1) ...
Processing triggers for libc-bin (2.27-3ubuntu1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...

インストールが終わったらrailsコマンドが使用できるので確認しましょう。

$ rails -v
Rails 5.2.3

最新のバージョンがインストールされました。

これで必要なライブラリがインストールできたので、次は実際にプロジェクトフォルダを作成します。

バージョンを指定したい場合はオプションをつけて指定することができます。
$ gem install rails -v バージョン

Railsのプロジェクトフォルダを作成

codeディレクトリ内にプロジェクトフォルダを作るので移動しましょう。

$ cd code/

今回は例としてtest_appというプロジェクトフォルダを作成します。

プロジェクトフォルダはrails newというコマンドで作成ができ、-dオプションで使用するデータベースを指定できます。

オプションを指定しない場合は「SQLite」というデータベースがデフォルトで使用されますが、今回は「Mysql」を使用するので以下のコマンドでフォルダを作成します。

$ rails new test_app -d mysql
      create
      create  README.md
      create  Rakefile
      create  .ruby-version
      create  config.ru
      create  .gitignore
      create  Gemfile
         run  git init from "."
Initialized empty Git repository in /home/vagrant/code/test_app/.git/
      create  package.json
      create  app

...(途中省略)...

Using spring-watcher-listen 2.0.1
Using turbolinks-source 5.2.0
Using turbolinks 5.2.0
Using uglifier 4.1.20
Using web-console 3.7.0
Bundle complete! 18 Gemfile dependencies, 78 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
         run  bundle exec spring binstub --all
* bin/rake: spring inserted
* bin/rails: spring inserted

ディレクトリ内にtest_appというファイルが作成されていることが確認できます。

$ ls
test_app

Homestead.yamlでホストOSとゲストOSの共有設定が書かれているので、ゲストOSでフォルダを作成するとホストOS側にも反映されます。

Railsアプリを起動

まずは先ほど作成したフォルダに移動します。

$ cd test_app/

Railsのサーバーはプロジェクトフォルダに移動して、rails serverコマンドで起動することができます。

しかし、Vagrant環境で仮想マシンを起動している場合は、rails server -b 0.0.0.0というオプションをつけてRailsサーバーを起動させる必要があります。

Railsサーバーはデフォルトで127.0.0.1:3000にバインドされるので、LAN内の外部クライアントからのIPアドレスを受け付けません。

なので、同じLAN内にいる外部クライアントにも公開できるようにするため、-b 0.0.0.0というオプションをつけて明示的にバインドさせる必要があります。

詳しくはこちらの記事を参考にしてみてください。

それでは以上のことを踏まえてサーバーを起動してみましょう。

$ rails server -b 0.0.0.0
=> Booting Puma
=> Rails 5.2.3 application starting in development
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.12.1 (ruby 2.6.3-p62), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://0.0.0.0:3000
Use Ctrl-C to stop

このように表示されれば無事にサーバーが起動したことになります。

サーバーを停止したいときはCtrl + cで停止することできます。

Railsサーバーの起動は以下のコマンドで省略することができます。

$ rails s -b 0.0.0.0

ブラウザに表示させる

Railsサーバーを起動させたので、あとはブラウザに表示させてみましょう。

すでにホスト名の設定も行なっているので、ブラウザのURLにhttp://homestead.test:3000と入力してアクセスしてみましょう。

すると以下のようなエラーが発生します。

Mysql2::Error::ConnectionError
Access denied for user 'root'@'localhost' (using password: NO)

これはMysqlにhomesteadというユーザーでログインしようとした結果、「パスワードがない」と言われていることが原因です。

Homesteadでは下記のようなデフォルトの設定があるので、データベースの設定ファイルにこのパスワードを記述します。

  • データベース : homestead
  • ユーザー名 : homestead
  • パスワード : secret

サーバーを起動しているので、新たにタブを増やし再度vagrant sshで仮想マシンに接続しておきましょう。

データベースの設定ファイルは、configディレクトリの中にdatabase.ymlというファイル名で入っています。

$ ls config/
application.rb    credentials.yml.enc  environments  master.key  spring.rb
boot.rb        database.yml         initializers  puma.rb     storage.yml
cable.yml    environment.rb       locales       routes.rb

$ vi config/database.yml

viで開きpasswordの所に先ほどのsecretを追記して保存しましょう。

# MySQL. Versions 5.1.10 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: utf8
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  username: root
  password: secret
  socket: /var/run/mysqld/mysqld.sock

development:
  <<: *default
  database: test_app_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: test_app_test

保存したらサーバーを再起動してからもう一度ブラウザにアクセスしてみます。

すると今度は別のエラーが発生しました。

ActiveRecord::NoDatabaseError
Unknown database 'test_app_development'

先ほどのエラーは解決できたのですが、今回は「test_app_developmentというデータベースが無いよ」と注意されています。

Railsにはrails db:createというコマンド存在していて、database.ymlに記述されている情報を元に、データベースを作成してくれます。

これらはデフォルトで

  • プロジェクトフォルダ名_development
  • プロジェクトフォルダ名_test

という2つのデータベース名が記述されているので特に変更はせずに、先ほどのrails db:createコマンドを実行して上記の2つのデータベースを作成しましょう。

$ rails db:create
Created database 'test_app_development'
Created database 'test_app_test'

データベースが作成されたので再度ブラウザにアクセスしてみます。

すると今回はエラーが出ないで、下記のように表示されました。

Yay! You're on Rails!

これはRailsの初期画面で、このページが表示されればサーバーが正常に動作しているということなので、問題なくアクセスできたことが確認できました。

以上でRuby on Railsの環境構築は終了です。

結構長くなってしまいましたが、最後まで読んでいただきありがとうございました。

まとめ

Vagrant boxは何回でも作成できるので、失敗したり調子が悪いようだったら削除して何回でもやり直しましょう。

一回構築しただけではなかなか理解しにくいと思うので、数をこなして慣れていくのが早いかなと思います。

また、今回はHomesteadを使用したRuby on Railsの環境構築でしたが、Laravelの環境構築もできるので是非色々いじってみてください。

そして、Ruby on Railsの環境構築が終わったら次は実際にアプリケーションを作っていくと思います。

環境構築が終わった人はRuby on Railsの勉強で有名なRailsチュートリアルをやってみるのがいいかなと思います。

書籍もたくさんあり、自分が勉強に使用した書籍がおすすめなのでよければこちらも参考にしてください。

参考記事