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: 4. 使い方 Up: MADAI Previous: 2. 準備
2023年11月27日