IT pass HikiWiki - [Memo2015][ITPASS] 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/>)) でバージョンを確認し, 最新のものをダウンロードした.
バージョン 4.1.0 をダウンロードした.

  # cd /usr/local/src
  # wget ftp://ftp.qualcomm.com/eudora/servers/unix/popper/qpopper4.1.0.tar.gz
  # 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 は 119, GID は 8 となっているが, その部分はインストール時の状況による.

  # vipw

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

ここで,
  you may need to modify /etc/shadow for consistency.
というメッセージが出てきたので, vipw -s コマンドで, pop の行が追加されていることを確認した.

== ビルド

  # ./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 と./popper/Makefile を書き換えた後, make と make install を実行した.

ビルドした.

  # make

うまくいかなかったので原因を調べたところ, gdbm がインストールされていなかったのでインストールした.((<参考|URL:http://www.kozupon.pgw.jp/mail/apop.html>))

  # apt-get install libgdbm-dev
  
./configure 以降の作業を再び行ったところ, うまくいった.


== インストール

  # make install

ここで, /user/local/src/qpopper4.1.0/Makefile の install の項目に, (インストールディレクトリ )/share/man というディレクトリが作成されていることを確認した.  
#インストールディレクトリに share という名のディレクトリが作成されていない場合は share ディレクトリを作成し make install を行う.

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

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

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

  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 chikuwaXX.
  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 440  Nov  3 21:15 Mailbox


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


== 参考文献

* ((<[ITPASS2014] qpopper のインストールと設定>))
* ((<Qpopper|URL:http://www.emaillab.org/djb/qmail-pop/qpopper.html>))


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