[Memo2014][ITPASS] ezmlm のインストールと設定

ezmlm のインストール

ezmlm のソースのダウンロードと展開

  • ezmlm のソースを配布サイト((URL:http://cr.yp.to/ezmlm.html))よりダウンロードし, 展開した.

    # cd /usr/local/src 
    # wget http://cr.yp.to/software/ezmlm-0.53.tar.gz
    # tar xfvz ezmlm-0.53.tar.gz

パッチの取得・適用とビルド

  • <URL:https://itpass.scitec.kobe-u.ac.jp/server/2012/ezmlm/ezmlm-glib-log.patch>で入手したパッチを当てた.

    # wget http://itpass.scitec.kobe-u.ac.jp/~itpass/server/2012/ezmlm/ezmlm-glib-log.patch
    # cd ezmlm-0.53/
    # patch  < ../ezmlm-glib-log.patch
  • バイナリファイルのインストール先はこれまでのやり方にあわせ, /usr/local/ezmlm/bin 以下としたいので, conf-bin を以下のように書き換えた.

    # vi conf-bin
    /usr/local/ezmlm/bin
  • man のインストール先も以下のように変更した.

    # vi conf-man
    /usr/local/ezmlm/man
  • インストール先ディレクトリ /usr/local/ezmlm を作成した.

    # mkdir /usr/local/ezmlm
  • conf-qmail に記述されているディレクトリが qmail がインストールされているディレクトリと一致していることを確認した.

    # cat conf-qmail
    /var/qmail
    
    # ls -F /var/qmail
    alias/  bin/  boot/  control/  doc/  man/  queue/  rc*  users/
  • 確認した後, make でバイナリを, make man でマニュアルをビルドし, make setup でインストールした.

    # make
    # make man
    # make setup

ezmlm の実行ファイルへのパスの設定

  • インストールした ezmlm の実行ファイル群へパスを通した.

ezmlm のマニュアルへのパスの設定

  • /etc/manpath.config に以下の行を追加した.

    MANDATORY_MANPATH                        /usr/local/ezmlm/man
    MANPATH_MAP        /usr/local/ezmlm/bin  /usr/local/ezmlm/man
    MANDB_MAP          /usr/local/ezmlm/man  /usr/local/ezmlm/man

ezmlm のテスト

  • メーリングリスト (ML) を作成した.

    $ mkdir ~chikuwax4/ezmlm-test
    $ ezmlm-make ~chikuwa4/ezmlm-test/testlist ~/.qmail-testlist chikuwa4-testlist tako-itpass.scitec.kobe-u.ac.jp
  • 次に作成した ML に ML 主催者が講読者を追加した.
    • 以降, ログのアドレスの '_at_' は '@' に読み替える.

      $ ezmlm-sub ~chikuwa4/ezmlm-test/testlist chikuwa4_at_tako-itpass.scitec.kobe-u.ac.jp
  • 登録されているアドレスは,

    $ ezmlm-list ~chikuwa4/ezmlm-test/testlist

で一覧されるので, 確認した.

  • 登録が終了した後 ML へ投稿し, 先程登録したアドレスへ届くか確かめた.

    $ echo Subject:Ezmlm_Test | qmail-inject chikuwa4-testlist_at_tako-itpass.scitec.kobe-u.ac.jp
    $ lv ~chikuwa4/Mailbox
  • 次に ML の自動処理コマンドを確かめる. 始めに投稿アーカイブから記事を取り出すコマンドを試し, 記事が送られてくるかを確認した.

    $ qmail-inject chikuwa4-testlist-get.1_at_tako-itpass.scitec.kobe-u.ac.jp < /dev/null
  • 次に ML 参加者による自動登録抹消を試した. Mailbox を確認し, 送られてきたメールに従い, 空メールを返信して登録を抹消した.

    $ qmail-inject chikuwaXX-testlist-unsubscribe_at_tako-itpass.scitec.kobe-u.ac.jp < /dev/null
  • 登録を抹消できたかどうか確認した.

    $ ezmlm-list ~chikuwaXX/ezmlm-test/testlist

ezmlm-idx のインストール

ezmlm-idx のダウンロード

  • バージョン 0.40 の ezmlm-idx をダウンロードした.

    # cd /usr/local/src
    # wget http://web.archive.org/web/20110527170329/http://www.ezmlm.org/archive/0.40/ezmlm-idx-0.40.tar.gz

ezmlm のソースコードへのパッチあて

  • ezmlm-0.53 のソースコードに ezmlm-idx のパッチを当てた.

    # tar xfvz ezmlm-idx-0.40.tar.gz
    # cp -r ezmlm-0.53 ezmlm-0.53-patched_by_idx
    # mv ezmlm-idx-0.40/* ezmlm-0.53-patched_by_idx/
    # rmdir ezmlm-idx-0.40
    # cd ezmlm-0.53-patched_by_idx/
    # patch < idx.patch
  • crontab の場所を確認した.

    $ which crontab
    /usr/bin/crontab
  • 以下のコマンドを実行した.

    $ make clean
    $ make
    $ make man
    $ make jp

インストール前の ezmlm-idx の動作テスト

  • 一時的にユーザ eztest を作成し, ezmlm-idx のコマンドバイナリ群が実行できるか確かめた. また, ezmlm-test を実行する前にezmlm-idx のコマンドバイナリ群にパスが通っているかどうかを確認した.

    # chmod 755 ezmlm-test
    # adduser --uid 50000 eztest
    # su eztest
    
    $ ./ezmlm-test
    
    testing ezmlm-idx:    ezmlm-idx-0.40
    Using FQDN host name: tako-itpass.scitec.kobe-u.ac.jp
    ezmlm-make (1/2):     OK
    Using RDBMS support:  No.
    testing for qmail:    >=1.02
    ezmlm-reject:         OK
    ezmlm-[un|is]sub[n]:  OK
    ezmlm-send (1/2):     OK
    ezmlm-tstdig:         OK
    ezmlm-weed:           OK
    ezmlm-make (2/2):     OK
    ezmlm-clean (1/2):    removed mod queue entry 3 that wasn't due
  • 上記のように正常に実行されることが確認した後に, exit する.

    $ exit

ezmlm-idx のリビルド

  • 以下を実行した.

    # make std
    # make
  • 以下を実行して ezmlm-idx のコマンドバイナリを /usr/local/ezmlm/bin 以

下にコピーした.

# make setup

インストール後の ezmlm-idx の動作テスト

  • インストールされた ezmlm-test を実行し, /usr/local/ezmlm/bin/ 以下のコマンドバイナリ群にパスが通っているか確認した.

    # su eztest $ source /etc/profile $ echo $PATH

    .... /usr/local/ezmlm/bin

    $ cd /usr/local/src/ezmlm-0.53-patched_by_idx $ ./ezmlm-test

    testing ezmlm-idx:    ezmlm-idx-0.40
    Using FQDN host name: tako-itpass.scitec.kobe-u.ac.jp
    ezmlm-make (1/2):     OK
    Using RDBMS support:  No.
    testing for qmail:    >=1.02
    ezmlm-reject:         OK
    ezmlm-[un|is]sub[n]:  OK
    ezmlm-send (1/2):     OK
    ezmlm-tstdig:         OK
    ezmlm-weed:           OK
    ezmlm-make (2/2):     OK
    ezmlm-clean (1/2):    removed mod queue entry 3 that wasn't due

    $ exit # userdel -r eztest

prefix.pl の設置

  • メーリングリストに流れたメールの件名に番号を振るため,

<URL:https://itpass.scitec.kobe-u.ac.jp/server/2012/ml_prefix/prefix.pl> を /usr/local/lib/prefix.pl に置いた.

# wget http://itpass.scitec.kobe-u.ac.jp/server/2012/ml_prefix/prefix.pl
# mv prefix.pl /usr/local/lib
# chown root:root /usr/local/lib/prefix.pl
# chmod 755 /usr/local/lib/prefix.pl

ezmlm の自動送信メールのヘッダの設定修正

  • /usr/local/ezmlm/bin/ezmlmrc の末尾に

    </charset/>
    iso-2022-jp

を追加し, 以下を実行した.

# cd /usr/local/ezmlm/bin
# cp ezmlmrc ezmlmrc.org
# echo \</charset/\> >> ezmlmrc
# echo iso-2022-jp >> ezmlmrc

自動送信メールの日本語化のテスト

  • 先に ezmlm-test というディレクトリは作られているので, ここでは

    $ mkdir ~chikuwa4/ezmlm-test2
    $ ezmlm-make ~chikuwa4/ezmlm-test2/testlist2 ~/.qmail-testlist2 chikuwa4-testlist2 tako-itpass.scitec.kobe-u.ac.jp

とした.

  • testlist2 ディレクトリ内に charset というファイルが作成されており,

    iso-2022-jp

と記述されていることを確認した.

  • iso-2022-jp が二行書かれていたので一行削除した.

    $ ezmlm-sub ~chikuwa4/ezmlm-test2/testlist2 chikuwa4_at_tako-itpass.scitec.kobe-u.ac.jp
  • 適当なメーラー(今回は村上(美)のノートパソコン)からchikuwa4-testlist2-

help_at_tako-itpass.scitec.kobe-u.ac.jp 宛にメールを送り, 日本語のヘルプ メッセージが文字化けすることなく表示されることを確認した.

エラーメールの転送設定

  • 作成したメーリングリストの,
/home/chikuwa4/ezmlm-test/testlist/bouncer

を次のように変更した. ただし, 以降ログにおいて, _at_ はアットマークのこ とを指している.

# vim /home/chikuwa4/ezmlm-test/testlist/bouncer

 &itpadmin_at_itpass.scitec.kobe-u.ac.jp
 |/usr/local/ezmlm/bin/ezmlm-weed
 |/usr/local/ezmlm/bin/ezmlm-return -D '/home/chikuwa4/ezmlm-test/testlist'
  • 設定後, テストを行う. ezmlm-sub を用いて, chikuwa4 のメーリングリストに
$ ezmlm-sub ~chikuwa4/ezmlm-test/testlist 1234567890_at_stu.kobe-u.ac.jp

のような実在しないアドレスを登録したうえで, 適当なメーラーからchikuwa4-testlist_at_tako-itpass.scitec.kobe-u.ac.jp 宛てにメールを送り, エラーメールが管理者にフォワードされていることを確認した.

Last modified:2014/11/20 16:14:28
Keyword(s):
References:[[ITPASS2014]2014年度サーバ構築ログ]