さくらのVPS CentoOS7のインストールから各設定まで



# 重い腰を上げ、やっとアップデートしました

さくらVPSにCentOS7をインストールしたので、セットアップ手順をまとめました。


##CentOS7をインストール、起動

### VPS管理画面からインストラーの準備

![01.png](https://qiita-image-store.s3.amazonaws.com/0/55848/e63a9a77-e0e3-73b7-2fa9-ac9701fcf3aa.png "01.png")

* 「各種設定」から、「OSインストール」をクリック

![02.png](https://qiita-image-store.s3.amazonaws.com/0/55848/f007cbfb-f49e-a03c-8aee-59c4a8f6106f.png "02.png")

* 「カスタムOSインストール」をクリック

![03.png](https://qiita-image-store.s3.amazonaws.com/0/55848/78d2f0ca-669a-a7eb-3d28-8b61ca302e77.png "03.png")

* 「インストールOSからCentOS7 x86_64」 を選択

![04.png](https://qiita-image-store.s3.amazonaws.com/0/55848/3e439afb-f71d-5521-7614-7c1796cb43b5.png "04.png")

* 「設定内容を確認する」をクリック

![05.png](https://qiita-image-store.s3.amazonaws.com/0/55848/b5bc5d89-932c-cdc8-4d7a-fb9cffde1bf5.png "05.png")

* 「インストールを実行する」をクリック


![06.png](https://qiita-image-store.s3.amazonaws.com/0/55848/f1e11e0a-4e40-8b40-41db-0e6465d4ea24.png "06.png")

* 「VNCコンソール(HTML5版)を起動」をクリック


### インストーラーを起動する
![07.png](https://qiita-image-store.s3.amazonaws.com/0/55848/6ae7dc05-4024-5bea-9185-d378433964a6.png "07.png")

* 「Install CentOS7」を選択し、Enter
* ※少し時間かかります

![08.png](https://qiita-image-store.s3.amazonaws.com/0/55848/cedadd62-44d4-281e-52c3-191e041abc0b.png "08.png")

* 「 SYSTEM 」 の「 INSTALLATION DESTINATION 」をクリック
* ※SOFTWAREは、ネット環境により少し時間かかります

![09.png](https://qiita-image-store.s3.amazonaws.com/0/55848/32799c26-a0bf-b368-3b76-259113f827c1.png "09.png")

* ① すべてのディスクが選択されているのを確認する
* ②　確認後「Done」をクリック


![10.png](https://qiita-image-store.s3.amazonaws.com/0/55848/4b26cf5a-1c9f-ef86-e2af-3b1f1cfb3830.png "10.png")

* 古いOSがインストールされているのを削除し、新規のパーティション作成する
* 標準のOSパーティションを利用するなら、そのまま右下の 『 Reclaim space 』 をクリック


![11.png](https://qiita-image-store.s3.amazonaws.com/0/55848/835eb089-b97e-e1b2-8e90-c188caf923cf.png "11.png")

* 「 Delete　ALL」をクリック


![12.png](https://qiita-image-store.s3.amazonaws.com/0/55848/329d0576-25ef-2008-e5b2-b62a18105d72.png "12.png")

* 「Reclaim space 」をクリック

![13.png](https://qiita-image-store.s3.amazonaws.com/0/55848/04c1cfb5-5dee-1da3-ff4c-3e1d845e8ba6.png "13.png")

* 「Begin Installation」をクリック

### OSインストールを開始

![14.png](https://qiita-image-store.s3.amazonaws.com/0/55848/ec43001b-c377-fed6-d4f5-6cdddc9d1218.png "14.png")

* 「USER SETTING」の「ROOT PASSWORD」をクリック



![15.png](https://qiita-image-store.s3.amazonaws.com/0/55848/2158f2de-ff4c-0a03-ec5a-6f43f27c608a.png "15.png")
 
* 「ROOT PASSWORD」、「Confirm」を入力するし、「Done」
* ※強度が低いパスワードを設定した場合、「Done」を2回クリックする必要

### インストール完了

![16.png](https://qiita-image-store.s3.amazonaws.com/0/55848/5d3f152a-6c0d-f70c-bf4d-f6b79658881b.png "16.png")

* すべてのインストールが完了した状態では、仮想サーバは自動的に電源がOFFの状態になっているので、「起動」をクリック

## 初期設定

### rootでログイン
* ※ xxx.xxx.xxx.xxx : さくらVPSで付与されているIPアドレス

```
$ ssh root@xxx.xxx.xxx.xxx
```


* アプリケーションを最新にする

```
# yum -y update
```

### ユーザーの作成

```
# useradd ユーザ名  // ユーザ作成
# passwd ユーザ名  // ユーザのパスワード設定
```

* sudo権限が使えるwheelグループへユーザを所属させる

```
# usermod -G wheel ユーザ名
```

* wheelグループのみ管理者になれるよう設定

```
# vi /etc/pam.d/su


#auth sufficient pam_wheel.so trust use_uid

↓

auth sufficient pam_wheel.so trust use_uid
```

* wheelグループを sudoができるよう設定

```
visudo

# %wheel   ALL    ALL

↓

%wheel   ALL    ALL
```


* 別のターミナルを開き、ユーザでsshログインできるかの確認とsudoが使えるかの確認

```
$ ssh ユーザ名@xxx.xxx.xxx.xxx

$ sudo -s
```


#### SELinuxの設定

* 無効にする。
* こちらもお勉強しないとダメですね。。

* [SELinux を使おう．使ってくれ．](http://qiita.com/chi9rin/items/af532d0dd9237cc65741)


```
$ sudo vim /etc/sysconfig/selinux


SELINUX=enforcing

↓

SELINUX=disabled
```

* OS再起動

```
sudo shutdown -r now
```

* 稼働状況の確認
* ※Disabledが表示されていれば、無効

```
$ getenforce

Disabled
```

## SSHの設定

* 公開鍵認証が使えるよう設定
* 一旦、backupする

```
$ sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
```

```
$ sudo vim /etc/ssh/sshd_config
```

* ポートの変更

```
Port 22

↓

Port 10123

```

* rootでのログイン拒否

```
PermitRootLogin yes

↓

PermitRootLogin no
```


* パスワードでのログイン拒否

```
PasswordAuthentication yes

↓

PasswordAuthentication no
```

* 公開鍵でのログインを許可

```
#RSAAuthentication yes

↓

RSAAuthentication yes



#PubkeyAuthentication yes

↓

PubkeyAuthentication yes
```


* sshdを再起動

```
$ sudo systemctl restart sshd.service
```



## Firewalldの設定

* sshでアクセスするポートを開ける
* ポート：10123を追加する

```
$ sudo firewall-cmd --add-port=10123/tcp
```

* 再起動しても10123を使用するように設定

```
$ sudo firewall-cmd --permanent --add-port=10123/tcp
```

* ポートが開いているかの確認

```
$ sudo firewall-cmd --list-ports

10123/tcp
```

* sshのポート番号を修正

```
$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
$ sudo vim /etc/firewalld/services/ssh.xml


<port protocol="tcp" port="22"/>

↓

<!--<port protocol="tcp" port="22"/>-->
<port protocol="tcp" port="10123"/>
```

* 再起動

```
$ sudo firewall-cmd --reload
```

## SSH鍵の作成

* サーバ内に公開鍵を保存するディレクトリを作成
* パーミッションを700へ設定

```
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
```

* ローカル(PC)で認証鍵を生成する

```
ssh-keygen -t rsa


Generating public/private rsa key pair.
Enter file in which to save the key (/Users/xxxxxx/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Passphrases do not match.  Try again.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/xxxxx/.ssh/id_rsa.
Your public key has been saved in /Users/xxxxxx/.ssh/id_rsa.pub.
The key fingerprint is:
xx:xxx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx xxxxxxxxx@xxxxxx-no-MacBook-Pro.local
The key's randomart image is:
+--[ RSA 2048]----+
| .++O*..         |
| .oXE.o.         |
|. =.+ o .        |
| = o   . .       |
|  o     S        |
|         o       |
|        .        |
|                 |
|                 |
+-----------------+
```


* 公開鍵(id_rsa.pub)のパーミッションを変更

```
chmod 600 .ssh/id_rsa.pub
```

* 公開鍵(id_rsa.pub)をサーバへ転送

```
scp ~/.ssh/id_rsa.pub -p 10123 ユーザ名@xxx.xxx.xxx.xx:~/.ssh/authorized_keys
```

* ssh鍵での接続確認

```
ssh -p 10123 -i ~/.ssh/id_rsa ユーザ名@xxx.xxx.xxx.xx
```

## 参考サイト

* [CentOS7のWEBサーバを立ち上げる – 初期設定篇](https://everyday-growth.com/?p=1907)
* [CentOS7初期設定](https://centossrv.com/centos7-init.shtml)
* [チュートリアル：CentOS 7（さくらのVPS）サーバ作成直後に設定しておくべき初期セキュリティ設定](http://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/)