さくらのVPSでの初期設定（CentOS7）

## はじめに
qiita初投稿につき、書式の練習が主目的です。内容はペラッペラです。
記載は2019/1/1です。（最新とか言ってても「当時の」最新です）


## 対象機器および環境
さくらのVPS(v4) SSD 512 TK02
（TK：東京リージョンってことなのか？）


## このエントリを読むとできること
* さくらのVPSの標準OSをインストールして
* 基本的な初期設定ができて
* SSHでログインできるようになる

はず。


## 標準OSインストール
** VPSコントロールパネルから当該サーバを選択し、「各種設定」→「OSインストール」を選択**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/334782/4d882cae-f89a-6217-128b-9c28c5f23a36.png)

**「標準OS」で「CentOS7 / x86_64」を選択。パスワードを入力して「設定内容を確認する」をクリック**
![image.png](https://qiita-image-store.s3.amazonaws.com/0/334782/299e873d-c706-1467-bb4e-03a98bada473.png)

** サーバの状態が「稼働中」になっていればOK **
![image.png](https://qiita-image-store.s3.amazonaws.com/0/334782/9d68e957-271b-956d-b776-54f043175c1d.png)


## 各種設定変更

### ログイン
セットアップが完了したら、インストール直後の状態なので、SSH（22/TCP）でrootログインする。

```
$ ssh root@[VPSサーバ]
The authenticity of host '[VPSサーバ] (x.x.x.x)' can't be established.
ECDSA key fingerprint is SHA256:kokonihaSHA256nofinga-purintogakokonihyoujisareru
ECDSA key fingerprint is MD5:ko:ko:ni:ha:md:go:no:fi:ng:a-:pu:ri:nn:to:de:su:ne.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[VPSサーバ],x.x.x.x' (ECDSA) to the list of known hosts.
root@[VPSサーバ]'s password:

SAKURA Internet [Virtual Private Server SERVICE]

[root@sakura01 ~]#
```

### 作業用ユーザ作成
リモートログインや特権不要の場合などは、一般ユーザで作業する。

```
# useradd NEWUSER
# passwd PASSWORD
# usermod -G wheel NEWUSER
# visudo
-----8<-----snip-----8<-----
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL
-----8<-----snip-----8<-----
```

### SSHログイン用の設定（sshd_config）
ひとまず最低限の設定を。
※そのうち、公開鍵認証と証明書認証を整理しよう。

```
# vi /etc/ssh/sshd_config
-----8<-----snip-----8<-----
#Port 22
Port XXXX

#PasswordAuthentication yes
PasswordAuthentication no

#PermitRootLogin no
PermitRootLogin no
-----8<-----snip-----8<-----

# systemctl restart sshd
```


### ファイアウォール設定（firewalld）

```
# 以下プロンプト省略
firewall-cmd --remove-service=ssh --zone=public --permanent
firewall-cmd --remove-service=dhcpv6-client --zone=public --permanent
firewall-cmd --add-port=XXXX/tcp --zone=public --permanent
firewall-cmd --reload
※XXXXはsshd_configで指定したポート
```

### SELinuxの無効化
ちゃんと使いこなせてるひと偉すぎ！

```
# getenforce
Disabled
※あれ、デフォルトで無効化されている。。。

# vi /etc/selinux/config
-----8<-----snip-----8<-----
SELINUX=disabled
-----8<-----snip-----8<-----

```


### パッケージアップデート

```
# yum install tmux vim lftp
（個人的によく使うもので。。。）

# tmux
（としておくと、途中で切れても安心！）

# yum update
（～～ずらずら～～）

完了しました!
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
```


### 再起動
SELinuxが無効化されているので、特に必要ないはずだけど、一応。

```
# shutdown -r now
```

## 動作確認


```
※22/tcpは閉じている
$ ssh root@[VPSサーバ] 
ssh: connect to host [VPSサーバ] port 22: No route to host
```

```
※rootログインは許可されていない
$ ssh root@[VPSサーバ] -p 1048
The authenticity of host '[VPSサーバ]:1048 ([x.x.x.x]:1048)' can't be established.
ECDSA key fingerprint is SHA256:kokonihaSHA256nofinga-purintogakokonihyoujisareru
ECDSA key fingerprint is MD5:ko:ko:ni:ha:md:go:no:fi:ng:a-:pu:ri:nn:to:de:su:ne.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[VPSサーバ]:1048,[x.x.x.x]:1048' (ECDSA) to the list of known hosts.
root@[VPSサーバ]'s password:
Permission denied, please try again.
root@[VPSサーバ]'s password:
Permission denied, please try again.
root@[VPSサーバ]'s password:
Permission denied (publickey,password).
```


```
※新規作成したユーザでログインする
$ ssh NEWUSER@[VPSサーバ] -p 1048
NEWUSER@[VPSサーバ]'s password:

SAKURA Internet [Virtual Private Server SERVICE]

$ sudo -s

あなたはシステム管理者から通常の講習を受けたはずです。
これは通常、以下の3点に要約されます:

    #1) 他人のプライバシーを尊重すること。
    #2) タイプする前に考えること。
    #3) 大いなる力には大いなる責任が伴うこと。

[sudo] NEWUSER のパスワード:
#
```

おしまい

## [追記:2020/3/18] dockerとdocker-compose

以下の公式マニュアルに沿ってインストールする。
https://docs.docker.com/install/linux/docker-ce/centos/


```
yum remove docker  docker-client docker-client-latest  docker-common docker-latest \
                  docker-latest-logrotate  docker-logrotate  docker-engine

yum install -y yum-utils  device-mapper-persistent-data  lvm2

yum-config-manager \
    --add-repo https://download.docker.com/linux/centos/docker-ce.repo

yum install -y docker-ce docker-ce-cli containerd.io

systemctl start docker
```

これでインストール完了。動作確認は

```
docker run hello-world
```

あとは自動起動しておく

```
systemctl enable docker
```

Docker-composeはこれでインストール

```
curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
```



## おわりに
### 感想
いまさらながら、[VPSサーバ]って変ですね。"S"が重複してますね。
書式練習と思いましたが、記載内容のバリエーションが少なかったので、あんまりMarkdown使いこなせてないですね。

### 出典
特にありません。