Amazon LightSailからNTT-PC WebARENA Indigo VPSに移動③:ドメイン, Webサーバ, メールサーバ
ぼく「やっぱり基本的な機能は出来ないとね」
目次
ドメイン
LightsailではDNSコンテンツサーバが無料だったが、Indigoでは有料なので注意。
Webサーバ
懲りずにnginxを使う。
apt-get install nginx
ufw allow http
ufw allow https
# http://<IP>/ にブラウザでアクセスし、WelcomeでてたらOK
# 以下の設定はおまじないとしてやっておく。
# https://qiita.com/iwai/items/1e29adbdd269380167d2
echo "fs.file-max=200000" >> /etc/sysctl.conf
# https://www.mk-mode.com/blog/2014/04/13/nginx-file-discriptor-limit/
echo "net.ipv4.ip_local_port_range=18000 65535" >> /etc/sysctl.conf
echo "net.ipv4.tcp_tw_reuse=1" >> /etc/sysctl.conf
echo "net.ipv4.ip_dynaddr=1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_rfc1337=1" >> /etc/sysctl.conf
echo "net.ipv4.tcp_fin_timeout=10" >> /etc/sysctl.conf
echo "net.ipv4.tcp_keepalive_probes=5" >> /etc/sysctl.conf
echo "net.ipv4.tcp_slow_start_after_idle=0" >> /etc/sysctl.conf
echo "net.ipv4.tcp_max_syn_backlog=1024" >> /etc/sysctl.conf
echo "net.core.somaxconn=65535" >> /etc/sysctl.conf
sysctl -p
vi /etc/nginx/nginx.conf #以下を設定
events {
multi_accept on;
worker_connections 128;
}
http {
server_tokens off;
}
systemctl enable nginx
systemctl start nginx
#CPUの数だけnginxのworkerプロセスが起動していることを確認しておこう!
LetsEncrypt
apt-get install certbot
#設定はなんの不自由もなくいけたので省略
# cronスクリプトは手動で作ろう。
rm /etc/cron.d/certbot
メールサーバ
#送信サーバ
apt-get install postfix
ufw allow smtp
ufw allow smtps
ufw allow submission
#mailname勝手に入れてくれる・・・すごく楽ね・・・
#設定特につまるところナシ
#受信サーバ
apt-get install dovecot-imapd dovecot-pop3d
ufw allow pop3s
ufw allow imaps
# /etc/postfix/main.cf
# queue_directory = /var/spool/postfix
# この環境においては相対パスになるので
# smtpd_sasl_path = /var/spool/postfix/private/auth
# は間違い
# smtpd_sasl_path = private/auth
# が正解。
# CentOSはフルパス指定で動いたんだけど。
fail2ban
#設定特に詰まるところナシ
apt-get install fail2ban
あとはufwでレートリミットすればだいたいOK