とりあえず tcpserver はインストールする。daemontools を使うほどではないかと思ったけど、CentOS では今までのように /etc/rc.d/init.d を書けばいいということではないみたい。
というわけで、消去法で daemontools を稼働させることにした。
tcpserver のインストール
# cd /home/hoge/qmail # wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz # tar xfz ucspi-tcp-0.88.tar.gz # cd ucspi-tcp-0.88 # vi error.h extern int errno; ↓ #include に変更 #make setup check
daemontools のインストール
# cd /home/hoge/daemontools # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # mkdir -p /package # chmod 1755 /package # cd /package/ # tar xfz /usr/local/src/daemontools-0.76.tar.gz # cd /package/admin/daemontools-0.76/ # vi /package/admin/daemontools-0.76/src/error.h --- extern int errno; ↓ #include <errno.h> # package/install
インストールできた!
systemctl で daemontools を動かす
# vi /etc/systemd/system/daemontools.service [Unit] Description=daemontools Start supervise After=getty.target [Service] Type=simple User=root Group=root Restart=always ExecStart=/command/svscanboot /dev/ttyS0 TimeoutSec=0 [Install] WantedBy=multi-user.target
# systemctl enable daemontools # systemctl start daemontools
qmail と tcpserver の実行設定
qmail と tcpserver の実行設定を daemontools 流に書く。
/var/supervise 配下に設定ファイルを書いて、/service 配下で動かすことにした。
# mkdir /var/supervise # mkdir /var/supervise/qmail # mkdir /var/supervise/smtpd
qmail の run ファイル
# vi /var/supervise/qmail/run #!/bin/sh exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Maildir/ splogger qmail
サービスディレクトリにシンボリックリンクを張る。
# ln -s /var/supervise/qmail /service/qmail
# svstat /service/*
でサービスが起動していることをチェック。
tcpserver の run ファイル
vi /var/supervise/smtpd/run #!/bin/sh exec env - PATH="/var/qmail/bin:/sbin:/bin:/usr/sbin:/usr/bin: \ /usr/local/sbin:/usr/local/bin" \ /usr/local/bin/tcpserver -v -x /etc/tcp.smtp.cdb \ -R -H -l0 -u (qmaildのUID) -g (nofilesのGID) 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1
同じく
# svstat /service/*
で smtpd が起動していることをチェック。
おっと、その前に tcp.smtp.cdb を作成。
# vi /etc/tcp.smtp 127.:allow,RELAYCLIENT="" # /usr/local/bon/tcprules /etc/tcp.smtp.cdb /etc.tcp.smtp.tmp < /etc/tcp.smtp
これで動くはず。
(追記)
# firewall-cmd --add-service=smtp success # firewall-cmd --add-service=smtp --permanent success # firewall-cmd --list-services dhcpv6-client http ssh smtp
を忘れずに。
“GMOクラウド(CentOS7)でdaemontoolsとtcpserverを立ち上げる” への2件の返信