オープンソース

next up previous contents
Next: 4. 使い方 Up: MADAI Previous: 2. 準備


3. インストール

3.1 MADAIの入手と展開

MADAIソフトウェアは、MADAIプロジェクトのダウンロードページから入手することができます。

https://github.com/designet-inc-oss/MADAI

MADAIソフトウェアをダウンロードしたら、圧縮されたアーカイブファイルを展開します。

$ tar xvzf MADAI-version.tar.gz

MADAIソフトウェアのインストール
$ cd MADAI-version
$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
:
config.status: executing depfiles commands
$ make
make all-recursive
:

$ su
Password:
# make install

上記コンパイルオプションにて実行した場合、MADAIの本体は/usr/local/binにインストールされます。
必要なソフトウェア(2.1節参照)のライブラリ・ヘッダファイルが規定の場所(/usr/lib、/usr/include)に無い場合、configureオプションで指定する必要があります。

3.2 MADAIの環境設定

MADAIインストール時に、MADAIの設定ファイルのサンプルが以下のように配置されます。
/etc/madai/madai.conf.default

3.2.1 環境設定ファイル(madai.conf)

MADAIの環境設定を行います。 3.1節の方法でインストールした場合、環境設定ファイルのサンプル(madai.conf.default)が/etc/madai/にインストールされます。環境に合わせて編集し、環境設定ファイル(madai.conf)を作成する必要があります。
各項目の詳細は5.1節を参照してください。

madai.confの設定例
SyslogFacility=local1
ListenIP=127.0.0.1
ListenPort=20026
MilterTimeout=120
HeloDomain=example.com
CopyServerIP=192.168.1.1
CopyPort=25
CopyMailTimeout=30

3.3 メールサーバの設定

メールをMADAIに渡すため、メールサーバの設定を行う必要があります。
milterアプリケーションで使用するIPとポートは環境設定ファイルのListenIP、 ListenPortで指定した値にあわせて設定してください。

3.3.1 メールサーバがPostfixの場合の設定

メールサーバがPostfixの場合、設定はmain.cfファイルで行います。
下記の例は、MADAIが127.0.0.1:20026(ListenIP=127.0.0.1、ListenPort=20026と設定) でListenしている場合の設定です。 また、MADAIと通信できなかったときに一時エラーを返すように設定しています。

main.cfの設定例
smtpd_milters=inet:127.0.0.1:20026
milter_default_action = accept
milter_connect_timeout = 300s
milter_content_timeout = 300s

smtpd_miltersはmilterとの接続方法を設定します。
milter_default_actionはMADAIとの通信に失敗した場合の動作設定です。 以下の3つの値を設定することができます。

tempfail(一時エラーにする)
accept(メールを通過させる)
reject(メールを拒否する)

milter_connect_timeoutはconnect_callbackに対するタイムアウト時間の設定です。
milter_content_timeoutはheader_callback、eoh_callback、body_callback、 eom_callbackのタイムアウト時間の設定です。

最後にPostfixを再起動し、設定を反映させます。

Postfixの再起動(CentOS7の場合)
$ su
# systemctl reload postfix.service

3.4 ログ設定

MADAIのログを出力するにはrsyslogの設定が必要です。 環境設定ファイルのSyslogFacilityで指定した値にあわせて設定してください。
下記の例は、local1のファシリティを/var/log/madai.logに出力するためのrsyslogの設定です。

/etc/rsyslog.confの設定例
# MADAI Log
local1.* /var/log/madai.log

最後にrsyslogを再起動し、設定を反映させます。

rsyslogの再起動(CentOS7の場合)
$ su
# systemctl reload rsyslog.service

3.5 MADAIの起動

全ての設定が完了した後、MADAIを起動します。 MADAIは、以下のコマンドで起動します。

madai [-f configfile]

引数には環境設定ファイルを指定することができます。環境設定ファイルの引数を省略するとデフォルト値(/etc/madai/madai.conf)が読み込まれます。

3.5.1 systemdからの起動

下記の例は、MADAIをsystemdから起動する設定です。
systemdの設定ファイルを作成します。

/usr/lib/systemd/system/madai.serviceの設定例
[Unit]
Description=MADAI (Mail Duplicator at Inbound)

[Service]
ExecStart=/usr/local/bin/madai
Restart=always

[Install]
WantedBy=multi-user.target


next up previous contents
Next: 4. 使い方 Up: MADAI Previous: 2. 準備

2023年11月27日