概要
Ruby on Rails チュートリアルでRailsを学ぶための開発環境を作成しました。
開発環境のCloud9は無料で使えるようですが、チュートリアル通りにEC2を選択すると時間等により課金されてしまうため(通常は無料枠内ですが)、精神的に安心な月額固定のVPSを選択してみました。
VPSの選択はとにかく安めで、クラウド的な使い方のできる(っていうかクラウド?)ConoHaを選択しました。
また、OSはCentOSやUbuntuも検討しましたが、ラズベリーパイで慣れているDebianを選択しました。
ConoHa VPS の設定
OS(Debian)の設定
rootアカウントでログインして、ロケールとタームゾーンの設定、および、お約束のアップデートを実施します。
# dpkg-reconfigure locales
# dpkg-reconfigure tzdata
# apt -y update
# apt -y upgrade
# apt -y dist-upgrade
ユーザーを作成します。今回は例として「pi」ユーザーを作成します。
# useradd -G sudo -m -s /bin/bash pi
# passwd pi
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
# su - pi
$ exit
# vi /etc/sudoers.d/010_pi-nopasswd
pi ALL=(ALL) NOPASSWD: ALL
# vi /etc/ssh/sshd_config
変更
PermitRootLogin yes
↓
PermitRootLogin no
hostsを編集し再起動します。
# vi /etc/hosts
127.0.0.1 localhost
127.0.1.1 DEBIAN
127.0.1.1 xx-xx-xx-xx #ホスト名を追加
# reboot
piユーザーでログインして設定を継続します。
ufwのインストールと設定
$ sudo apt install -y ufw
$ sudo systemctl enable ufw
$ sudo systemctl restart ufw
$ sudo ufw logging on
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 3000/tcp
$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
3000/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
3000/tcp (v6) ALLOW Anywhere (v6)
$ sudo tail /var/log/ufw.log
node.jsのインストール
$ sudo apt install -y curl
$ curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
$ sudo apt install -y nodejs
$ sudo apt install -y build-essential
$ node -v
v10.2.1
dockerのインストール
$ sudo vi /etc/apt/sources.list
追記
deb http://ftp.jp.debian.org/debian/ sid main
deb-src http://ftp.jp.debian.org/debian/ sid main
$ sudo apt -y update
$ sudo apt install -y docker docker.io
$ sudo gpasswd -a ${USER} docker
$ docker -v
Docker version 1.13.1, build 092cba3
参考サイト:Raspberry Pi3にRails5環境を構築して遊んでみる
Rubyのインストール
$ sudo apt install -y rbenv ruby-build
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ rbenv rehash
$ rbenv install --list
$ MAKE_OPTS="-j 4" rbenv install 2.4.0
$ rbenv global 2.4.0
$ rbenv rehash
$ ruby --version
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
SQLliteのインストール
$ apt install -y libsqlite3-dev
gitのインストール
$ sudo apt install -y git
HEROKUのインストール
$ source <(curl -sL https://cdn.learnenough.com/heroku_install)
再起動
$ sudo reboot
AWS Cloud9 の設定
大事なところだけです。
「Connect and run in remote server(SSH)」を選択、「User」「Host」「Port」を入力します。
次に「Copy key to clipboard」をクリックして公開鍵をクリップボードに保存します。
公開鍵をVPSに設定します。
公開鍵の設定
$ ssh-keygen -t rsa
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Created directory '/home/pi/.ssh'.
Enter passphrase (empty for no passphrase):
$ vi ~/.ssh/authorized_keys
#公開鍵(クリップボードの内容)をペースト
$ chmod 600 ~/.ssh/authorized_keys
「Next step」をクリックし、指示通り進めば、開発環境の出来上がりです。
Railsのインストール
$ gem install bundler
$ gem install rails
$ rails -v
Rails 5.2.0
Railsアプリの作成
$ rails new testapp
$ cd testapp
$ rails server -b 0.0.0.0 -p 3000
ブラウザを起動し以下のURLにアクセスして「Yay! You’re on Rails!」が表示されれば成功です。
http://VPSのIPアドレス:3000