トップページ サービスご案内 お知らせ お申込み お問い合わせ コミュニティ サポート オンラインマニュアル

sendmailのバージョンアップ方法


※この、バージョンアップの作業を行っている間はsendmailが正常に作動しないことがありますのですべての作業が終了するまで"Kill"しておきます。"kill"はスーパーユーザにしか行えませんので、"su"コマンドを実行した後に行います。
スーパーユーザになる方法は
こちらをご覧下さい。


1.手順の概要

ここで解説するのは、基本的に最初からインストールされているものをバージョンアップする方法です。具体的には、

sendmailを停止
Webで最新バージョンの確認
特に問題がなければ弊社ftpサイトからソースファイルを入手
新バージョンをインストール
旧バージョンのsendmail.cfをバックアップ、新しい.cfファイルを作成
sendmail起動

という手順となります。
もし、インストールのみを行いたい場合には、旧設定のコピーやリストアの必要はありません。その場合には、「3-1.旧 sendmail.cf のバックアップ」項は読み飛ばしてください。


2.sendmailをkillする

"killall"コマンドで、sendmailを一旦killします。

# killall sendmail


3.senmailをインストールする


3-1.最新版の確認

最新バージョンを確認します。例えば、次の場所で最新版の情報を入手できます。
http://www.sendmail.org/
今回は、弊社のミラーサイトよりソースファイルを入手することとします。


3-2.ソースファイルのダウンロード

ファイルは、さくらインターネットのftpサーバからダウンロードしていただけます。
●FTPサーバーと目的のディレクトリは ftp://ftp.sakura.ad.jp/pub/sakura/sendmail
です。
●ダウンロードするディレクトリは /usr/local/src/distfiles です。
●目的のファイルは sendmail.8.9.3.tar.gz です。
なおこれらのディレクトリは存在しない場合があります。その場合には、mkdirコマンド(説明はこちら)で作成してください。

以上を踏まえた上で、こちらをご覧下さい。

無事作業が終了すると、/usr/local/src/distfiles/に sendmail.8.9.3.tar.gz というソースファイルがダウンロードされます。


3-3.ソースファイルの解凍

次にソースファイルを解凍します。

# cd /usr/local/src
# tar zxf ./distfiles/sendmail.8.9.3.tar.gz

解凍が終わると、/usr/local/src にソースファイルが展開されます。


3-4.コンパイルとインストール

展開されたディレクトリに移動します。

# cd sendmail.8.9.3

次にコンパイルを実行します。
コンパイルは、C言語で書かれたプログラムを実行する形式に変換することです。

#make
#make install


以上で sendmail はインストールされました。


4.sendmail.cfの作成

4-1.旧 sendmail.cf のバックアップ

設定ミスをしてまったり、起動しなくなってしまった時のために、/etc に sendmail.cf.old としてバックアップをとります。
# mv /etc/sendmail.cf /etc/sendmail.cf.old


4-2.作業用ディレクトリの作成

4-2-1.作業用ディレクトリを作成するディレクトリへ移動
# cd /usr/local/src/sendmail-8.9.3/cf


4-2-2.作業用のディレクトリ「site」を作成
# mkdir site


4-2-3.作成したディレクトリ「site」へ移動
# cd site


4-3. mc ファイルの複製・編集

4-3-1. mc ファイルを sendmail.mc として、コピーします。
# cp ../cf/generic-bsd4.4.mc ./sendmail.mc
※linuxの場合cp ../cf/tcpproto.mc sendmail.mcです


4-3-2.sendmail.mcファイルに「goaway」を追加
vi等のエディターを使い、sendmail.mcファイルを編集します。
# vi sendmail.mc
以下、mc ファイルの一部です

divert(-1)
#
# This is a generic configuration file for 4.4 BSD-based systems,
# including 4.4-Lite, BSDi, NetBSD, and FreeBSD.
# It has support for local and SMTP mail only. If you want to
# customize it, copy it to a name appropriate for your environment
# and do the modifications there.
#

divert(0)dnl
VERSIONID(`@(#)generic-bsd4.4.mc 8.7 (Berkeley) 5/19/1998')
OSTYPE(bsd4.4)dnl
DOMAIN(generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
define(`confPRIVACY_FLAGS',`goaway')

その他のフラグに関してはこちらをご覧ください。


4-4. m4 コマンドを使用して sendmail.cf を作成

4-4-1. mc ファイルから cf ファイルへ変換
sendmail.mcをsendmailが直接読めるような形式(sendmail.cf)へと変換します。
# m4 ../cf/m4/cf.m4 sendmail.mc >sendmail.cf


4-4-2.作成された「sendmail.cf」を/etcへコピー
完成した.cfファイルを本来あるべきディレクトリへとコピーします。
# cp sendmail.cf /etc


4-5.sendmail.cwを修正

sendmail.cwにこのサーバで使いたいドメイン名を記述します。
レンタルサーバー初期設定ですでに/etcの中にcwファイルは作成して設置済みですので特に変更がないようでしたら作成の必要はありません。
修正の必要がある場合は以下を参考に、viなどのエディタを使って、sendmail.cwファイルを修正してください。
# vi sendmail.cw
viエディタ入力モード
abc.ne.jp ← ここにはこのサーバーで使用するドメイン名を入力

これでsendmail.cwの修正ができました。このファイルを/etcへコピーします。

作成した「sendmail.cw」を/etcへコピー
# cp sendmail.cw /etc


4-6.sendmailの起動

sendmailを起動します。
# sendmail -bd -q30m


4-7.動作の確認

sendmailが正常にインストールされ、動作しているかを調べます。
# ps -ax | grep sendmail

psコマンドで出力された結果に、sendmailが含まれていることを確認して、実際にメールを送信します。正常に送信されていれば作業終了です。





(C)Copyright 1996-2000, SRS SAKURA Internet Inc.