最近、CentOS 5でSendmailバージョン8.13を最新バージョン8.15にアップグレードする必要がありました。LinuxマシンでSendmailをアップグレードすることを計画している場合は、次の方法でアップグレードできます。
まず、Sendmailの公式ウェブサイトから最新バージョン(この記事の執筆時点では8.15)をダウンロードする必要があります。
ステップ1:既存のsendmailバイナリファイルと構成ファイルをバックアップします
何よりもまず、以下に示すように、現在のsendmail構成ファイル、起動スクリプト、sendmailバイナリ、エイリアス、エイリアスデータベース、およびドメインエイリアス(存在する場合)をバックアップします。
[root@mailserver]#cp /usr/sbin/sendmail /usr/sbin/sendmail.old (daemon)
[root@mailserver]#cp /etc/aliases /etc/aliases.old (aliases file)
[root@mailserver]#cp /etc/aliases.db /etc/aliases.db.old (aliases database file)
[root@mailserver]#cp /etc/sendmail.cf /etc/sendmail.cf.old (configuration file)
[root@mailserver]#cp /etc/sendmail.mc /etc/sendmail.mc.old (configuration file)
[root@mailserver]#cp /etc/sendmail.cw /etc/sendmail.cw.old (domain aliases - if any)
[root@mailserver]#cp /etc/rc.d/sendmail /etc/rc.d/sendmail.old (startup script)
注: Sendmailのバイナリの場所は、オペレーティングシステムによって異なりますが、通常は/ usr/sbinまたは/usr/libにあります。
ステップ2:既存のSendmailデーモンを停止する
起動スクリプトを使用して、sendmailデーモンを停止します。
[root@mailserver]# /etc/init.d/sendmail stop
[or]
[root@mailserver]# service sendmail stop
ステップ3:sendmail.orgとuntarから最新のソースを取得します。
[root@mailserver]# wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.15.1.tar.gz
[root@mailserver]# gzip -cd bind-9.1.1.tar.gz | tar xvf -
[root@mailserver]# cd sendmail-8.15.1/
[root@mailserver sendmail-8.15.1]#
ステップ4:利用可能なビルドスクリプトを使用してソースをコンパイルします
sendmail-8.15.1から ディレクトリで、「 sh./Build」を実行します 」を使用してソースをコンパイルします。
[root@mailserver sendmail-8.15.1]# sh ./Build
ステップ5:新しいSendmail構成ファイルを作成する
既存の構成を使用する場合は、手順6に進みます。それ以外の場合は、続行します。
m4マクロプロセッサを使用してSendmail.cfを作成し、/ etc /mail/にコピーします
cf / cf /から ディレクトリ、 .mcのいずれかをコピーします ファイルは、システムに最もよく一致します。 sendmail.mc 。次に、 cf / README で説明されているように、それに応じて変更します。 。
[root@mailserver sendmail-8.15.1]# cd cf/cf
[root@mailserver cf]# cp generic-linux.mc sendmail.mc
以下のコマンドを実行して、m4マクロプロセッサを使用して新しいsendmail.cfを作成します。
[root@mailserver cf]#m4 ../m4/m4.cf sendmail.mc > sendmail.cf
[または]
[root@mailserver cf]# sh ./Build sendmail.cf Using M4=/usr/bin/m4 make: `sendmail.cf' is up to date. [root@mailserver cf]#
次に、生成された sendmail.cfをコピーします /etc/mail/sendmail.cfへ
[root@mailserver cf]# cp sendmail.cf /etc/mail/sendmail.cf
ステップ6:既存のSendmail構成を使用する
/etc/mail/sendmail.mcをコピーします sendmailソースへのファイルcf ディレクトリ。
[root@mailserver cf]# cp /etc/mail/sendmail.mc sendmail.mc
sendmail.cfを作成します 既存のsendmail.mcを使用する 以下に示す構成:
[root@mailserver cf]#m4 ../m4/m4.cf sendmail.mc > sendmail.cf
[または]
[root@mailserver cf]# sh ./Build sendmail.cf Using M4=/usr/bin/m4 make: `sendmail.cf' is up to date. [root@mailserver cf]#
次に、生成された sendmail.cfをコピーします /etc/mail/sendmail.cfへ
[root@mailserver cf]# cp sendmail.cf /etc/mail/sendmail.cf
ステップ7:Sendmailバイナリをインストールする
手順4で作成したバイナリをインストールします。これにより、バイナリが / usr / sbinにインストールされます。 、およびマニュアルページもインストールします。
[root@mailserver sendmail-8.15.1]#sh ./Build install
ステップ8:エイリアスデータベースを更新する
aliases.dbを更新します newaliasesを実行してファイルを作成します
[root@mailserver sendmail-8.15.1]# newaliases
/etc/aliases: 102 aliases, longest 121 bytes, 3517 bytes total
ステップ9:Sendmailデーモンを開始します
以下に示すようにsendmailデーモンを起動します:
[root@mailserver sendmail-8.15.1]# /etc/init.d/sendmail start
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
ステップ10:Sendmailのバージョンを確認する
以下に示すtelnetコマンドを使用して、更新されたSendmailのバージョンを確認します。
[root@mailserver sendmail-8.15.1]# telnet 0 25
Trying 0.0.0.0...
Connected to 0 (0.0.0.0).
Escape character is '^]'.
220 mailserver ESMTP Sendmail 8.15.1/8.15.1; Thu, 25 Jun 2015 13:43:25 +0530