IT pass HikiWiki - [ITPASS2016]qpopper のインストールと設定 Diff
- Added parts are displayed like this.
- Deleted parts are displayed
like this.
{{toc}}
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
= 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 がインストールされていない場合, インストールしておく. ((<参考|URL:http://www.kozupon.pgw.jp/mail/apop.html>))
# 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: (パスワードを入力)
次にメールを chikuwaXX 宛に送った送る.
$ sudo -s
# mail chikuwaXX
Subject: test
aaaaa (CTRL+D)
Cc:
メールがメールスプールにあるかどうかをチェックする.
# ls -l /home/chikuwaXX/Mailbox
-rw------- 1 chikuwaXX chikuwaXX 1503 11月 9 20:59 /home/chikuwaXX/Mailbox
届くことが確認できれば,
別の適当なホストで ITPASS サーバからメールを APOP で受け取れるように設定し, メールが受信できることを確認する.
メールを hoge@stu.kobe-u.ac.jp 宛に送った送る.
$ sudo -s
# mail hoge@stu.kobe-u.ac.jp
Subject: test
aaaaa (CTRL+D)
Cc:
メールが届いていることを確認する.
== 参考文献
* ((<[ITPASS2015] qpopper のインストールと設定>))
* ((<Qpopper|URL:http://www.emaillab.org/djb/qmail-pop/qpopper.html>))
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]
= 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 がインストールされていない場合, インストールしておく. ((<参考|URL:http://www.kozupon.pgw.jp/mail/apop.html>))
# 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: (パスワードを入力)
次にメールを chikuwaXX 宛に
$ sudo -s
# mail chikuwaXX
Subject: test
aaaaa (CTRL+D)
Cc:
メールがメールスプールにあるかどうかをチェックする.
# ls -l /home/chikuwaXX/Mailbox
-rw------- 1 chikuwaXX chikuwaXX 1503 11月 9 20:59 /home/chikuwaXX/Mailbox
届くことが確認できれば,
別の適当なホストで ITPASS サーバからメールを APOP で受け取れるように設定し, メールが受信できることを確認する.
メールを hoge@stu.kobe-u.ac.jp 宛に
$ sudo -s
# mail hoge@stu.kobe-u.ac.jp
Subject: test
aaaaa (CTRL+D)
Cc:
メールが届いていることを確認する.
== 参考文献
* ((<[ITPASS2015] qpopper のインストールと設定>))
* ((<Qpopper|URL:http://www.emaillab.org/djb/qmail-pop/qpopper.html>))
[((<ITPASSサーバ構築・運用ドキュメント>)) へ戻る]