○ ssmtpのインストール 4 Xen

・sendmailに変わるコンパクトな送信専用コマンドです
・root宛のメールを自前のmailサーバに送信する目的で使用します
・ssmtp-2.64をソースからインストールし、設定します
・make はメンテナンスマシンで行っています

・ソースの取得、削除は略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:ssmtp_2.64.orig.tar.bz2 (http://packages.debian.org/sid/ssmtp)

○参照ファイル

パッケージの追加
最初の設定 4 Xen
OpenSSLのインストール 4 Xen

○インストール環境

:OS CentOS 6.9
:selinux disabled
:インストール先  /etc /usr/local/
:作業 ~/src
:言語 LANG=en_US.UTF-8
:ユーザー root

・メンテナンスの場合は一般ユーザから行います



○ssmtp-2.64

○ソースの展開・インストール

・openssl-develを必要とします

# cd ~/src
[root@earth:~/src]
# tar jxf ssmtp_2.64.orig.tar.bz2
# chown -R root:root ssmtp-2.64
# cd ssmtp-2.64
[root@earth:~/src/ssmtp-2.64]

・MAXSYSUIDの修正(下記参照)

# vi ssmtp.h

# ./configure --sysconfdir=/etc --localstatedir=/var \
--enable-ssl --enable-md5auth

# make
# make install
・・・・・・・・・・・・・・・・・・・・・・・
Mail name [venus.528p.com]:← そのままenterキー
Please enter the SMTP port number [25]:← そのままenterキー
・・・・・・・・・・・・・・・・・・・・・・・

・マニュアルをコピーします
・ディレクトリが存在しない場合、作成します

# mkdir -p /usr/local/man/{man5,man8}
# cp -a ssmtp.conf.5 /usr/local/man/man5
# cp -a ssmtp.8 /usr/local/man/man8

# cd ~/src
[root@earth:~/src]
# tar jcf ssmtp-2.64-160530.tar.bz2 ssmtp-2.64/

・"MAXSYSUID"をCentOSのsystemユーザのIDに合わせます ( < 500 )
・ー部分 を +部分 にエディタで修正します(ー+は書き込まない)

:ssmtp-2.64/ssmtp.h

--- ssmtp.h.orig        2008-03-07 06:56:20.000000000 +0900
+++ ssmtp.h     2010-12-14 09:46:23.000000000 +0900
@@ -12,7 +12,7 @@
 #define MAXWAIT (10 * 60)      /* Maximum wait between commands, in seconds */
 #define MEDWAIT (5 * 60)
 
-#define MAXSYSUID 999          /* Highest UID which is a system account */
+#define MAXSYSUID 499          /* Highest UID which is a system account */
 
 #ifndef _POSIX_ARG_MAX
 #define MAXARGS 4096

○ssmtp.confの修正

:/etc/ssmtp/ssmtp.conf

root=luna@528p.com                # UID<500のユーザ宛のメールの転送先
mailhub=mail.528p.com             # 送信に使うメールサーバ
#rewriteDomain=                   # ドメイン名の指定がない場合に補なうドメイン名
hostname=earth.528p.com           # ホスト名

#FromLineOverride=YES             # メールヘッダのFrom:によって送信者名を決める

#AuthUser=luna                         # SMTP 認証を必要とする場合のユーザ名
#AuthPass=xxxxxxxxxxxx                 # SMTP 認証を必要とする場合のパスワード
#AuthMethod=cram-md5                   # 認証方式に CRAM-MD5 を使用する場合

UseTLS=YES                             # TLS接続を行う
UseSTARTTLS=YES                        # SSL認証の前にEHLO/STARTTLSを行う
#UseTLSCert=YES
#TLSCert=/etc/pki/tls/certs/ssmtp.pem 

○sendmailデーモンの停止

・事前にrpmパッケージをpostfix → sendmailに置き換えています

# cd ~
[root@venus:~]
# service sendmail stop
# chkconfig --del sendmail

○sendmailコマンドの置き換え

[root@venus:~]
# cd /usr/sbin
[root@venus:/usr/sbin]
# mv sendmail sendmail-OLD
# ln -s /usr/local/sbin/ssmtp sendmail
# cd /usr/lib
[root@venus:/usr/lib]
# mv sendmail sendmail-OLD
# ln -s /usr/local/sbin/ssmtp sendmail

○ Copyright(c) 528p.com All Rights Reserved.