開発したアプリなど一覧

さくらのVPS に Ubuntu 18.04 をインストール・初期設定した

現在さくらの VPS を利用して開発した Web サイトなどを公開しているだが、性能が不足しだした事から新たにサーバーを借りる事にした。

新しいサーバーはさくらのVPSのメモリ2GBプランを選択した。

さくらのVPS

元々は 1GB のサーバーを二つ利用していたのだが古いほうを 2GB へ移行する事にした。OS は用意されている Ubuntu 16.04 LTS を Ubuntu 18.04 へアップデートする。

ちなみにさくらの VPS はスケールアップ機能が用意されているのだが、自分が借りていたサーバーは古くて利用できなかったので新規に契約して自分で移行しなければならない。

スタートアップスクリプト

さくらの VPS で OS をセットアップする際、あらかじめ用意されたスクリプトを実行できるようだ。とりあえず setup だけ実行したけど別に対したことはしてないのでやらんでもいいかも。

自分は「パッケージを最新」、「IPv6」、「FireWallをUFWに変更」の三つを有効にし、ポート番号も適当に変更した。公開鍵は別のユーザーで利用するので無し。

Ubuntu 16.04 から 18.04 にする

ログインできるようになったら Ubuntu バージョンをアッぷグレードする。Ubuntu では do-release-upgrade コマンドを利用するとアップデートできる。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt dist-upgrade
$ sudo do-release-upgrade

apt update とかは一応したけどとくに何も更新されなかったしいきなり do-release-upgrade で良さそう。

アップデート中設定ファイルどうするかとかいろいろ聞かれるけどインストール直後だし適当にやっておく。

アップデート完了したら /etc/lsb-release 確認してみよう。18.04 になっているはずだ。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04.2 LTS"

ユーザーの追加

デフォルトのユーザー ubuntu は使わないので新たにユーザーを追加する。

$ sudo adduser ryomatsu
$ sudo usermod -aG sudo ryomatsu

ユーザーを追加するコマンドは adduser と useradd の二つあるが adduser を利用する。

SSH を公開鍵暗号方式で利用する

ユーザーの SSH でのログイン時には公開鍵暗号方式を利用する。先に sshd の設定するとログインできなくて面倒なので公開鍵を scp コマンドで送って authorized_keys に追加しておく。

$ scp id_rsa.pub ryomatsu@VPS_ADDRESS:~/.
$ ssh ryomatsu@VPS_ADDRESS
$ mkdir ~/.ssh
$ mv ~/id_rsa.pub ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
$ chmod 600 ~/.ssh/authorized_keys

一つ目の公開鍵なので mv してる。他にも追加するなら cat id_rsa >> authorized_keys とかしよう。

公開鍵を追加したら sshd_config を編集する。

$ sudo vi /etc/ssh/sshd_config
# 以下の二か所を変更
PermitRootLogin no
PasswordAuthentication no

公開鍵暗号方式はデフォルトで有効になっていたので、PermitRootLogin と PasswordAuthentication を no にするのみ。これでパスワードではログインできなくなる。ついでに root でのログインも無効にする。設定変更後は以下のコマンドで sshd を再起動しよう。

$ sudo systemctl restart sshd

この状態であれば以下のように秘密鍵を指定して ssh でログインできるはず。

$ ssh -p 22 ryomatsu@VPS_ADDRESS -i ~/.ssh/id_rsa

しかし鍵ファイルを指定するのだるいので、~/.ssh/config ファイルを編集しておく。

$ cat ~/.ssh/config
host newvps
  Hostname VPS_ADDRESS
  User ryomatsu
  Port 22
  Identityfile ~/.ssh/id_rsa
  TCPKeepAlive yes
  IdentitiesOnly yes

こうしておけば ssh newvpsだけで SSH 接続できる。便利。

UFW(Uncomplicated Firewall)を設定

iptable をいじるのは大変なので簡単に利用できる UFW を利用する。といっても先ほど OS の初期設定時にスクリプトを走らせたので UFW 自体は有効になっているはず。以下のコマンドで確認できる。

$ sudo ufw status
Status: active

To               Action      From
--               ------      ----
22               ALLOW       Anywhere
22 (v6)          ALLOW       Anywhere (v6)

有効になってなければ以下のコマンドで SSH をルールに追加して UFW を有効にする。

$ sudo ufw allow 'OpenSSH'
Rule added
Rule added (v6)
~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y

SSH のポート番号を別のものに変更していた場合は sudo ufw allow 変更後のポート番号 のようにする。

有効にするといったん SSH の接続が切れるので再度接続しよう。

How To Set Up a Firewall with UFW on Ubuntu 18.04 | DigitalOcean

これでいったん初期設定は終わり。次は Nginx + MySQL を導入して WordPress を動かしてみる。

Sponsored Link

コメント

タイトルとURLをコピーしました