個人的メモ:Raspberry Pi4を元通りにするためのメモ(Dockerいれてネットワーク設定がふっとんだから) その2
その1で OSのインストール、BOOT CONFIGの設定、初期設定(IPアドレスの固定、VNC、SSH、SUパスワードのセット、clam-avのインストール、ufw、NTP、おまじない)、RDP、samba、nginx、Let's Encrypt、SoftEtherの導入が済んだのでつづきをやっていく。
nginxのログローテート
nginxのログは前回の状態だと、worker proccessを動かすユーザの関係上、ログの書き込みが1回ローテートしたら終わってしまうので、なんとかする。
sudo nano /etc/logrotate.d/nginx
で、ログローテーションの設定を開く。末尾に以下を書き足す。
/var/log/nginx/設定したサーバー名/*.log {
daily
missingok
rotate 14
compress
delaycompress
notifempty
create 777 www-data www-data
sharedscripts
prerotate
if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
run-parts /etc/logrotate.d/httpd-prerotate; \
fi \
endscript
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
}
おわったら
sudo systemctl restart nginx
数日たった後ログをチェックして書き込みができていたら、OK
rsyslogのログローテート
rsyslog、標準だと1週間でログローテートするっぽくて、データがクソ巨大になるので、1日でローテーションするようにセットする。
/var/log/syslog
/var/log/mail.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/cron.log
/var/log/rsyslog/(デバイス名)/messages.log <-とんでくるsyslogがある分だけ追記 messages.logは適宜名前変更
{
rotate 30 <- 7->30に変更
daily <- weeklyからdailyに変更
missingok
notifempty
compress
delaycompress
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
かきおわったら、
sudo systemctl restart rsyslog
で反映する。
数日後ログチェックしてローテーションできていればOK
telnetとかいれる
なんだかんだいってつかうのでこの手のツールをいれておく
sudo apt-get install telnet
sudo apt-get install dnsutils
メールサーバの設定
ドメインのDNSの設定
これできてないとまじでなんもできないので注意
mail.自分のドメイン.com A 自分のグローバルIP
自分のドメイン.com MX mail.自分のドメイン.com
mail.自分のドメイン.com TXT v=spf1 ip4:自分のグローバルIP ~all
mail.のドメインの証明書取得
Let's Encryptでサブドメインの証明書をとる。
sudo certbot --nginx --expand -d example.cleared-4-takeoff.com
Postfix、dovecotのインストール
sudo apt-get install postfix dovecot-core dovecot-imapd dovecot-pop3d libsasl2-modules
Postfix、dovecotの設定
書くのだるすぎるので、ここみて
dovecotはまじで簡単。
PostfixはSSLの設定が鬼門なので注意
saslライブラリが必要なのでつっこむ
sudo apt-get install sasl2-bin
設定後のポートチェック
必要なポートがあいているか確認
SSLうまくいくか確認
メール用のユーザの追加
sudo useradd -m -s /sbin/nologin info //ホームディレクトリつくるけど、sshでログインさせない
sudo passwd info //パスワード設定 二回うちこむ
適当な端末からログイン実行
適当な端末にメール設定して、ログインしてみる。
メールのユーザー名は上でつくったユーザー名
imapサーバ、smtpサーバはmail.自分のドメイン.com
他のアカウントからメール送ってみる
つくったサーバからメール送ってみる
でうまくいくかどうかを確認する
メール転送の設定
info@mail.example.comに届くメールを自分のアカウントに転送する設定
sudo nano /etc/aliases
info: 俺のアドレスの@よりも前
sudo newaliases
これでOK。infoのアカウントにはメールが残らない。
残したい場合は転送先のアカウントの前にバックスラッシュをつける。
結局メールは送信できない
とまぁここまでやって、自分のメールアカウントからinfo、infoから自分のアカウントとかはうまく送信できるが、結局自分のメールアカウントとかから、よそのメールサーバへはメールがおくれない OP25Bまじで意味わからん googleとかで転送たのむと自分のドメインからはおくれないという感じなのでサーバーたてる意味あんまないんだよな このあたりまじで難しくて解説らしい解説もぜんぜんないのでまじで困る有識者たすけて
最後に定期的再起動の追加
ここまでやっていちおう完成かとおもいきや、なんとBookworm全然安定して稼働できない 発熱の問題なのかはわからないけど、やや熱い感じはするし、3日か4日くらい連続稼働するとフリーズしてなんもできなくなってるっぽいので、2日にいっぺん再起動するようにcronを仕込んでおく。
再起動なのでrootのcronに仕込む。
0 1 * * 0,2,4 /sbin/reboot
ほぼ二日おき(日、火、木)の深夜1時にrebootコマンドをたたくようにする。
最後にログがでるようにするために、 /etc/rsyslog.confを確認して、
RULES欄の
cron.* -/var/log/cron.log
が、コメントアウトされているかを確認する。
以上おしまい!!!!
これでたぶん自分の想定してるどおり、VPN土台鯖件メールサーバ件HTTPサーバが動くはず……!
うまくいかなかったときは備忘録のためにまた更新します。
この記事が気に入ったらサポートをしてみませんか?