[Memo2008][EPA]tako作業メモ(納多)(080724)
qpopper
メーラーから Mailbox のメールを受け取れないトラブルの解決
メーラーから /home/chikuwa1/Mailbox のメールを受け取れない問題が発生した.
qmail と qpopper の同時運用例を検索してみたところ, 以下のページを見つけた.
それによると, configure に
--enable-home-dir-mail=Mailbox
が必要のようである. configure の help によると, デフォルトのメールスプールファイルは .mail になる.
つまりこの問題の原因は, qpopper が .mail を見に行くため Mailbox にメールがあっても受け取れないことにあるのでは, と考えた.
Mailbox のメールを見に行くよう再設定し, 再インストールを試みる.
# cd /usr/local/src/qpopper4.0.13 # ./configure \ --prefix=/usr/local/qpopper \ # インストール場所 --enable-apop=/usr/local/qpopper/pop.auth \ # APOP の設定ファイルの場所 --enable-popuid=pop \ # qpopper を動作させるユーザ --enable-shy \ # qpopper のバージョン番号を隠蔽 --enable-nonauth-file=/usr/local/qpopper/popusers \ # 接続拒否ユーザを書いたリストの場所 --without-pam \ # POP3 に PAM による認証を行わない --with-gdbm \ # データベースの取り扱いに GDBM を使う --enable-home-dir-mail=Mailbox # ホームにあるメールスプールファイルの名前
以前にやったように, popper/Makefile を 2 箇所書き換え, ビルド, インストールを行う.
# make # make install
APOP データベースの初期化を行う.
# popauth -init
一般ユーザ (ここでは chikuwa1) になって, APOP でメールを受信するよう登録する.
$ popauth Changing only APOP password for mondo1. New password: (パスワードを入力) Retype new password: (パスワードを入力)
改めてメーラーでメールの受信を試みると, メールを受信することができた.
問題は解決した.
EPA サーバ構築ドキュメントにおける qpopper の configure のオプションに --enable-home-dir-mail=Mailbox を追加しておいた.
ezmlm
メーリングリスト管理ソフト ezmlm を導入する.
インストール
入手方法などについては 詳しくは ezmlm 本家サイト を参考のこと.
# cd /usr/local/src # wget http://cr.yp.to/software/ezmlm-0.53.tar.gz # tar zxfv ezmlm-0.53.tar.gz # cd ezmlm-0.53
2.3.1 以降の glibc 上で動くため, というのと log.h を使用するよう, パッチを当てる.
EPA サーバ構築ドキュメントによると 「パッチは ezmlm パッチ から入手する. 」 とあるが, リンク切れであった.
自力で解決を行ってみる.
まず, glibc 2.3.1 以降への対応について, MR-S Cinq [CounterStrike Linux] Linux qmailを参考に以下を行う.
# cp -p error.h error.h.org
error.h の 4 行目を
extern int errno;
から
#include<errno.h>
に書き換える.
次に, log.h を使うために (使わない場合, コンパイルに失敗する), 以下を行う.
- 以下のファイルの include の最後に「#include "log.h"」を追加
- ezmlm-manage.c
- ezmlm-return.c
バイナリファイルのインストール先はこれまでのやり方に合わせ, /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 に記述されているディレクトリが [EPA]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
エラーなく完了.
パスの設定
実行ファイル
インストールした ezmlm の実行ファイル群へパスを通す.
[EPA]パスの設定 の <一般ユーザ用コマンドのパス> に /usr/local/ezmlm/bin を追加する.
マニュアル
/etc/manpath.config に以下の行を追加する. 詳しくは [EPA]パスの設定#man 関連のパスの設定 を参照のこと.
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
Keyword(s):
References:[[EPA2008]2008年度前期サーバ構築ログ] [[Memo2008][EPA]tako作業メモ(納多)(080723)] [[Memo2008][EPA]tako作業メモ(納多)(080731)]