○ bincimapのインストール

・Maildir形式のimapサーバを構築します
・bincimap-1.3.4をソースからインストールし、設定します
・checkpassword-pam-0.99でパスワードをチェックします

・新規インストールした opensslを使います
・ソースの取得、削除は略します
・エディタ、ファイラーの操作は省略します
・ソースを展開したら説明文 (英文) を読みましょう
・Enterキーを省略します

・ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
・設定ファイルで "#" で始まる行はコメントとして解釈されます

○関連サイト

:checkpassword-pam-0.99.tar.gz  (http://checkpasswd-pam.sourceforge.net/)
:bincimap-1.3.4.tar.bz2 (http://www.bincimap.org/)

○参照ファイル

パッケージの追加
最初の設定 (Xen)
opensslのインストール

○インストール環境

:OS CentOS 4.4
:selinux disabled or permissive
:インストール先  /etc /usr/local/
:作業 /usr/src
:言語 LANG=en_US.UTF-8
:ユーザー root

・メンテナンスの場合は一般ユーザから行います

○メール専用ユーザ仮設定

:root代行ユーザ luna
:一般ユーザ star,starlight
:web管理者用ユーザ moon,moonlight



○checkpassword-pam-0.99

・bincimapにパスワードチェック機能がないのでcheckpassword-pamを使います

○ソースの展開・インストール

# cd /usr/src
[root@jupiter:/usr/src]
# tar zxvf checkpassword-pam-0.99.tar.gz
# chown -R root:root checkpassword-pam-0.99
# cd checkpassword-pam-0.99
[root@jupiter:/usr/src/checkpassword-pam-0.99]
# ./configure CFLAGS="-O2 -march=pentium3"

・CFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・該当しない場合は指定しない

# make
# make install
# cd /usr/src
[root@jupiter:/usr/src]
# tar jcvf checkpassword-pam-0.99-061007.tar.bz2 checkpassword-pam-0.99/

○pamファイルの作成

:/etc/pam.d/imap

#%PAM-1.0
auth       required     pam_stack.so service=system-auth
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth



○bincimap-1.3.4

○ソースの展開・インストール

# cd /usr/src
[root@jupiter:/usr/src]
# tar jxvf bincimap-1.3.4.tar.bz2
# chown -R root:root bincimap-1.3.4
# cd bincimap-1.3.4
[root@jupiter:/usr/src/bincimap-1.3.4]

・パッチを当てます -下記参照

# patch -p1 < ../bincimap-writecache.patch
# ./configure CXXFLAGS="-O2 -march=pentium3" \
--with-openssl-lib=/usr/local/lib \
--with-openssl-include=/usr/local/include

・XXFLAGS="-O2 -march=pentium3" (CPU最適化オプション)
・該当しない場合は指定しない
・opensslの指定はソースから入れた場合です
・オプションは半角を入れて続けて記入した方が良い

# make
# make install
# cd /usr/src
[root@jupiter:/usr/src]
# tar jcvf bincimap-1.3.4-061007.tar.bz2 bincimap-1.3.4/

bincimap-writecache.patch

・#include <errno.h>を追加します

○コンフィグファイルbincimap-configの修正 (追加変更分)

:/usr/local/etc/bincimap-config ( root root 755 )

・ログはsyslogのLOCAL1ファシリティに出力します
・SSL認証を使う設定にしています
・pem fileに証明書の場所を指定して下さい
・証明書の作成は 認証局と証明書の発行 を参照してください

・省略

#ALLOW_NONSSL_PLAINTEXT_LOGINS=yes # set to allow unsafe authentication
#VERBOSE_GREETING=yes              # set to display a verbose greeting
LOG_TYPE=syslog                    # syslog or multilog (=stderr)
SYSLOG_FACILITY=LOG_LOCAL1
IP_VARIABLE=TCPREMOTEIP            # variable containing client IP
DEPOT=Maildir++                    # IMAPdir or Maildir++
#DELIMITER="."                     # uncomment to use '.' as a delimiter

START_IN_SSL_MODE=yes              # start the server in SSL mode
SSL_CERTIFICATE_FILE=/etc/ssl/certs/mail-cert.pem
SSL_PRIVATE_KEY_FILE=/etc/ssl/private/mail-key.pem
SSL_CA_FILE=                       # your CA (Certificate Authority) file
SSL_CA_PATH=                       # your CA bundle path
SSL_CIPHERS="!ADH:RC4+RSA:HIGH:MEDIUM:LOW:EXP:+SSLv2:+EXP"
#SSL_VERIFY_CLIENT=yes

#PROTOCOLDUMP=1                    # set to generate protocol dumps

・省略


○起動ファイルの修正 (追加変更分)

・bincimapはxinetdで起動します
・server_argsは一行で既述します
・xinetdによるimapの接続ログはsyslogのauthprivファシリティに出力します

:/usr/local/etc/xinetd-bincimap

# $Id: xinetd-bincimap.in,v 1.1.1.1 2003/08/18 18:06:05 andreaha Exp $
# default: on
# description: Binc IMAP
service imap
{
    disable        = yes
    flags          = NOLIBWRAP
    socket_type    = stream
    wait           = no
    user           = root
    group          = root
    instances      = UNLIMITED
    server         = /usr/local/etc/bincimap-config
    server_args    = /usr/local/bin/bincimap-up
                     -- /usr/local/bin/checkpassword-pam -s imap
                     /usr/local/etc/bincimap-localconfig
                     /usr/local/bin/bincimapd Maildir
#   log_type       = SYSLOG daemon info
}

:/usr/local/etc/xinetd-bincimaps

# $Id: xinetd-bincimaps.in,v 1.1.1.1 2003/08/18 18:06:05 andreaha Exp $
# default: on
# description: Binc IMAP, SSL
service imaps
{
    disable        = no
    flags          = NOLIBWRAP
    socket_type    = stream
    wait           = no
    user           = root
    group          = root
    instances      = UNLIMITED
    server         = /usr/local/etc/bincimap-config
    server_args    = /usr/local/bin/bincimap-up --enable-ssl
                     -- /usr/local/bin/checkpassword-pam -s imap
                     /usr/local/etc/bincimap-localconfig
                     /usr/local/bin/bincimapd Maildir
#   log_type       = SYSLOG daemon info
}

・/etc/xinetd.dにリンクをつくります

# cd ~
[root@jupiter:~]
# ln -s /usr/local/etc/xinetd-bincimap /etc/xinetd.d/bincimap
# ln -s /usr/local/etc/xinetd-bincimaps /etc/xinetd.d/bincimaps

○selinuxヘの対応 (selinuxが有効の場合)

:新規インストールファイルのselinuxラベルを修正

[root@jupiter:~]
# restorecon -R /etc
# restorecon -R /usr/local

○xinetdの再起動

[root@jupiter:~]
# service xinetd restart

・起動の確認

# netstat -lnp | grep 993



○bincimapログファイル

○syslog.confの修正

・LOCALE1に出力されたログを/var/log/bincimap.logに書き込みます
・スペースの入力にはTABを使うこと

:/etc/syslog.conf (変更追加分)

*.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages
local1.*       /var/log/bimap.log

○syslogの再起動

[root@jupiter:~]
# service syslog restart

○bincimapログのローテーション

:/ete/logrotate.d/syslog

/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler \
/var/log/boot.log /var/log/cron/var/log/bimap.log {
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` \
2> /dev/null || true
    endscript
}



○Maildirディレクトリ形式

・postfix、bincimap起動時にMaildirは作成されません
・新規のメッセージをpostfixが受信した時、Maildirが存在しない場合に作成されます
・新しいユーザに対して、mailコマンド等でWelcomeメッセージを送信するか、
・前もって、Maildirディレクトリを作成します

Maildirの作製を参照

○ Copyright(c) 528p.com All Rights Reserved.