Cyrus IMAP 2.3.16

ソースコードの中でSolarisのSASLライブラリでは実装されていない関数を使っ ているので、CyrusのSASLライブラリをリンクします。

パッチ

以下のパッチを適用します。

diff -ur cyrus-imapd-2.3.16.orig/configure cyrus-imapd-2.3.16/configure
--- cyrus-imapd-2.3.16.orig/configure	2009-12-21 22:17:55.000000000 +0900
+++ cyrus-imapd-2.3.16/configure	2010-02-27 16:38:15.000000000 +0900
@@ -20287,13 +20287,13 @@
 if test "x$ac_cv_func_MD5Init" = x""yes; then
   :
 else
-  { $as_echo "$as_me:$LINENO: checking for MD5Init in -lmd" >&5
-$as_echo_n "checking for MD5Init in -lmd... " >&6; }
+  { $as_echo "$as_me:$LINENO: checking for MD5Init in -lmd5" >&5
+$as_echo_n "checking for MD5Init in -lmd5... " >&6; }
 if test "${ac_cv_lib_md_MD5Init+set}" = set; then
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmd  $LIBS"
+LIBS="-lmd5  $LIBS"
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -20353,7 +20353,7 @@
 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_md_MD5Init" >&5
 $as_echo "$ac_cv_lib_md_MD5Init" >&6; }
 if test "x$ac_cv_lib_md_MD5Init" = x""yes; then
-  LIBS="${LIBS} -lmd"
+  LIBS="${LIBS} -lmd5"
 else
   MD5OBJ="md5.o"
 fi
diff -ur cyrus-imapd-2.3.16.orig/configure.in cyrus-imapd-2.3.16/configure.in
--- cyrus-imapd-2.3.16.orig/configure.in	2009-12-21 22:09:10.000000000 +0900
+++ cyrus-imapd-2.3.16/configure.in	2010-02-27 14:19:11.973296291 +0900
@@ -1171,7 +1171,7 @@
 
 dnl Check for MD5 functions
 AC_FUNC_CHECK(MD5Init,,
-       AC_CHECK_LIB(md, MD5Init, LIBS="${LIBS} -lmd",
+       AC_CHECK_LIB(md, MD5Init, LIBS="${LIBS} -lmd5",
                     MD5OBJ="md5.o"))
 AC_SUBST(MD5OBJ)
 
diff -ur cyrus-imapd-2.3.16.orig/imap/Makefile.in cyrus-imapd-2.3.16/imap/Makefile.in
--- cyrus-imapd-2.3.16.orig/imap/Makefile.in	2009-03-31 01:04:56.000000000 +0900
+++ cyrus-imapd-2.3.16/imap/Makefile.in	2010-02-27 14:21:46.724759315 +0900
@@ -70,7 +70,7 @@
 DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
 
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@ @COM_ERR_LDFLAGS@ 
+LDFLAGS = $(CFLAGS) @LDFLAGS@ @COM_ERR_LDFLAGS@ 
 
 SHELL = /bin/sh
 MAKEDEPEND = @MAKEDEPEND@
diff -ur cyrus-imapd-2.3.16.orig/imtest/Makefile.in cyrus-imapd-2.3.16/imtest/Makefile.in
--- cyrus-imapd-2.3.16.orig/imtest/Makefile.in	2008-03-25 03:55:59.000000000 +0900
+++ cyrus-imapd-2.3.16/imtest/Makefile.in	2010-02-27 14:22:35.965224943 +0900
@@ -58,7 +58,7 @@
 DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@
 
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@ @COM_ERR_LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@ @COM_ERR_LDFLAGS@
 
 SHELL = /bin/sh
 MAKEDEPEND = @MAKEDEPEND@
diff -ur cyrus-imapd-2.3.16.orig/lib/Makefile.in cyrus-imapd-2.3.16/lib/Makefile.in
--- cyrus-imapd-2.3.16.orig/lib/Makefile.in	2009-11-20 06:52:55.000000000 +0900
+++ cyrus-imapd-2.3.16/lib/Makefile.in	2010-02-27 14:23:04.614926179 +0900
@@ -64,7 +64,7 @@
 
 MAKEDEPEND_CFLAGS = @CFLAGS@
 CFLAGS = @CFLAGS@ @PERL_CCCDLFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 SHELL = /bin/sh
 MAKEDEPEND = @MAKEDEPEND@
diff -ur cyrus-imapd-2.3.16.orig/master/Makefile.in cyrus-imapd-2.3.16/master/Makefile.in
--- cyrus-imapd-2.3.16.orig/master/Makefile.in	2008-03-25 02:47:41.000000000 +0900
+++ cyrus-imapd-2.3.16/master/Makefile.in	2010-02-27 14:23:31.790663676 +0900
@@ -57,7 +57,7 @@
 DEPLIBS = @DEPLIBS@
 
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@ @COM_ERR_LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@ @COM_ERR_LDFLAGS@
 LIBS = ../lib/libcyrus_min.a @LIB_UCDSNMP@ @LIBS@ @COM_ERR_LIBS@
 
 SHELL = /bin/sh
diff -ur cyrus-imapd-2.3.16.orig/netnews/Makefile.in cyrus-imapd-2.3.16/netnews/Makefile.in
--- cyrus-imapd-2.3.16.orig/netnews/Makefile.in	2008-03-25 04:06:32.000000000 +0900
+++ cyrus-imapd-2.3.16/netnews/Makefile.in	2010-02-27 14:23:57.237417622 +0900
@@ -56,7 +56,7 @@
 DEPLIBS = ../lib/libcyrus.a ../lib/libcyrus_min.a @DEPLIBS@ 
 
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 SHELL = /bin/sh
 MAKEDEPEND = @MAKEDEPEND@
diff -ur cyrus-imapd-2.3.16.orig/notifyd/Makefile.in cyrus-imapd-2.3.16/notifyd/Makefile.in
--- cyrus-imapd-2.3.16.orig/notifyd/Makefile.in	2008-03-25 04:59:32.000000000 +0900
+++ cyrus-imapd-2.3.16/notifyd/Makefile.in	2010-02-27 14:49:49.000000000 +0900
@@ -57,7 +57,7 @@
 DEFS = @DEFS@ @LOCALDEFS@
 CPPFLAGS = -I.. -I$(srcdir)/../sieve -I$(srcdir)/../imap -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@
diff -ur cyrus-imapd-2.3.16.orig/perl/imap/Makefile.PL cyrus-imapd-2.3.16/perl/imap/Makefile.PL
--- cyrus-imapd-2.3.16.orig/perl/imap/Makefile.PL	2009-05-06 22:48:04.000000000 +0900
+++ cyrus-imapd-2.3.16/perl/imap/Makefile.PL	2010-02-27 14:25:54.928325943 +0900
@@ -41,11 +41,11 @@
 use ExtUtils::MakeMaker;
 use Config;
 
-my $SASL_INC = $ENV{SASL_INC};
-my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2";
+my $SASL_INC = $ENV{SASL_INC} || "-I/usr/local/include";
+my $SASL_LIB = $ENV{SASL_LIB} || "-L/usr/local/lib -R/usr/local/lib -lsasl2";
 
-my $OPENSSL_INC = $ENV{OPENSSL_INC};
-my $OPENSSL_LIB = $ENV{OPENSSL_LIB};
+my $OPENSSL_INC = $ENV{OPENSSL_INC} || "-I/usr/sfw/include";
+my $OPENSSL_LIB = $ENV{OPENSSL_LIB} || "-L/usr/sfw/lib -R/usr/sfw/lib";
 
 my $BDB_INC = $ENV{BDB_INC};
 my $BDB_LIB = $ENV{BDB_LIB};
diff -ur cyrus-imapd-2.3.16.orig/perl/sieve/managesieve/Makefile.PL cyrus-imapd-2.3.16/perl/sieve/managesieve/Makefile.PL
--- cyrus-imapd-2.3.16.orig/perl/sieve/managesieve/Makefile.PL	2009-05-06 22:48:04.000000000 +0900
+++ cyrus-imapd-2.3.16/perl/sieve/managesieve/Makefile.PL	2010-02-27 14:27:30.272192536 +0900
@@ -43,10 +43,10 @@
 use ExtUtils::MakeMaker;
 use Config;
 
-my $SASL_INC = $ENV{SASL_INC};
-my $SASL_LIB = $ENV{SASL_LIB} || "-lsasl2";
-my $OPENSSL_INC = $ENV{OPENSSL_INC};
-my $OPENSSL_LIB = $ENV{OPENSSL_LIB};
+my $SASL_INC = $ENV{SASL_INC} || "-I/usr/local/include";
+my $SASL_LIB = $ENV{SASL_LIB} || "-L/usr/local/lib -R/usr/local/lib -lsasl2";
+my $OPENSSL_INC = $ENV{OPENSSL_INC} || "-I/usr/sfw/include";
+my $OPENSSL_LIB = $ENV{OPENSSL_LIB} || "-L/usr/sfw/lib -R/usr/sfw/lib";
 my $BDB_INC = $ENV{BDB_INC};
 my $BDB_LIB = $ENV{BDB_LIB};
 
diff -ur cyrus-imapd-2.3.16.orig/ptclient/Makefile.in cyrus-imapd-2.3.16/ptclient/Makefile.in
--- cyrus-imapd-2.3.16.orig/ptclient/Makefile.in	2008-03-25 03:34:22.000000000 +0900
+++ cyrus-imapd-2.3.16/ptclient/Makefile.in	2010-02-27 14:28:14.689349480 +0900
@@ -68,7 +68,7 @@
 LDAP_LDFLAGS=@LDAP_LDFLAGS@
 
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 SHELL = /bin/sh
 MAKEDEPEND = @MAKEDEPEND@
diff -ur cyrus-imapd-2.3.16.orig/sieve/Makefile.in cyrus-imapd-2.3.16/sieve/Makefile.in
--- cyrus-imapd-2.3.16.orig/sieve/Makefile.in	2008-07-11 01:37:20.000000000 +0900
+++ cyrus-imapd-2.3.16/sieve/Makefile.in	2010-02-27 14:28:47.459126775 +0900
@@ -61,7 +61,7 @@
 CPPFLAGS = -I.. -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
 MAKEDEPEND_CFLAGS = @CFLAGS@
 CFLAGS = @CFLAGS@ @PERL_CCCDLFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 MAKEDEPEND = @MAKEDEPEND@
 
diff -ur cyrus-imapd-2.3.16.orig/timsieved/Makefile.in cyrus-imapd-2.3.16/timsieved/Makefile.in
--- cyrus-imapd-2.3.16.orig/timsieved/Makefile.in	2008-03-25 05:20:57.000000000 +0900
+++ cyrus-imapd-2.3.16/timsieved/Makefile.in	2010-02-27 14:29:18.557719661 +0900
@@ -57,7 +57,7 @@
 DEFS = @DEFS@ @LOCALDEFS@
 CPPFLAGS = -I.. -I$(srcdir)/../sieve -I$(srcdir)/../imap -I$(srcdir)/../lib @COM_ERR_CPPFLAGS@ @CPPFLAGS@ @SASLFLAGS@
 CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
+LDFLAGS = $(CFLAGS) @LDFLAGS@
 
 prefix = @prefix@
 exec_prefix = @exec_prefix@

64bit用にconfigureスクリプトを一部変更したものをconfigure.64とし ます。

--- configure   2009-09-10 10:02:07.927049974 +0900
+++ configure.64        2009-09-10 09:26:08.454143826 +0900
@@ -15305,7 +15305,7 @@

                ;;
        *)  OPENSSL_INC="-I${with_openssl}/include"
-           OPENSSL_LIBPATH="${with_openssl}/lib"
+           OPENSSL_LIBPATH="${with_openssl}/lib/64"
            OPENSSL_LIB="-L${OPENSSL_LIBPATH}"
            CPPFLAGS="${CPPFLAGS} ${OPENSSL_INC}"

32bit用はconfigureをそのままコピーします。

% cp configure configure.32

コンパイル

setup.sh

#!/bin/sh

if [ $# -eq 1 ]; then
        . ../setup-pre.sh $1
else
        . ../setup-pre.sh
fi

if [ "$ISA" = "sparcv9" -o "$ISA" = "amd64" ]; then
        cp configure.64 configure
else
        cp configure.32 configure
fi

if [ "$bdbinc" = "/usr/include" ]; then
        bdbinc="/usr/local/include"
fi

./configure $CONFDIRS \
  --sysconfdir=/etc/sasl \
  --mandir=/usr/local/share/man \
  --enable-idled \
  --enable-murder \
  --enable-replication \
  --enable-listext \
  --with-zlib=$zlibpath \
  --with-cyrus-prefix=/usr/local/cyrus \
  --with-cyrus-user=cyrus \
  --with-cyrus-group=cyrus \
  --with-lock=fcntl \
  --with-ldap=$ldappath \
  --with-krbimpl=$gss_impl \
  --with-openssl=$sslpath \
  --with-sasl=$saslpath \
  --with-bdb-libdir=$bdblib \
  --with-bdb-incdir=$bdbinc \
  --with-libwrap=yes \
  --with-snmp=no \
  --with-syslogfacility=LOCAL7

setup.shを実行します。

% ./setup.sh [sparcv9|sparcv8plus|i386|amd64]

makeします。

% gmake

64bitではperlモジュールの一部でコンパイルに失敗しますが、Makefile 内のgccに64bitオプションを追加すればコンパイルできます。

% vi perl/sieve/managesieve/Makefile

- CC= gcc
+ CC= gcc -m64

- LD= gcc
+ LD= gcc -m64

- gcc -B/usr/ccs/bin/ -E -c $(PASTHRU_INC) $(INC) \
+ gcc -m64 -B/usr/ccs/bin/ -E -c $(PASTHRU_INC) $(INC) \

インストールします。

# gmake install

一部のスクリプトのコピーとISAに応じたディレクトリの移動を行うため、 以下のスクリプトを実行します。

install.sh

#!/bin/sh

if [ $# -eq 1 ]; then
        . ../setup-pre.sh $1
else
        . ../setup-pre.sh
fi

UBIN="imtest lmtptest mupdatetest nntptest pop3test sivtest smtptest synctest"
CBIN="arbitron chk_cyrus ctl_cyrusdb ctl_deliver ctl_mboxlist
cvt_cyrusdb cyr_dbtool cyr_df cyr_expire cyr_synclog cyrdump deliver fud
idled imapd ipurge lmtpd lmtpproxyd make_md5 make_sha1 master mbexamine
mbpath mupdate notifyd pop3d pop3proxyd proxyd ptdump ptexpire ptloader
quota reconstruct sievec sieved smmapd squatter sync_client sync_reset
sync_server timsieved tls_prune unexpunge"

cp tools/mkimap /usr/local/cyrus/bin
cp tools/masssievec /usr/local/cyrus/bin

cd /usr/local/bin
for i in $UBIN
do
        mv $i $ISA/
done

cd /usr/local/cyrus/bin
for i in $CBIN
do
        mv $i $ISA/
done
# ./install.sh [sparcv9|sparcv8plus|i386|amd64]

ISA自動起動リンクを作るために、以下のスクリプトを実行します。

#!/bin/sh
#
BINPROG="imtest lmtptest mupdatetest nntptest pop3test sivtest smtptest synctest"
SBINPROG="arbitron chk_cyrus ctl_cyrusdb ctl_deliver ctl_mboxlist
cvt_cyrusdb cyr_dbtool cyr_expire cyr_synclog cyrdump deliver fud idled
imapd ipurge lmtpd lmtpproxyd make_md5 make_sha1 master mbexamine mbpath
mupdate notifyd pop3d pop3proxyd proxyd ptdump ptexpire ptloader quota
reconstruct sievec sieved smmapd squatter sync_client sync_reset
sync_server timsieved tls_prune unexpunge"

SBINDIR="/usr/local/cyrus/bin"

if [ "${SBINPROG}" != "" ]; then
  cd /usr/local/sbin
  for prog in ${SBINPROG}
  do
    rm -f $prog
    ln /usr/lib/isaexec $prog
    echo $prog
  done
fi

if [ "${BINPROG}" != "" ]; then
  cd /usr/local/bin
  for prog in ${BINPROG}
  do
    rm -f $prog
    ln /usr/lib/isaexec $prog
    echo $prog
  done
fi

設定

/etc/services

+ imaps           993/tcp                         # imap4 protocol over TLS/SSL
+ imaps           993/udp
+ pop3s           995/tcp         spop3           # pop3 protocol over TLS/SSL
+ pop3s           995/udp         spop3

/etc/sasl/cyrus.conf

# standard standalone server implementation

START {
  # do not delete this entry!
  recover       cmd="ctl_cyrusdb -r"

  # this is only necessary if using idled for IMAP IDLE
#  idled                cmd="idled"
}

# UNIX sockets start with a slash and are put into /var/imap/socket
SERVICES {
  # add or remove based on preferences
  imap          cmd="imapd" listen="imap" prefork=0
  imaps         cmd="imapd -s" listen="imaps" prefork=0
  pop3          cmd="pop3d" listen="pop3" prefork=0
  pop3s         cmd="pop3d -s" listen="pop3s" prefork=0
  sieve         cmd="timsieved" listen="sieve" prefork=0

  # these are only necessary if receiving/exporting usenet via NNTP
#  nntp         cmd="nntpd" listen="nntp" prefork=0
#  nntps                cmd="nntpd -s" listen="nntps" prefork=0

  # at least one LMTP is required for delivery
#  lmtp         cmd="lmtpd" listen="lmtp" prefork=0
  lmtpunix      cmd="lmtpd" listen="/var/imap/socket/lmtp" prefork=0

  # this is required if using notifications
#  notify       cmd="notifyd" listen="/var/imap/socket/notify"
proto="udp" prefork=1
}

EVENTS {
  # this is required
  checkpoint    cmd="ctl_cyrusdb -c" period=30

  # this is only necessary if using duplicate delivery suppression,
  # Sieve or NNTP
  delprune      cmd="cyr_expire -E 3" at=0400

  # this is only necessary if caching TLS sessions
  tlsprune      cmd="tls_prune" at=0400
}

/etc/sasl/imapd.conf

admins: cyrusadmin
configdirectory: /var/imap
partition-default: /var/spool/imap
sasl_pwcheck_method: saslauthd
#sasl_pwcheck_method: auxprop
sasl_auxprop_plugin: sasldb
sasl_ldapdb_uri: ldap://127.0.0.1
unixhierarchysep: yes
sievedir: /var/imap/sieve
sieveusehomedir: true
tls_ca_path: /usr/local/etc/cert
tls_ca_file: /usr/local/etc/cert/cacert.pem
tls_cert_file: /etc/certs/server.pem
tls_key_file: /etc/certs/server.key

manifest: cyrus-mail.xml

<?xml version="1.0"?>
<!DOCTYPE service_bundle SYSTEM
	  "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
<!--
        Service manifest for the Cyrus IMAP/POP mail service.
-->

<service_bundle type='manifest' name='cyrus-mail'>

<service
        name='application/cyrus-mail'
        type='service'
        version='1'>

        <create_default_instance enabled='false' />

        <single_instance />

        <dependency
            name='fs-local'
            grouping='require_all'
            restart_on='none'
            type='service'>
                <service_fmri value='svc:/system/filesystem/local' />
        </dependency>

        <dependency
            name='network-service'
            grouping='require_all'
            restart_on='none'
            type='service'>
                <service_fmri value='svc:/network/service' />
        </dependency>

        <dependency name='config_data'
                grouping='require_all'
                restart_on='restart'
                type='path'>
                <service_fmri
                        value='file://localhost/etc/sasl/cyrus.conf' />
        </dependency>

        <exec_method
                 type='method'
                 name='start'
                 exec='/lib/svc/method/cyrus-mail %m'
                 timeout_seconds='-1'>
        </exec_method>

        <exec_method
                 type='method'
                 name='stop'
                 exec='/lib/svc/method/cyrus-mail %m'
                 timeout_seconds='-1'>
        </exec_method>

        <exec_method
                 type='method'
                 name='restart'
                 exec='/lib/svc/method/cyrus-mail restart'
                 timeout_seconds='-1'>
        </exec_method>

        <template>
                <common_name>
                        <loctext xml:lang='C'>
master, Cyrus mail server control process.
                        </loctext>
                </common_name>
                <documentation>
                        <manpage title='master' section='1M'
                                manpath='/usr/local/share/man' />
                        <doc_link name='Project Cyrus'
                                uri='http://cyrusimap.web.cmu.edu/' />
                </documentation>

        </template>
</service>

</service_bundle>

method: cyrus-mail

#!/sbin/sh
#
# Cyrus IMAP/POP Mail Server
#

. /lib/svc/share/smf_include.sh

result=${SMF_EXIT_OK}

method="$1"

SMF_FMRI="svc:/application/cyrus-mail"
server="/usr/local/cyrus/bin/master -d"
I=`/usr/bin/basename $0`

RUNDIR=/var/run
PIDFILE=$RUNDIR/cyrus-master.pid

case "$method" in
'start')
        if [ ${result} = ${SMF_EXIT_OK} ]; then
                echo "$I: Executing: ${server}"
                ${server}
                result=$?
        fi
        ;;
'stop')
        #smf_kill_contract ${contract} TERM 1
        /usr/bin/kill `cat ${PIDFILE}`
        [ $? -ne 0 ] && exit 1
        ;;
*)
        echo "Usage: $I [stop|start]" >&2
        exit 1
        ;;
esac
exit ${result}

manifestとmethodを登録します。

# cp cyrus-mail /lib/svc/method/
# chown root:bin /lib/svc/method/cyrus-mail
# chmod 555 /lib/svc/method/cyrus-mail
# cp cyrus-mail.xml /var/svc/manifest/application/
# chown root:sys /var/svc/manifest/application/cyrus-mail.xml
# chmod 444 /var/svc/manifest/application/cyrus-mail.xml
# /usr/sbin/svccfg validate /var/svc/manifest/application/cyrus-mail.xml
# /usr/sbin/svccfg -v import /var/svc/manifest/application/cyrus-mail.xml

ユーザ、グループを作成します。

# groupadd -g 60 cyrus
# useradd -u 60 -g 60 cyrus

ディレクトリを作成します。

# /usr/local/cyrus/bin/mkimap
# chown -R cyrus:cyrus /var/imap
# chown -R cyrus:cyrus /var/spool/imap
# chmod 750 /var/imap
# chmod 750 /var/spool/imap

管理用ユーザを登録します。

# /usr/local/sbin/saslpasswd2 -c cyrusadmin
Password: *******
Again (for verification): ******

管理ユーザがsasldbに登録されたか確認します。

# /usr/local/sbin/sasldblistusers2
cyrusadmin@imapserver: userPassword

saslauthdが有効か確認します。

# svcs saslauthd
STATE          STIME    FMRI
online          3月_02  svc:/network/security/saslauthd:default

サービスを有効化します。

# svcadm enable applicaition/cyrus-mail

ユーザのメールボックスを作成します。

# cyradm --user cyrusadmin localhost
Password:
localhost> cm user/hiraga

SSLでの動作確認

opensslで確認してみます。

% openssl s_client -connect imap.next-hop.net:993 -state
CONNECTED(00000004)
...<省略>
* OK [CAPABILITY IMAP4 IMAP4rev1 LITERAL+ ID AUTH=NTLM AUTH=PLAIN AUTH=DIGEST-MD5 AUTH=LOGIN
AUTH=GSSAPI AUTH=CRAM-MD5 SASL-IR COMPRESS=DEFLATE] imap Cyrus IMAP v2.3.16 server ready

hiraga@next-hop.net
Last modified: $Date: 2010/03/05 07:48:36 $
Apache