サーバーはさくらインターネットのVPSを利用。
CentOS8のインストール済ゲストOSを選択。
※試用期間はOP25B対応のため実質外部のsmtpと接続できないので要注意。
さくらインターネットのVPSで構築
ここを参考にお申込みください。
CentOS8をインストール
手順は以下参照。
パーティションにこだわりがない人なら石狩リージョン、標準インストールで十分。
SSH認証方式で公開鍵認証を利用する場合は、以下の手順を参照。
事前環境設計
sshd.configの一部をsedで置換し、sshd再起動
公開鍵認証だがデフォルト設定だとパスワードログインもできてしまうため、sshによるパスワードログインを制限。
% sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config
設定を反映。
% service sshd restart
epel,remiを登録
yum,dnfで通常のレポジトリに登録されていない新しいパッケージを取得するためにレポジトリを追加。
% yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
% yum -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
基本コマンドをインストール
screen,nmap,dig,whois,gccなど運用に必要と思われるコマンドをインストール。
この辺りは腕の見せ所好みのわかれるところ。
% yum -y install screen
% yum -y install nmap
% yum -y install hdparm
% yum -y install yum-utils
% yum -y install bind-utils
% yum -y install whois
% yum -y install gcc
% yum -y install ncurses-devel
% yum -y install wget
% yum -y install sysstat
% yum -y install telnet
Python3インストール
なんとデフォルトではpythonがインストールされていなかった。なのでpythonをインストールする。
python3.6とpipとsetuptools?がまとめてインストールされた。
% yum install python3
........
Installed:
python3-pip-9.0.3-18.el8.noarch python3-setuptools-39.2.0-6.el8.noarch python36-3.6.8-2.module_el8.3.0+562+e162826a.x86_64
Complete!
historyのカスタマイズ
以下を参考に作成。
historyコマンド実行したときにタイムスタンプが表示されるよう/etc/profile.d/は以下にスクリプトを作成。
% cat << "_EOF_" > /etc/profile.d/history.sh
# history initialization
HISTTIMEFORMAT='%F %T '
HISTSIZE=100000
HISTFILESIZE=100000
PROMPT_COMMAND='history -a; history -c; history -r'
_EOF_
Postfixインストール
ローカルから直接メールを送付するためのMTAとしてPostfixをインストール。手順は以下を参照。
Postfixインストール
以下の手順でインストール。
% yum -y install postfix
main.cf編集
home_mailbox の設定をMaildir形式にする場合、コメントアウトしただけでは/home/$アカウント配下にメールが格納されないため、明示的に$HOME/Maildir/を指定する必要あり。
% vi /etc/postfix/main.cf
# 95行目:コメント解除しホスト名指定
myhostname = test01.tech-memo.net
# 102行目:コメント解除しドメイン名指定
mydomain = test01.tech-memo.net
# 117行目:コメント解除
myorigin = $myhostname
# 135行目:変更
inet_interfaces = all
# 138行目:IPv4 のみ受け付け
inet_protocols = ipv4
# 183行目: $mydomainを追記
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# 438行目:Maildir 形式へ移行(コメントアウトしただけでは稼働せず)
home_mailbox = $HOME/Maildir/
# 593行目:追記
smtpd_banner = $myhostname ESMTP
# 以下最終行へ追記
# メールボックスサイズを 1G に制限
mailbox_size_limit = 1073741824
hosts編集、デーモン自動起動
不本意ながらhostsの中からIPv6に関する設定をコメントアウト(削除しないとPostfixが起動しなかった)。
% vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
#::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
設定後、デーモンの自動起動の設定と起動を合わせて実施。
% systemctl enable --now postfix
メールコマンドインストール
以下でインストール
% yum -y install mailx
インストール後、テストメールを送付。
% echo "test mail `date +%Y%m%d%H%M`" | mail -s "test" webmaster@test01.tech-memo.net
送付後ログ上でローカルへの配送が完了<status=sent (delivered to mailbox)>し、ユーザーのホームディレクトリに格納されたことを確認。
配送ログ:
May 4 21:25:33 localhost postfix/pickup[30104]: 912853E64B: uid=0 from=<root>
May 4 21:25:33 localhost postfix/cleanup[30110]: 912853E64B: message-id=<20210504122533.912853E64B@test01.tech-memo.net>
May 4 21:25:33 localhost postfix/qmgr[30103]: 912853E64B: from=<root@test01.tech-memo.net>, size=469, nrcpt=1 (queue active)
May 4 21:25:33 localhost postfix/local[30112]: 912853E64B: to=<root@test01.tech-memo.net>, orig_to=<webmaster@test01.tech-memo.net>, relay=local, delay=0.01, delays=0/0/0/0, dsn=2.0.0, status=sent (delivered to maildir)
May 4 21:25:33 localhost postfix/qmgr[30103]: 912853E64B: removed
配送されたファイル:
% ls -la /root/Maildir/new/1620131133.***.sakura.ne.jp
-rw------- 1 root root 588 May 4 21:25 /root/Maildir/new/1620131133.***.sakura.ne.jp
配送されたメールの中身
Return-Path: <root@test01.tech-memo.net>
X-Original-To: webmaster@test01.tech-memo.net
Delivered-To: webmaster@test01.tech-memo.net
Received: by test01.tech-memo.net (Postfix, from userid 0)
id 912853E64B; Tue, 4 May 2021 21:25:33 +0900 (JST)
Date: Tue, 04 May 2021 21:25:33 +0900
To: webmaster@test01.tech-memo.net
Subject: test
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-Id: <20210504122533.912853E64B@test01.tech-memo.net>
From: root <root@test01.tech-memo.net>
test mail 202105042125
メール関連のポートを開放
以下URLからVPSコンパネにログイン。
サーバー>対象サーバー>パケットフィルタリング
を選択し、外部へのメールサービスの通信を開放。
後処理
試用期間終了後に、***@gmail.comなど外部のメールアドレスに対してメール送信の動作確認。
試用期間完了後に実施予定。試用期間完了後にメール送信テスト実施し、正常にメールが到着したことを確認。
※メールがスパム認定されないよう、対象サーバーのIPアドレスでSPFレコードの登録は実施してください。
May 14 16:00:45 tech-memo postfix/pickup[207826]: DE0E4DA04C: uid=0 from=<root>
May 14 16:00:45 tech-memo postfix/cleanup[209066]: DE0E4DA04C: message-id=<20210514070044.DE0E4DA04C@tech-memo.net>
May 14 16:00:45 tech-memo postfix/qmgr[1357]: DE0E4DA04C: from=<root@tech-memo.net>, size=443, nrcpt=1 (queue active)
May 14 16:00:45 tech-memo postfix/smtp[209068]: connect to gmail-smtp-in.l.google.com[2404:6800:4008:c01::1a]:25: Cannot assign requested address
May 14 16:00:47 tech-memo postfix/smtp[209068]: DE0E4DA04C: to=<****@gmail.com>, relay=gmail-smtp-in.l.google.com[108.177.125.26]:25, delay=2.9, delays=0.48/0.04/1.3/1.1, dsn=2.0.0, status=sent (250 2.0.0 OK 1620975647 ay10si6630615plb.402 - gsmtp)
May 14 16:00:47 tech-memo postfix/qmgr[1357]: DE0E4DA04C: removed
slインストール
以下を参考にインストール。
今時sl入れてないサーバーなんて恥ずかしくってお嫁にいけないわ。なのでインストール。
githubに公開してくださった方、ありがとうございました。
% cd /usr/local/src/
% git clone https://github.com/gmkou/sl.git
% cd sl
% make
% cd ../
% mv sl /usr/local
% cd /usr/bin
% ln -s /usr/local/sl/sl ./sl
sl発車
% sl
実行すると以下の汽車が走り出す。
やっぱり汽車。男は黙って汽車。BGMは銀河鉄道999。
SLコマンドはどの仕事でも必須のツールなので各ディストロにもデフォルトでインストールしておいていただきたい。なんならカーネルに組み込んでいただきたい。
コメント