ぬにょす(挨拶)。
トライ&エラーを繰り返しながら、なんとかVirtualBox上の開発環境からVPS上の本番環境にRailsアプリをデプロイできたので、ひとまず開発環境の構築手順をまとめておきます。
前提条件
- ホスト:macOS Mojave 10.14.3
- 仮想化:Oracle VM VirtualBox 6.0
- ゲスト:Ubuntu Server 18.04 LTS
- SSH設定済み。
- ログインユーザー名やパスワードなどは本番環境と同じ。
rbenv + ruby-build + Ruby + Bundler
rbenvは手動でGitHubからチェックアウトする方法と、スクリプトで自動インストールする方法があります。モノグサーな私は最初、後者の手順を実施しました…が、結局インストール後の設定やら何やらは手動になって却って混乱しました(笑。なので圧倒的に前者の方法を推奨します。あと、私の仮想化環境では rbenv install に5分ぐらいかかりました。
$ sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ cd ~/.rbenv && src/configure && make -C src
$ cd
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
$ rbenv install --list
$ rbenv install 2.6.2
$ rbenv global 2.6.2
$ rbenv rehash
$ echo "install: --no-document" > ~/.gemrc
$ echo "update: --no-document" >> ~/.gemrc
$ gem install bundler
MariaDB
Ubuntuへのインストールは以前にも書いたので、ここではコマンドのみ記載。
$ sudo apt install -y mariadb-server mariadb-client libmysqlclient-dev
$ sudo mysql_secure_installation
$ sudo systemctl restart mariadb
Node.js + Yarn
こちらの手順とコマンドの指示を参考に実施。
distributions/README.md at master · nodesource/distributions · GitHub(github.com)
$ curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash -
$ sudo apt install -y nodejs
$ curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
$ echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
$ sudo apt update && sudo apt install -y yarn
Railsプロジェクトの新規作成
Rails自体をプロジェクトディレクトリにインストールする手順になります。
$ mkdir app-template
$ cd app-template/
$ bundle init
$ sed -i 's/# gem "rails"/gem "rails"/g' Gemfile
$ bundle install --path vendor/bundle --jobs=4
$ bundle exec rails new . -d mysql -BT --skip-coffee --skip-turbolinks
$ bundle install
動作確認
$ bundle exec rails s -b 0.0.0.0
ブラウザで http://仮想マシンIP:3000 にアクセスしてみます。

データベースの設定をしていないのでエラー画面が表示されますが、Railsが動作していることの確認としてはOKでしょう。
sshfs
コーディングなどしていくためにゲスト上のディレクトリをホストにマウントします。
https://qiita.com/ysk24ok/items/bb148530a55a4e55d99b
ここまでくれば、後はプロジェクト個別にやっていく感じです。多分。
