Yesterday:117 | Today:113 | Total:75758
[ 自宅サーバーWebRing |ID=83 前後5表示乱移動サイト一覧 ]

E-HIRO.NET Web Site..

- Courier-IMAP(3.x.x)の設定 -

Courier-IMAPは、Maildir形式に対応した IMAP/POP3 サーバーで SSL 対応もしているものです。

ここでは、最新バージョンのソースファイルをこちらからダウンロードしてきて、付属のSPECファイルを編集し RPM ファイルを作成していきます。
なお、Courier-IMAP は RPM ファイル作成までを一般ユーザーで行なう必要があります。

作業ディレクトリへ移動します。
# cd /usr/src/redhat/SOURCES
courier-imapダウンロードし展開します。
# wget http://optusnet.dl.sourceforge.net/sourceforge/courier/courier-imap-3.0.8.tar.bz2
# tar -jxf courier-imap-3.0.8.tar.bz2
RPMファイル作成までは一般ユーザーの権限で行なう必要があるため、
/usr/src/redhat ディレクトリ以下の実行権限を user に与えます。
後で権限をrootに戻してください。
※ /usr/src/redhat 以下の実行権限を
  持つ専用のユーザーを作成した方が後々楽なのかもしれませんが・・・(汗)
# chown -R user /usr/src/redhat

RPMファイルの作成
su コマンドでuser に変更します。
# su - user
先程展開したディレクトリに移動します。
$ cd /usr/src/redhat/SOURCES/courier-imap-3.0.8
specファイルを/usr/src/redhat/SPECSにコピーします。
$ cp courier-imap.spec /usr/src/redhat/SPECS
$ cd ../../SPECS

specファイルを編集します。
specファイルとは、RPMファイルを作成する際、rpmbuildコマンドで読み込まれるファイルです。
この中でconfigureオプションなども設定しています。
$ vi courier-imap.spec
:set numberで、行番号を表示できます
#  RH 7.0 resets sysconfdir & mandir, put them back where they belong

53   %define _sysconfdir %{_prefix}/etc
54   #%define_mandir %{_prefix}/man
55   %define _mandir /usr/share/man
56
57   #%define_prefix /usr/lib/courier-imap
58   %define _prefix /etc/courier-imap

124  %define xflags --enable-unicode=iso-2022-jp,iso-8859-1,utf-8

127  %configure \
128  --with-redhat --with-authdaemonvar=%{authdaemondir} \
129  %{?xflags: %{xflags}}

左端の数字は行番号です。(上記は変更後のものです)
53      : _sysconfdirは設定ファイルのディレクトリです。
54      : 注釈にします。
55      : _mandirはマニュアルがインストールされるディレクトリです。
57      : _prefixはインストールルートディレクトリです。
58      : 日本語環境を可能にするため、iso-2022-jpを追加しました。
127-129 : configureのオプションの設定です。参考に記しておきました。私は特に変更してません。

rpmbuildコマンドによりRPMファイルを作成します。
$ rpmbuild -ba courier-imap.spec
エラー: Failed build dependencies:
        postgresql-devel is needed by courier-imap-3.0.8-1.9
        mysql-devel is needed by courier-imap-3.0.8-1.9
        openldap-servers is needed by courier-imap-3.0.8-1.9
courier-imapの依存性により失敗しました。
必要だと明記されているパッケージをapt-getコマンドを使用して、インストールしていきます。
なお、apt-getコマンドの実行権限はrootユーザーです。

rootユーザーに変更しapt-getにより各パッケージをインストールしてください。
$ su
# apt-get update
# apt-get -y install postgresql-devel
# apt-get -y install mysql-devel
# apt-get -y install openldap-servers

また、userに変更しrpmbuildコマンドを実行してください。
# su - user
$ rpmbuild -ba courier-imap.spec
/usr/src/redhat/RPMS/i386ディレクトリ内に各RPMファイルが作成されます。

lsコマンドにより実際にファイルが作成されているか確認してみてください。
作成されたファイルは以下のものになります。
$ ls /usr/src/redhat/RPMS/i386
courier-imap-3.0.8-1.9.i386.rpm
courier-imap-debuginfo-3.0.8-1.9.i386.rpm
courier-imap-ldap-3.0.8-1.9.i386.rpm
courier-imap-mysql-3.0.8-1.9.i386.rpm
courier-imap-pgsql-3.0.8-1.9.i386.rpm


Courier-IMAPのインストール & 設定
rpmファイルが作成されたディレクトリに移動します。
# cd /usr/src/redhat/RPMS/i386
courier-imapのインストール
# rpm -Uhv courier-imap-3.0.8-1.9.i386.rpm
        file /etc/pam.d/imap from install of courier-imap-3.0.8-1.9 conflicts with file 
        from package imap-2001a-18
デフォルトでインストールされているIMAPサーバーが存在するためインストールに失敗しました。
アンインストールします。
# rpm -e imap
これで、courier-imapをインストールすることができます。インストールしてください。

courier-imapの設定
上記で、/etc/courier-imapディレクトリ以下にインストールされるようにRPMファイルを作成しました。
デフォルトのままであれば、設定ファイル群は/usr/lib/courier-imapディレクトリ以下に
作成されているはずです。
設定ファイルがあるディレクトリに移動します。
# cd /etc/courier-imap/etc

以下は各ファイルの編集箇所のみを示しています。
私が構築したいのは、IMAPサーバーのみなので、pop3サーバーは起動しないように設定します。
# vi pop3d
POP3DSTART=NO

# vi pop3d-ssl
POP3DSSLSTART=NO

# vi imapd
IMAPDSTART=YES
デフォルトのままで特に何も変更していません。

# vi imapd-ssl
IMAPDSSLSTART=YES
TLS_CERTFILE=/usr/local/certs/mail.pem
SSL化のための鍵作成で作成したファイルを指定してください。

メールBOXの作成
各ユーザー毎に行なってください。
$ /etc/courier-imap/bin/maildirmake /home/User/Maildir

courier-imapの実行コマンドにパスが通るように設定しました。
# vi ~/.bashrc
PATH=$PATH:/etc/courier-imap/bin
export PATH
# source ~/.bashrc
以降では、maildirmakeのみで実行できます。

Maildirの自動生成
新規ユーザー作成時に自動的にMaildirが作成されるよう/etc/skelに作成しておきます。
# maildirmake /etc/skel/Maildir

起動スクリプトの修正
デフォルトの状態だと初回起動時にダミーのSSL証明書を作成してしまいます。
ですので、以下のように注釈(#)にしてください。IMAP用とPOP3用の2箇所あります。
# vi /etc/rc.d/init.d/courier-imap
.....(略)
                # First time we start this, generate a dummy SSL certificate.

#                       if test ! -f $TLS_CERTFILE
#                       then
#                               echo -n " generating-SSL-certificate..."
#                               /etc/courier-imap/share/mkimapdcert >/dev/null 2
>&1
#                       fi
                        /etc/courier-imap/libexec/imapd-ssl.rc start
.....(略)

                # First time we start this, generate a dummy SSL certificate.

#                       if test ! -f $TLS_CERTFILE
#                       then
#                               echo -n " generating-SSL-certificate..."
#                               /etc/courier-imap/share/mkpop3dcert >/dev/null 2
>&1
#                       fi
                        /etc/courier-imap/libexec/pop3d-ssl.rc start
.....(略)

Courier-IMAPの起動
# /etc/rc.d/init.d/courier-imap start

自動起動の設定
自動起動がオンになっているか確認します。
私の環境ではインストール時にオンになっていましたが、オフの場合はオンにしてください。
# chkconfig --list courier-imap
自動起動をオンにします。システム起動時に自動的に起動します。
# chkconfig courier-imap on
			
Menu
Copyright © 2004-2005 E-HIRO.NET. All Rights Reserved.