さくらVPSの初期設定〜nginxの起動まで
ドットインストールの「(さくらのVPS入門)https://dotinstall.com/lessons/basic_sakura_vps」をやったので簡単に内容をメモしておく。 OSはCentOS7。
1. VPSに接続する
$ ssh root@[IPアドレス] Are you sure you want to continue connecting (yes/no)? yes root@IPアドレス's password: => 仮登録完了メールに記載されているパスワードを入力 $ yum update => インストール済みのパッケージをアップデート
2. 作業用ユーザーの設定
$ useradd admin => adminという作業用ユーザーを追加 $ passwd admin => 任意のpasswordを設定
次に作成した作業用ユーザーで sudo コマンドを実行できるようにする。
$ usermod -G wheel admin => wheel グループに作業用ユーザーを追加する。wheelというのは、sudoを実行できるユーザーグループの名前。大物とか実行者という意味らしい。 $ visudo => sudo権限を変更するためのコマンド。sudoersというファイルが開く。
以下の行を探して、2行目の「#」を消すことでこの一文を有効化する。 これで wheel グループのユーザーが sudo を実行できるようになる。
## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL
3. 鍵認証の設定
パスワード認証だとセキュリティの強度が低いので、公開鍵を使った認証に切り替える。
$ pwd /home/admin $ mkdir ~/.ssh $ chmod 700 ~/.ssh => 所有者のみ操作可能とする。
次に、SSHの接続元(ローカル)側で接続に使う鍵のペアを作成する。
$ ssh-keygen -t rsa -v Generating public/private rsa key pair. Enter file in which to save the key (/Users/***/.ssh/id_rsa): => 保存するファイル名を指定。基本はデフォルトでよい。 $ chmod 600 ~/.ssh/id_rsa.pub => 作成された公開鍵のファイルのパーミッションを変更。 $ scp ~/.ssh/id_rsa.pub admin@IPアドレス:~/.ssh/authorized_keys => 公開鍵をVPSに転送する。
鍵のアップロードが完了したら、以下のコマンドで秘密鍵を使ってローカルからVPSに接続ができる。
$ ssh -i ~/.ssh/id_rsa admin@IPアドレス # デフォルトで ~/.ssh/id_rsa を見に行くようになっているので、下記のように省略してもOK。 $ ssh admin@IPアドレス
4. SSHの設定
以上で鍵を使ってSSH接続するところまで完了。だが、パスワードログインやルートログインが有効になっていて、このままではセキュリティ上良くないので、それらを無効化する
VPSに接続して、以下のコマンドを実行。
$ sudo -s => ここからは、ルート権限で実効するコマンドが多いので、ルート権限に変更する。 # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org => SSHの設定ファイルを編集する前にバックアップをとっておく # vim /etc/ssh/sshd_config => vimで設定ファイルを開く
vimで、/etc/ssh/sshd_config
を開いて以下の設定を編集する。
編集前:PasswordAuthentication yes 編集後:PasswordAuthentication no
編集前:# PermitRootLogin yes 編集後:PermitRootLogin no
下記コマンドを実行して編集したSSHの設定を読み込む。
# systemctl restart sshd
5. ファイアウォールの設定
CentOS6までは、iptablesというコマンドだったけど、7からはfirewalldというのに変わったらしい。 firewalldについては↓の記事がわかりやすかった。 ネコでもわかる!さくらのVPS講座 ~第七回「ファイアウォール”firewalld”について理解しよう」
あとで、Webサーバーを立ち上げるので、あらかじめHTTP通信を許可しておく。
# firewall-cmd --add-service=http --zone=public --permanent # firewall-cmd --add-service=https --zone=public --permanent # systemctl restart firewalld
6. nginxのインストール
$ yum install nginx => nginx をインストール $ systemctl start nginx => 起動 $ systemctl enable nginx => OS起動時に自動で起動させる
割り振られたIPアドレスにアクセスしたらnginxのトップページが表示されるはず。