[Memo2016][ITPASS]qpopper のインストールと設定

qpopper のインストールと設定

APOP サービスを提供するため, qpopper のインストールと設定を行う.

勉強のためにインストールは行うが, ITPASS サーバを POP サーバとして利用している人は皆無らしいため, 使いたいという人が現れるまで, POP は休止しておく.

ソースコードのダウンロード

<URL:ftp://ftp.qualcomm.com/eudora/servers/unix/popper/> でバージョンを確認したところ, 開発元が公開を終了していたので ika-itpass の /usr/local/src/ 以下からバージョン 4.1.0 をダウンロードし, /usr/local/src に置き,展開した.

# tar zxvf qpopper4.1.0.tar.gz
# cd qpopper4.1.0

qpopper を起動するユーザの作成

qpopper を動作させるためのユーザとして, pop を作成した.

# adduser --system --ingroup mail --no-create-home --shell /bin/false --disabled-password --home /nonexistent pop

passwd ファイルに pop ユーザに関する情報を書き込んだ.下記の例では UID は 125, GID は 8 となっているが, その部分はインストール時の状況による.

# vipw

pop:x:125:8:Post Office Owner:/nonexistent:/bin/false

ここで,

/etc/passwd を変更しました.
整合性を保つために /etc/shadow を変更する必要があるかもしれません.その場合はコマンド 'vipw -s' を使ってください.

というメッセージが出てきたので, vipw -s コマンドで, pop の行が追加されていることを確認した.

ビルド

gdbm がインストールされていない場合, インストールしておく. 参考

# apt-get install libgdbm-dev

すると既にインストールされていることが確認された.次に以下のコマンドを実行した.

# ./configure --prefix=/usr/local/qpopper \
>  --enable-apop=/usr/local/qpopper/pop.auth \
>  --enable-popuid=pop \
>  --enable-shy \
>  --enable-nonauth-file=/usr/local/qpopper/popusers \
>  --without-pam --with-gdbm \
>  --enable-home-dir-mail=Mailbox

APOP のみにしたいため, /usr/local/src/qpopper4.1.0/popper/Makefile を編集し, OS_DEFS の行を以下のように変更した.

OS_DEFS         =    -DLINUX -DUNIX -DAPOP_ONLY

mkdir-sh が qpopper 4.1.0 には含まれていないため

<URL:http://europa.cocolog-nifty.com/space/2011/07/qpopperv410mkdi.html>

を参考にして ./Makefile を

install:
@if [ ! -d ${prefix} ]; then \
# ${base_dir}/mkdir-sh "${prefix}" "0755" "root" ; \ <<--- 削除
mkdir -p -m 0755 ${prefix}; \ <<--- 追加
chown root ${prefix}; \ <<--- 追加
fi

@if [ ! -d ${mandir} ]; then \
# ${base_dir}/mkdir-sh "${mandir}" "0755" "root" ; \ <<--- 削除
mkdir -p -m 0755 ${mandir}; \ <<--- 追加
chown root ${mandir}; \
fi

./popper/Makefile を

install: popper ${pop_auth}
@if [ ! -d ${installdir} ]; then \
# ${base_dir}/mkdir-sh "${installdir}" "0755" "root:wheel" ; \ <<--- 削除
mkdir -p -m 0755 ${installdir}; \ <<--- 追加
chown root:root ${installdir}; \ <<--- 追加
fi

popauth: ${POPAUTHOBJS} ${MISSING_OBJS}
${CC} -o popauth ${POPAUTHOBJS} ${NETWORK_LIBS} \
${DBM_LIBS} ${MISSING_OBJS} \
# ${common_dir}/libcommon.a <<--- 削除
${common_dir}/libcommon.a ${LDFLAGS} <<--- 追加

と書き換えた後, make と make install を実行した.

ビルドした.

# make

インストール

# make install

ここで, /usr/local/qpopper/share/man が作成されていることを確認した.

inetd に登録

# vi /etc/inetd.conf

以下の行を追加した.

pop3    stream  tcp     nowait  root    /usr/local/qpopper/sbin/popper  popper -s

起動

次のコマンドによってinetdを再起動した.

# /etc/init.d/openbsd-inetd restart

インストールした実行ファイルへのパスの設定

インストールした qpopper の実行ファイル群へパスを通す. [ITPASS2015]パスの設定 <一般ユーザ用コマンドのパス> /usr/local/qpopper/sbin を追加した. (大抵, sbin はシステム用コマンドがインストールされる場所であるが, 一般ユーザが使用する pop_auth もインストールされているため, 一般ユーザ用コマンドのパスとして登録する).

インストールしたマニュアルへのパスの設定

/etc/manpath.config に以下の行を追加した. 詳しくは [ITPASS2015]パスの設定 を参照のこと.

MANDATORY_MANPATH                           /usr/local/qpopper/share/man
MANPATH_MAP        /usr/local/qpopper/sbin  /usr/local/qpopper/share/man
MANDB_MAP          /usr/local/qpopper/share/man   /usr/local/qpopper/share/man

動作チェック

まず APOP で使用するパスワードを設定する. ここではユーザを chikuwaXX とした. ここで入力するパスワードはログインパスワードと異なっていてもよい.

$ popauth
Adding only APOP password for chikuwa5.
New password: (パスワードを入力)
Retype new password: (パスワードを入力)

次にメールを chikuwa5 宛に送った.

$ sudo -s
# mail chikuwa5
Subject: test
aaaaa (CTRL+D)
Cc: 

メールがメールスプールにあるかどうかをチェックした.

# ls -l /home/chikuwa5/Mailbox
-rw------- 1 chikuwa5 chikuwa5 1503 11月  9 20:59 /home/chikuwa5/Mailbox

届くことが確認できれば, 別の適当なホストで ITPASS サーバからメールを APOP で受け取れるように設定し, メールが受信できることを確認する.

メールを hoge@stu.kobe-u.ac.jp 宛に送った.

$ sudo -s
# mail hoge@stu.kobe-u.ac.jp
Subject: test
aaaaa (CTRL+D)
Cc: 

メールが届いていることが確認された.

参考文献

[ITPASSサーバ構築・運用ドキュメント へ戻る]

Last modified:2016/11/09 21:08:02
Keyword(s):
References:[[ITPASS2016]2016年度サーバ構築ログ]