4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ConoHa VPS (ubuntu 18.04) 初期設定メモ

Posted at

ConoHaが新プランになったし、再度別のサーバをUbuntu18.04から立ち上げる。この記事の更新の位置づけ。本当は20.04を待ちたかったけどまあいいや。

ConoHa VPSの契約

RAM1GB/SSD100GBプラン@東京リージョンを契約。月880円。3,4年前より安いわSSDが倍だわ…

  • ひとまずポート制限はなし。sshでログインしてから設定。
  • イメージタイプはOS。ubuntu 18.04を選択。OSじゃなくてアプリ指定(例えばDocker指定)しても立ち上げられんのね。進化してる!
  • SSH Pubkeyは登録しない。仮想マシン作成時はユーザが作られないため、ユーザを作ってから登録する。

ドメインの設定

ドメイン管理はさくらインターネットのまま保持。

  • さくらのドメイン管理画面から、当該ドメイン名のアドレスを変える。
  • ConoHaのサーバ管理画面で、逆引きホスト名として当該ドメイン名を入れておく。念のため。

セキュリティ周りの初期設定

ユーザ作成 & ssh

SSHかコントロールパネルからrootでシェルログインをしてユーザ作成、sudoersに追加、ssh鍵の設定、viで適当に新しいユーザの公開鍵をコピペして登録、まで一気にやってしまう。

# adduser <new user>
# usermod -aG sudo <new user>
# su <new user>
$ mkdir ~/.ssh
$ touch ~/.ssh/authorized_keys
$ vi ~/.ssh/authorized_keys

sshd_configをいじってPort変更、Root/Passwordログインを禁止、公開鍵ログインのみとする。

$ sudo vi /etc/ssh/sshd_config
- Port 22
+ Port xxx # ポート変更

- PermitRootLogin yes
+ PermitRootLogin no

- PubkeyAuthentication no
+ PubkeyAuthentication yes #公開鍵ログイン

- PasswordAuthentication yes
+ PasswordAuthentication no

- UsePAM yes
+ usePAM no

$ sudo /etc/init.d/ssh restart

iptablesの設定

ufwで楽をする。Port 80/443はdockerのnginx-proxyが勝手に空けてくれるのでわざわざ空けなくてよろしい。

$ sudo ufw allow <ssh port> # ssh
$ sudo ufw default deny # デフォルトでは全部拒否
$ sudo ufw enable

確認。

$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip


To                         Action      From
--                         ------      ----
<ssh port>                 ALLOW IN    Anywhere                  
<ssh port> (v6)            ALLOW IN    Anywhere (v6)             

IPv6の設定

ConoHa VPSには、サーバごとに17個のIPv6アドレスが振られている。
しかし、Ubuntu18.04イメージで作成したイメージにはIPv4アドレスのみが割り当てられている。
IPv6でアクセスしたいのでIPv6アドレスも割り当てる。

/etc/netplan/10-gmovps.yaml
network:
    ethernets:
        eth0:
-           addresses: [] 
+           addresses:
+             - <ipv6_address>/64
            dhcp4: true
            dhcp6: false
            accept-ra: false
            optional: true
+           gateway6: <gateway_address>
    version: 2

上記のように変更、あるいは11以上のプレフィックスのついたyamlを作って上記のように入れて設定を上書きする(e.g., /etc/netplan/20-mynetwork.yaml)。そして以下を実行して反映。

$ sudo netplan apply

ホスト名変更

/etc/hosts/etc/hostnameが食い違ってるので、

/etc/hosts
127.0.0.1 conoha

/etc/hostname
conoha

みたいにしておく。

NTPはもう入れない

もうNTPサーバを立てる必要もなさそう。Ubuntuではsystemd-timesyncdが動いているので勝手に時刻同期してくれるようだ。

こんな感じで同期している。

$ timedatectl status
                      Local time: Tue 2020-03-17 17:37:26 JST
                  Universal time: Tue 2020-03-17 08:37:26 UTC
                        RTC time: Tue 2020-03-17 08:37:27
                       Time zone: Japan (JST, +0900)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Docker

サーバは全部Dockerで動かす所存。

リポジトリの設定

$ sudo apt-get update;
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # DockerのGPG鍵を導入
$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable" # リポジトリ追加

Docker Community Editionの導入

$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo docker run hello-world # 動作確認

作った一般ユーザでDockerが利用できるようにしておく

sudo usermod -aG docker <new user>

Docker Composeの導入

$ sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# これ書いてる時点では1.25.4が最新。状況はgithubをチェック。 https://github.com/docker/compose/releases

$ sudo chmod +x /usr/local/bin/docker-compose # 実行権限付与
$ docker-compose --version # チェック
docker-compose version 1.25.4, build 8d51620a

参考:
Get Docker CE for Ubuntu
Install Docker Compose

Logwatchでgmail宛にログを投げる。

念のため。

$ sudo apt-get install logwatch
$ sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/

gmail宛に編集。

/etc/logwatch/conf/logwatch.conf
- MailTo = root
+ MailTo = xxx@gmail.com

以下の記事を使って、さくらのメールサーバをリレーサーバとし、postfixからgmailへ送るようにする。

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?