Vultr における Ubuntu 16.04 Server の設定メモ
スポンサーリンク
VPS をConoha からVultrに移行したので備忘録。
一般的なUbuntu の設定については省略しています。
ConoHa では不要だった作業のみ。
作業内容など
VPS上で稼働しているという点を除けばただのUbuntuです。(記憶違いでなければ)さくらインターネットのVPSなどは初期設定に修正が入っていたようですが、そういうお節介は無いようです。Vultr から提供されているOSイメージを使う場合の注意点を以下の通り。
よって上記2点のみ作業手順を記録しておきます。
なお、初期状態でOP25BによりSMTPポートからの通信がブロックされているのでサポートに解除を依頼し、VPSの管理画面から対象のサーバーを再起動する必要があります。
Ubuntu の設定としては過去記事を参照。
どこのVPSを使うにしてもファイアーウォール(UFW
or iptables )とssh
、メールの転送設定は最低限必要だろうと思います。
Swap (swapfile) の設定
自分でISOイメージをアップロードしてOSをインストールした場合を除き、swapパーティションが作成されていません。また仮想ディスクに空き領域もないのでSwapパーティションの代わりにswapfileを作成、有効化します。
最も安いプランで768MBあるので以外にSwapなしでもいけそうに思えますが、用途によってはメモリを割り当てられなかった("cannot allocate memory")というエラーでプログラムのビルドや実行に失敗することがあります。設定しておいて損はないはずです。
基本的に公式サイトのドキュメントにしたがあって作業すれば問題なし。
Setup Swap File on Linux - Vultr.com
作業前の状態では、free
コマンドの出力を見てもSwap のトータルの容量はゼロのはず。
$ free -m total used free shared buff/cache available Mem: 740 483 54 10 202 117 Swap: 0 0 0
dd
コマンドでディスクファイルを作成し、一般ユーザーが読み書きできないようにパーミッションを設定。
dd if=/dev/zero of=/swapfile count=2048 bs=1M 2048+0 records in 2048+0 records out 2147483648 bytes (2.1 GB, 2.0 GiB) copied, 17.1776 s, 125 MB/s $ sudo chmod 600 /swapfile $ ls -lh /swapfile -rw------- 1 root root 2.0G Nov 7 05:56 /swapfile
mkswap
コマンドでswapパーティションとしてフォーマット。
$ sudo mkswap /swapfile Setting up swapspace version 1, size = 2 GiB (2147479552 bytes) no label, UUID=67eaf63b-e876-4528-b4dd-8bf4b910ea3d
swapon
コマンドで有効化。
$ sudo swapon /swapfile
状態を確認。
$ free -m total used free shared buff/cache available Mem: 740 484 53 10 202 115 Swap: 2047 0 2047
問題がなければ再起動後もSwapを有効にするために/etc/fstab
をに設定を追加。
/swapfile none swap sw 0 0
タイムゾーンの設定
別に設定しなくてもログに表示される時刻が日本時間と9時間ずれるだけす。
サーバー側のアクセスログと、Google Analytics の時間がずれたり不便なので設定しておきます。手順はsystemd
環境における設定手順と同じ。
まず現状確認から。
timedatectl
コマンドのstatus
を使うことで現在の状態を確認。
$ timedatectl status Local time: Sun 2016-11-20 11:55:29 UTC Universal time: Sun 2016-11-20 11:55:29 UTC RTC time: Sun 2016-11-20 11:55:29 Time zone: Etc/UTC (UTC, +0000) Network time on: yes NTP synchronized: yes RTC in local TZ: no
設定可能なタイムゾーンはtimedatectl list-timezones
で確認できます。ただし、全体で422、アジアだけでも80のタイムゾーンがあります。日本の時間に合わせるのであれば、"Asia/Tokyo"にすればOKです。
grep
で絞り込みをかけてやると、以下の通り。
$ timedatectl list-timezones | grep Tokyo Asia/Tokyo
素直に設定します。
$ sudo timedatectl set-timezone Asia/Tokyo
設定の確認
timedatectl status Local time: Sun 2016-11-20 21:28:35 JST Universal time: Sun 2016-11-20 12:28:35 UTC RTC time: Sun 2016-11-20 12:28:35 Time zone: Asia/Tokyo (JST, +0900) Network time on: yes NTP synchronized: yes RTC in local TZ: no
その2
$ date Sun Nov 20 21:29:27 JST 2016
手元の時計と一致していれば問題なし。
何かと批判の多いsystemd
ですが、こういった基本設定に関して手順がが共通化されたという点はsystemd
のメリットです。
そのほか
初期設定のNTPサーバーが海外のサーバーになっていますが実害はなさそうなので放置しています。