5
2

More than 5 years have passed since last update.

さくら VPSでRubyOnRails4の環境構築した(CentOS7+Apache)

Last updated at Posted at 2018-07-29

さくらVPSとドットインストールのチュートリアルを参考に環境構築した。

ドットインストールのチュートリアルはCentOS6前提で記載されている。(2018/07/28現在)
今回はCentOS7で構築したため、若干手順が異なるところがあったため、そこを中心にまとめる。

概要

  1. さくらVPSへCentOS7をインストールする
  2. CentOS7に作業用ユーザを追加する
  3. SSHログインのセキュリティを強化する
  4. システムのアップデートをする
  5. ファイヤーウォールを設定する
  6. WEBサーバーの設定をする(apacheをインストールする)
  7. 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サーバーに割り振られたアドレスに書き換えて使用してほしい。

5
2
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
5
2