環境構築

さくらのVPSのOSをCentOS7.4に再インストールした直後の設定

o_wani
この記事は作成から6年以上経過しているため、内容が古くなっている可能性があります。

さくらのVPSにRails5が動くproduction(本番)環境の構築を行ったときの記録。現時点では、デフォルトのOSがCentOS6.9だったが、3つの理由でさくらのコントロールパネルからOSの再インストールを行いCentOS7.4で環境を再構築することにした。

CentOS7.4に乗り換えた理由

  • rbenvでruby2.5.0がインストールできなかった
    Bug #14234
  • gitのデフォルトバージョンが1.7.1 (ユーザ名を含めないcloneができなかった)
  • そもそもテスト環境はCentOS7.4なので合わせるべき

「OSの再インストール」〜「rails5が動くproduction環境の構築」までの手順のため、記事をOSの再インストール後のサーバ設定編Rails設定編に分けて記載することとした。

OSの再インストール

さくらVPSのコントロールパネルにログインし、

各種設定 > OSインストール

から、「標準OS」を選び「CentOS7 x86_64」を選択。rootのパスワードも設定して、ボタン押下。速攻でOSがCentOS6.9からCentOS7.4になりました。

※手順はこちら
OS再インストール

確認

SSHでログイン後

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

CentOS 7.4になっていることが確認できた。

CentOS7作成直後のサーバ設定

※参考手順はこちら
チュートリアル:CentOS 7(さくらのVPS)サーバ作成直後に設定しておくべき初期セキュリティ設定

参考サイトには必要な手順は以下となっているが、

・ 一般ユーザの作成
・ 公開鍵認証の設定
・ sudo 設定
・ SSH 接続時、root でのログインを禁止
・ SSH 接続時、パスワード認証を禁止

今回は、公開鍵認証ではなくパスワード認証で進めるかわりに、SSHできるユーザの制限を加え、さらに参考サイトの応用編であるSSH接続用ポート番号の変更も行う以下の設定を行うこととした。

・ 一般ユーザの作成
・ sudo 設定
・ SSH 接続時、root でのログインを禁止
・ SSH ログインできるユーザを制限
・ SSH 接続用ポート番号の変更

初期状態ではrootでログインできるため、以下はrootユーザでログインし、設定した。

一般ユーザの追加

# useradd owani
# passwd owani
Changing password for user owani.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

sudo設定

「wheel」グループに所属させます。

# usermod -G wheel owani

CentOS6よりも設定が簡単になっている。

SSHログイン認証の設定

sshの設定ファイルを編集

# vim /etc/ssh/sshd_config
  • root アカウントでのログインを許可しない
PermitRootLogin no
  • ログインできるユーザを制限
AllowUsers owani
  • Portの変更
    222022
 # Port 22 コメントアウト
 Port 2022

ファイアーウォールの設定変更
/etc/firewalld/services/以下の設定が優先されるのでファイルをコピーして作成する。

# cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml
# vim /etc/firewalld/services/ssh.xml

22の部分を2022に変更。

ファイアーウォール再起動

# systemctl reload firewalld

sshdの再起動

# systemctl restart sshd

firewallの設定

CentOS7からはファイアーウォールはiptableではなく、firewalldというサービスに変わってます。

ステータスの確認

# systemctl status firewalld

いま適用されているゾーンは何かを確認

# firewall-cmd --get-default-zone
public

publicというゾーンが使われてる。

httpの追加
デフォルトの状態だと、ファイアーフォールに登録されているサービスはSSHのみだったので、追加する。

# firewall-cmd --add-service=http --zone=public --permanent
success

httpsの追加

# firewall-cmd --add-service=https --zone=public --permanent
success

設定状態の確認

# firewall-cmd --list-services --zone=public --permanent
dhcpv6-client ssh http https

これで必要なサービスが登録できた。

参考
RHEL/CentOS7ではiptablesではなくfirewalld

ミドルウェア更新

# yum update -y

700以上のupdateがあった。

OSの再インストール後の設定はここまで。次は、Rails5Production環境をApache2.4+Passenger5.2で構築していく手順だ。
CentOS7.2だったはずなんだけど、7.4になってるのは気のせいか。。

STAFF
o_wani
o_wani
スタッフ
大学卒業後、15年間WEB業界で働く。現在はマネジメントに従事していますが、ChatGPTの登場に触発され、このブログを再開。AIをパートナーに、自分で手を動かして実装する楽しさと喜びを再発見中。時代が変わりつつある中でも、陳腐化しない情報発信も目指しています。
記事URLをコピーしました