さくらVPSとドットインストールのチュートリアルを参考に環境構築した。
ドットインストールのチュートリアルはCentOS6前提で記載されている。(2018/07/28現在)
今回はCentOS7で構築したため、若干手順が異なるところがあったため、そこを中心にまとめる。
概要
- さくらVPSへCentOS7をインストールする
- CentOS7に作業用ユーザを追加する
- SSHログインのセキュリティを強化する
- システムのアップデートをする
- ファイヤーウォールを設定する
- WEBサーバーの設定をする(apacheをインストールする)
- RubyOnRailsの設定をする
1. さくらVPSへCentOS7をインストールする
以下WebSiteからVPSレンタルの申し込みを行う。
https://vps.sakura.ad.jp/
現在最安価格で1ヶ月で685円。
ゾーンが石狩と東京で選択可能。東京を選択。
首都圏からのアクセス速度が早くなるため。
自然災害等を考慮してバックアップが必要な場合は、「東京」と「石狩」の両方を借りてもいいと思う。
さくらVPSにCentoOS7をインストール
基本的には以下のチュートリアル通りに実行
https://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/
ssh接続に失敗したので、OSの再インストールをしたら接続できた。
2. CentOS7に作業用ユーザを追加する
rootのパスワード変更する
一般ユーザを追加
追加したユーザがsudoを実行できるようにする
以下のチュートリアルどおりに実行
https://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/
rootをそのまま使わないメリットがあまりわかっていない。。
sudo実行権を付加した一般ユーザよりrootのほうが権限が強い?からなるべく使わないようにするということ?
3. SSHログインのセキュリティを強化する
SSH認証方式をパスワード認証から公開鍵認証へ変更
以下のチュートリアルどおりに実行
https://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/
パスワード認証より公開鍵認証のほうが、セキュリティ上安全な理由がまだわかっていない。
rootへsshログイン出来ないようにする
以下のチュートリアルどおりに実行
https://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/
4. システムのアップデートをする
コマンドラインにて以下を実行する。
yum update
詳細は以下のチュートリアルを参照
https://dotinstall.com/lessons/basic_sakura_vps/8004
CentOS上のアプリケーションを最新バージョンにして、セキュリティリスクを軽減するのが狙い
上記のドットインストールには、言語を日本語化するよううながされているが、以後、コンソールの表示が文字化け(?になる)することがあったので、en_US.UTF-8に戻した
ちなみに言語設定の変更は(localectl set-localeコマンドで行う)
5. ファイヤーウォールを設定する
firewalldを使用して設定変更を行った。
firewalldについては下記サイトを参照のこと。
https://qiita.com/kenjjiijjii/items/1057af2dddc34022b09e
ドットインストールではiptablesにてファイヤーウォールの設定をするよう記載されているが、 CentOS7ではfirewalldが推奨されているようなので、そちらを使用した。
https://dotinstall.com/lessons/basic_sakura_vps/8010
6. WEBサーバーの設定をする(apacheをインストールする)
詳細は以下のチュートリアルを参照
https://dotinstall.com/lessons/basic_sakura_vps/8011
httd.confの編集について、ドットインストールとは微妙に異なる箇所があったので調べて対応した。
そもそもServerTokensの記載がなかったので、追記した。
ServerSignatureも同じく追記
var/www/html以下にあるOption Indexの”Index”を削除した(-をつけるとエラーが発生した。)
7. RubyOnRailsの設定をする
以下チュートリアルを参照のこと
https://dotinstall.com/lessons/basic_sakura_vps/8017
https://dotinstall.com/lessons/basic_sakura_vps/8018
https://dotinstall.com/lessons/basic_sakura_vps/8019
rvmではなくrbenvを使ったほうがいいとのこと。詳細は以下を参照。
https://qiita.com/NaokiIshimura/items/ff04b6eaa40b33c4bea8
また、rubyのバージョンは2.3.0とした。 ~~
1.9.3で実行したら警告が表示された。CentOS6だと推奨されないのかもしれない。
また自分のローカル環境のrubyのバージョンが2.3.0だったので、それに合わせた。
nodejsは v10.7.0をインストールした。(ローカル開発環境に合わせた)
firewalledで3000版ポートを空けた。
https://qiita.com/kota2_0/items/27530febaf24a3bf285f
rails s を実行するだけだと、自PCからは見れなかったのでipアドレスを指定して以下のように実行した。
rails s -b 160.16.96.117
IPアドレスは各自VPSサーバーに割り振られたアドレスに書き換えて使用してほしい。