LoginSignup
1
1

More than 3 years have passed since last update.

環境構築 さくっとまとめ(vagrant・CentOS7・rails・mysql8.0)

Posted at

◇記事の概要

こちらの記事は、環境構築する際にドキュメントを探しにいくのが面倒なので、個人的な備忘録として残したものです。
※必要最低限の設定

その1: Vagrantfileの設定

※vagrant及びvirtualboxがインストールされている前提とします。
まずは、ターミナルを開く。
vagrantfileを置きたいフォルダで以下のコマンドを叩く

$ vagrant init centos/7

フォルダ上にvagrantfileが作成される。
その「Vagrantfile」を修正します。
修正内容は必要最低限の内容になります。

vagrantfile
Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.network "private_network", ip: "192.168.33.10"
end

その2:vagrantの起動

vagrantを起動して、ssh接続します。

$ vagrant up

起動後、、

$ vagrant ssh

これで、こんな感じのターミナルが表示される

[vagrant@localhost ~]$

これで一旦vagrant上の作業環境ができた。

その3:rubyのインストール関連

必要なパッケージをインストールする。

[vagrant@localhost ~]$ sudo yum install -y git gcc openssl-devel readline-devel zlib-devel sqlite-devel gcc-c++ libicu-devel cmake vim

次に、rbenvをインストールします。環境変数を追加し、「source ~/.bash_profile」で内容を反映させます。

[vagrant@localhost ~]$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv    
[vagrant@localhost ~]$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
[vagrant@localhost ~]$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
[vagrant@localhost ~]$ source ~/.bash_profile

rbenv --versionと打って、バージョンが表示されれば、OK!

次に、「ruby-build」というプラグインをインストールします。
これは、rbenv installコマンドを使用するために必要なので、下記コマンドを入力します。

こちらの記事より
http://ruby.studio-kingdom.com/rbenv/ruby_build/

[vagrant@localhost ~]$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

次に、rubyをインストールします。
注意:個人的な都合で、こちらのバージョンを指定しています。

[vagrant@localhost ~]$ rbenv install 2.6.3
[vagrant@localhost ~]$ rbenv global 2.6.3
[vagrant@localhost ~]$ rbenv rehash

ruby -vと打って、バージョンが表示されれば、OK!

最後に、gem同士の互換性を補完するなど、gemを管理してくれる「bundler」をインストールします。

[vagrant@localhost ~]$ gem install bundler
[vagrant@localhost ~]$ rbenv rehash

bundle -v と打って、バージョンが表示されれば、OK!

その4:git clone作業(必要な場合のみ)

今回は、sshを使用して既存のコードをクローンしてきました。

[vagrant@localhost ~]$ cd ~/.ssh
[vagrant@localhost ~]$ ssh-keygen -t rsa
[vagrant@localhost ~]$ sudo cat id_rsa.pub

これで公開鍵・秘密鍵ができます。
公開鍵をgit(今回はbitbucket)に登録し、クローンしました!

その5:Mysql8.0の導入

ここからmysql8.0を使えるようにしていきます。

[vagrant@localhost ~]$ sudo yum install mysql80-community-release-el7-{version-number}.noarch.rpm
[vagrant@localhost ~]$ sudo yum install mysql-community-server
[vagrant@localhost ~]$ sudo systemctl start mysqld
[vagrant@localhost ~]$ sudo grep 'temporary password' /var/log/mysqld.log // 一時的に設定されているパスワードを確認
[vagrant@localhost ~]$ mysql -uroot -p //上記で確認したパスワードを使用
[mysql]$ ALTER USER 'root'@'localhost' IDENTIFIED BY 'ここに新パスワード'; //パスワード変更
[mysql]$ quit;
// bundle installするとmysql関連でエラー出るので、それを回避するために以下のプラグイン等をインストールする
[vagrant@localhost ~]$ sudo yum install mysql-devel 
[vagrant@localhost ~]$ gem install mysql2 -v '0.4.10' --source 'https://rubygems.org/' // ここはクローンしてきたgemに含まれていなかったので。。。
[vagrant@localhost ~]$ bundle install

◇参考
Mysql公式
HARU-LABO

mysqlを使用できるようになるまであと少し。
何が足りないかというと、「database.yml」の設定です。
設定しないと、「rails s」してアクセスするとエラーが出るはず!
参考までに設定ファイル載せておきます。
ファイル設置場所は、app名/config/database.yml

database.yml
default: &default
  adapter: mysql2
  pool: 5
  username: root
  password: 設定したパスワード
  encoding: utf8mb4
  charset: utf8mb4
  collation: utf8mb4_general_ci
  host: localhost

development:
  <<: *default
  database: 開発用DB名

test:
  <<: *default
  database: テスト用DB名
  username: テスト用ユーザー名
  password: テスト用パスワード

production:
  <<: *default
  database: 本番用DB名
  username: 本番用ユーザー名
  password: 本番用パスワード

database.ymlを設定し下記コマンドを入力すると、「database.yml」で設定したdatabaseが作成される。

[vagrant@localhost app名]$ rails db:create

テスト用・本番用は必要に応じて設定。

その6:「rails s」を起動

bundle installもうまくいくはずなので、rails sを行ったところ、以下のエラーが発生。
※一部抜粋

Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)

というエラー内容。
Javascriptを実行するために必要なプログラムが必要とのこと。
解決策としては、
①「mini_racer」のgemをインストール
②「Node.js」をインストール
前の環境ではNode.jsを利用していたので、②の手順を示します。

// 投稿時点のバージョン
[vagrant@localhost ~]$ curl -sL https://rpm.nodesource.com/setup_15.x | sudo bash -
[vagrant@localhost ~]$ sudo yum install -y nodejs

これで、rails sも実行可能に。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1