WebARENA VPSクラウドでの初期設定（CentOS7）

# はじめに
webarena ( Indigoじゃないほう ) でインスタンス建てたときの作業履歴。
個人メモなので、解説は少なめ。

一番安上がりなプラン（っていうの？）で10ポイントのやつです。

# コントロールパネルでの作業

以下のコントロールパネルにアクセス
https://vpscloud.arena.ne.jp/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/5dbf5eb9-34c7-0771-dfe1-64d3634786c6.png)


## セキュリティグループ作成

サイドメニュの セキュリティ -> セキュリティグループ から、「セキュリティグループを作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/db0d8dae-6397-6ca6-a608-7bdccbbd477c.png)


以下の内容を入力する。（SSHは9999番に変更するので、最初の設定で入れておく。）

```
tcp:22,22,ip4:0.0.0.0/0
tcp:9999,9999,ip4:0.0.0.0/0
tcp:443,443,ip4:0.0.0.0/0
tcp:80,80,ip4:0.0.0.0/0
icmp:-1,-1,ip4:0.0.0.0/0
```

これで「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/8c2b03fa-355f-7d41-f03c-d77968a28dff.png)

登録された
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/a6697fb7-d1f9-8669-2dba-6e8de8730a08.png)


## キーペア作成

ここで設定したSSH公開鍵は、rootアカウントの公開鍵として配置される。

サイドメニュの セキュリティ -> キーペア から、「セキュリティグループを作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/365836b3-d7fa-7347-e88a-2ef1eb9745c3.png)

公開鍵を入力する。（このサンプルではGitHubから取得）

```shell-session:GitHubから公開鍵を取得
$ curl -sSL https://github.com/bashaway.keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClCs6xHf++91J37wnXdHO65HUBrh+U+flzMVV6yB8b8EvNJiFKHn+4Obd3lb35qf2vniBYcYUgRyJiLudjytqwbLdei8UVneVd1y7+rQl9ZLXF/c7Z8/jQ60A4lHBdhmKsC5sqfWH5AjYNGTvLSoTNtPK+5gE9of30wvNdx9HjICHl2dD6Q/BW9SrzJH4PXdX813icA/M0KCxc390G5igadsBPiilVDhugKD4mtfDseC7kTorPXff21OOWn2Ubbf0i9BF/KwP286is3n98P0dW2O7cyXs8AuXmeJXTnwI/hLbuivlf4+xyqPeT4TVj6dSiKrXpw+KLKXlRsAh+f/lz
```

これで「作成」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/1d04804f-eede-2c94-3e97-e87cd93bf63c.png)

登録された
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/2ed1bf22-4d20-b49d-4c35-ad208dc80d5e.png)



## インスタンス作成

サイドメニュの イメージ -> マシンイメージ から、「新1G-SSDタイプ(KVM)」を選択して、「インスタンスを起動」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/cc70d726-4be4-4e22-0864-2b932f558cca.png)

インスタンス名を入力して、先ほど作成したSSHキーペアを選択する。
先ほど作成したセキュリティグループを選択して `>` ボタンを押すと「選択済み」に移動するので、その後「起動」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/10ead060-3c9a-d36b-7a3c-a7c3114233b9.png)

（元の画面に戻って10秒ほど無反応になるが、待っていれば作成される）

サイドメニュの インスタンス -> インスタンス から、先ほど作成したインスタンスの状態が「running」になっていればインスタンスが作成されている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/334782/ace107fe-4069-e17f-2f25-0be146655952.png)



# 初回ログイン

SSHで接続する。
鍵の指定を忘れないように。
アカウントはrootなので間違えないように。

ssh root@[ip address]

## ホスト名変更

webarenaのVPSでインスタンスを作成すると、ランダム文字列になるので修正。

```shell:ホスト名を変更
hostnamectl set-hostname webarena01.prosper2.org
# このあとログアウトして再度ログインしなおすとプロンプトのホスト名が変更されている

```

## selinux無効化
webサーバーの検証とかでバックエンドで別ポートにproxyしたり、socketもはじかれたようで、やっぱり使いこなせないなぁ。。。

```shell:SELinuxの無効化
sed /etc/selinux/config -i -e 's/SELINUX=.*/SELINUX=disabled/'
shutdown -r now

```

再起動するまでしばらく待つ。


## ユーザー作成

ユーザ作成とGitHubからの公開鍵取得、sudo時のパスワード回避設定をする。
KEYUSERは取得する公開鍵の対象アカウント名。
SYSUSERはLinux上のユーザ名。

```shell:ユーザ作成
KEYUSER="bashaway"
SYSUSER="bashaway"

useradd  $SYSUSER 
echo "%${SYSUSER} ALL=(ALL) NOPASSWD: ALL" | EDITOR='tee -a' visudo >/dev/null

mkdir /home/${SYSUSER}/.ssh/
echo `curl -sSL https://github.com/${KEYUSER}.keys` > /home/${SYSUSER}/.ssh/authorized_keys
chmod 600 /home/${SYSUSER}/.ssh/authorized_keys

chown -R ${SYSUSER}.${SYSUSER} /home/${SYSUSER}/.ssh/

```

## ssh設定変更

SSHのポート番号を変更して、FW設定をそれに合わせる。

```shell:SSH設定
SSHPORT=9999

echo "Port ${SSHPORT}" >> /etc/ssh/sshd_config
sed /etc/ssh/sshd_config -i -e 's/^#AllowAgentForwarding yes/AllowAgentForwarding yes/'
systemctl restart sshd

firewall-cmd --add-port=${SSHPORT}/tcp --zone=public --permanent
firewall-cmd --remove-service=ssh --zone=public --permanent
firewall-cmd --remove-service=dhcpv6-client --zone=public --permanent
firewall-cmd --reload

```

作成したユーザでsshログインし、問題なければrootの鍵を削除しておく。

```shell:rootの鍵を削除
sudo rm /root/.ssh/authorized_keys

```

けど、これをやると、作成したユーザでログインできなくなったときにコンソール経由でもどうにもならないので、rootパスワードくらいは設定しておいたほうがいいかも。

# おわりに

Indigo を使おうとしたら、リソースが足りないと言われた。ので、こっちを引っ張りだしてきた。VPSのほうはIPアドレスが変わらないみたい（あってる？）なので、いろいろ面倒がないんですよね。