Vagrant/AmazonLinux2 – Railsインストール

概要

VagrantのAmazonLinux2仮想環境rbenv/Rubyをインストール後、Railsをインストールした記録。

  • ホスト:Windows10
  • ゲスト:Vagrant + VirtualBox + bento/amazonlinux-2

Railsの最新版ではなく、オリジナルの環境に併せて特定のバージョンを指定してインストールした。

Railsに影響する機能の停止

SELinux

もともとSELinuxは無効状態だった。

firewalld

そもそもfirewalldはセットされていなかった。

Railsのインストール

一応、gemで使用できるRailsの確認。使用可能なRailsはない。

gemでRailsのバージョン5.1.7を指定してインストール。

再度使用可能なRailsを探して、インストールされていることを確認する。

Railsサーバーの稼働

エラー~JavaScriptランタイムがない

テスト用のプロジェクトを生成してRailsサーバーを起動しようとしたところ、エラーになった。

Node.jsでもよさそうなので、CentOS7と同じ手順Node.jsをインストール。Rails6では最新安定版のNode.jsだと警告が出たのでダウングレード下が、Rails5では最新版では警告が出なかった。

ここまででrails serverの実行が可能になった。

ホストブラウザーからの接続

vagrantfileに以下の1行を記述

config.vm.network "forwarded_port", guest: 3000, host: 3000

テスト用のプロジェクトを生成してrails sを実行すると、「このサイトにアクセスできません」と弾かれる。

netstatで確認すると、ポート3000は開いている。

サーバー立ち上げのオプションを以下の様にして接続成功。

rails s -b 0.0.0.0

以前参考にしたサイトを再度確認すると、Rails4.2以降ではこの接続方法になるとのこと。オリジナルの環境ではrails sで十ていたが(エイリアス?)。

既存プロジェクトの実行

オリジナルの環境でつくったプロジェクトをダウンロードし、共有フォルダー経由で仮想環境に移して実行したところ、db:createでエラーが出た。

指示通りにbundle install

この後db:migrationは問題なく、これでアプリケーションがオリジナルの環境通りに実行できるようになった。

一方、仮想環境で作ったプロジェクトをオリジナルの環境にアップロードした場合、オリジナル側でbundle installが必要になったが、これで問題なく実行できた。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です