wktk's diary

日記やメモ

VPS を引っ越した

引っ越し先は DigitalOcean。最近よく DigitalOcean の良い評判を耳にしていて、希望の価格帯である $5 前後のプランもあったので移ることに決めた。

最小課金単位が 1 時間で、簡単にインスタンスを作成・破棄できるので、金額を気にせず気軽に遊べて便利。

今までの VPS は 日本ラッド の Osukini サーバー の LT プランを使っていた。

現行のサーバーには特に不満があるわけではないけど、強いて言えば回線が実測 1 MB/s くらいしか出てないこと、サーバーのサブネットが BBQ 規制リストに載ってしまっていてプロキシ扱いされることがあるのは気になっていた。

新しいサーバー名は、現在のサーバーの名前の macaron を 連想検索エンジン reflexa に入れて出てきたエクレアからとって、eclair.wktk.jp にした。

OS は Arch Linux にした。今まで通り Ubuntu でも良かったんだけど、Arch Linux を使ったことがないので試してみることにした。

セットアップでやったことを自分用にメモしておく。

# パッケージのアップデート
pacman -Syu --ignore filesystem
pacman -Su

# とりあえず入れるパッケージ
pacman -S git wget nginx whois dnsutils vim ntp ufw unbound zsh

# ログイン用ユーザー
useradd -m -g users -G wheel wktk
visudo  # %wheel の有効化

# /root/.ssh/authorized_keys をログイン用ユーザーに移動、所有者をユーザーにする

# root ログインの無効化
## これやって Web コンソールが使えなくならないか試してない
usermod -L root

# sshd の設定
## Port, PermitRootLogin, PasswordAuthentication を編集
vim /etc/ssh/sshd_config
systemctl reload sshd

# DNS サーバーの設定
## デフォルトで入ってた 4.2.2.1 はときどき調子が悪く、DigitalOcean 側で NS サーバーが用意されているわけでもなく、Google Public DNS を使うのも嫌だったため、ローカルにキャッシュサーバーを置くことにした。
wget ftp://FTP.INTERNIC.NET/domain/named.cache -O /etc/unbound/root.hints
vim /etc/unbound/unbound.conf
## root-hint: "/etc/unbound/root.hints" を追加
systemctl enable unbound
systemctl start unbound
vim /etc/network.d/ethernet-static
## DNS を 127.0.0.1 に変更する
## 最初は /etc/resolv.conf.head に設定してたけど、再起動すると無視されるようになったのでこっちを書き換えた。

# タイムゾーンを Asia/Tokyo に
timedatectl set-timezone Asia/Tokyo

# locale の設定
vim /etc/locale.gen
locale-gen
locale > /etc/locale.conf
vim /etc/locale.conf
## LC_COLLATE=en_US.utf8

# 時刻を聞きにいく NTP サーバーの設定
vim /etc/ntp.conf
systemctl enable ntpd
systemctl start ntpd

# デフォルトの umask を変える
vim /etc/profile

# ufw の設定
## SSH が締め出されないように気をつける
## ufw で充分なので iptables から移行した
ufw limit (SSH のポート)/tcp
ufw default deny
ufw allow 25/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 3000/tcp
## ... 他のポートも適宜
ufw enable
systemctl enable ufw
systemctl start ufw

# nginx の設定
## /etc/nginx 以下を適宜編集する
systemctl enable nginx
systemctl start nginx

# スワップファイル
## "How to Add a Swap File on an Arch Linux Cloud Server | DigitalOcean"
## https://www.digitalocean.com/community/articles/how-to-add-a-swap-file-on-an-arch-linux-cloud-server

fallocate -l 1024M /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile none swap defaults 0 0" >> /etc/fstab

# Postfix
## /etc/postfix 以下を適宜編集
systemctl enable postfix
systemctl start postfix

# crond
systemctl enable cronie
systemctl start cronie

# あとは rbenv 周りとか