¡¡¡¡±¾ÎÄÎļþÖ¼ÔÚÌṩÔÚ Linux ϵͳÖа²×° Cyrus IMAP ·þÎñÆ÷µÄһЩ°ïÖú. 1. ½éÉÜ: ¸Ðл Bob Anderson ([email protected]) ºÍ Jorge Paramo ([email protected]), ËûÃÇÔÚÎÒʹÓà linux µÄÀú³ÌÖиøÁËÎÒÐí¶à°ïÖú. ʲôÊÇ IMAP ÒÔ¼°ÎªÊ²Ã´ÒªÊ¹ÓÃËü? IMAP( »¥ÁªÍøÓʼþ·ÃÎÊÐÒé ) ÌṩÁËÒ»ÖÖ·ÃÎÊÔ¶³Ì·þÎñÆ÷Éϵĵç×ÓÓʼþ»ò BBS ÓʼþµÄ·½·¨. IMAP ÆÕ±é±»ÈÏΪÊÇ POP ( ÓʾÖÐÒé ) ÓʼþµÄÌæ´úÕß. IMAP ÔÊÐíÓû§´Ó²»Í¬µÄ»ú×ÓÉÏ·ÃÎÊËûÃǵĵç×ÓÓʼþ¶ø²»ÓÃÏÂÔØÄÇЩÓʼþ. ÕâÖÖÓʼþµÄ·ÃÎÊ·½Ê½¸ü¼ÓÓÐЧ, ¶øÇÒ¶ÔÖÕ¶ËÓû§À´ËµÓиü¶àµÄºÃ´¦. ¿ÉÒÔÔÚÏÂÃæµÄÍøÖ·ÏÂÕÒµ½¸üÏêϸµÄ×ÊÁÏ: [1]http://www.imap.org/whatisIMAP.html IMAP ºÍ POP µÄ±È½Ï¿É²Î¼û: [2]http://www.imap.org/imap.vs.pop.brief.html ΪʲôҪÓà Cyrus ·þÎñÆ÷? Cyrus ±»Éè¼Æ³ÉÔÚһ̨²»ÔÊÐíÒ»°ãÓû§µÇ¼µÄ·þÎñÆ÷ÉÏÔËÐÐ. Cyrus Ò²±»ÈÏΪÊÇ Unix ÉϵÄÁ½¸ö×îÆÕ±éµÄ IMAP ·þÎñÆ÷Ö®Ò». ÁíÒ»¸öÊÇ»ªÊ¢¶Ù´óѧµÄ IMAP ·þÎñÆ÷. [3]ftp://ftp.cac.washington.edu/imap/imap.tar.Z
2. ÎÒµÄϵͳ֮ϸ½Ú ÎÒÒѾ³É¹¦µØÔÚ·Ö±ðÔËÐÐ Linux Kernel 2.1.79 ºÍ 2.0.33 µÄ 486DX66 ºÍ Pentium Á½Ì¨»ú×ÓÉϰ²×°ÁË Cyrus ϵͳ. ÕâÁ½Ì¨»úÆ÷ÊÇ»ùÓÚ Slackware 3.4 µÄ.
3. Tcl µÄ°²×° ÔÚ°²×° Cyrus ֮ǰÏÈÈ·ÈÏÄãÒѾÔÚ×Ô¼ºµÄ»ú×ÓÉϰ²×°ÁË Tcl, ·ñÔòÄ㽫ÎÞ·¨Ê¹Óà Cyrus Admin Tool (cyradm). Äã¿ÉÒÔÔÚÏÂÃæµÄÍøÖ·ÕÒµ½×îРtcl µÄ×ÊÔ´: [4]ftp://ftp.sunlabs.com/pub/tcl/ ÔÚ°²×°Ö®ºó, È·ÈÏÔÚĿ¼ /usr/local/lib/ Ï´æÔÚ libtcl.a Îļþ. Tcl 8.0 ʹÓõÄÊÇ libtcl8.0.a, ÄãÓ¦µ±ÓÃÏÂÃæµÄÃüÁîΪËü½¨Á¢Ò»¸öÈíÁ¬½Ó: # ln -s libtcl8.0.a libtcl.a
4. makedepend °²×° ÔÚÄãµÄϵͳÖмì²éÊÇ·ñÓÐ makedepend ÃüÁî. Èç¹ûûÓÐÒ²²»Óõ£ÐÄ, Cyrus ×ÊÔ´ÖоÍÓÐ. ( ÔÚÎÒ°²×°µÄ Slackware 3.4 ÖоÍûÓÐ makedepend ÃüÁî. ) ΪÁ˰²×° makedepend , ÏȽâѹ Cyrus µÄ·Ö·¢°æ, È»ºó½øÈë makedepend Ŀ¼, ÊäÈëÏÂÃæµÄÃüÁî: ./configure make cp ./makedepend /usr/local/bin/makedepend
5. Cyrus µÄ°²×° ÇëСÐĵذ´ÕÕ Cyrus ·Ö·¢°æÖеÄ×¢ÒâÊÂÏî½øÐа²×°. Äã¿ÉÒÔÔÚÏÂÃæµÄÍøÖ·ÖÐÕÒµ½ÕâЩעÒâÊÂÏîµÄÒ»¸ö¿½±´: [5]http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html ¹ØÓÚijЩ°²×°²½ÖèµÄһЩÌáʾ: Èç¹ûÄãÓõÄÊÇ Slackware 3.4 ( ʹÓà Ӱ×Ó¿ÚÁî ), ÄãÓ¦µ±ÕâÑùÅäÖà : ./configure --with-login=unix_pwcheck ²¢Ö±½ÓÕâÑù make ¾Í¿ÉÒÔ: make depend make all CFLAGS=-O µÚÒ»²½: µ±¼ÓÈë cyrus Óû§Ê±, ÎÒ½«Óû§ÐÅÏ¢¼ÓËø, ÒÔ×îС»¯¿ÉÄܵݲȫ©¶´. µÚÈý²½: ÎÒ²»µ¥µ¥ÊÇ¿½±´Ò»¸ö /etc/syslog.conf , ¶øÇÒ±à¼ËüÃÇ. µÚ¾Å²½: ÔÚ linux ÏÂ, È·ÈÏÏóÏÂÃæÄÇÑù¼¤»î pwcheck , ·ñÔò·þÎñÆ÷±ã²»»áÕýÈ·µØ¹¤×÷: umask 0;/usr/cyrus/bin/pwcheck & umask 022 È»ºó°ÑÏÂÃæµÄ´úÂë¼Óµ½¼¤»î½Å±¾ÖÐ: if [ -f /usr/cyrus/bin/pwcheck ]; then echo -n "Starting pwcheck for imap" umask 0;/usr/cyrus/bin/pwcheck & umask 022 fi ÎÒ½«ÕâЩ´úÂë¼ÓÈëµ½ÎÒµÄ /etc/rc.d/rc.local ÖÐ, ËüÃÇÔËÐÐÕý³£. µÚÊ®¶þ²½: µ±±à¼ /etc/inetd.conf µÄʱºò, ¼ÇµÃ½« TCP °ü °üº¬½øÈ¥,ÈçÏÂ: imap stream tcp nowait cyrus /usr/sbin/tcpd /usr/cyrus/bin/imapd »¹Óе±Äã±à¼Íê³Éºó, ²»ÒªÍüÁ˸ø inetd ·¢ËÍ-HUPÐźÅ: # ps ax | grep inetd 61 ? S 0:00 /usr/sbin/inetd # kill -HUP 61
6. Sendmail µÄÉ趨 Èç¹ûÄãûÓÐ sendmail µÄÔ´Âë, ÏÖÔÚ¾ÍÏÂÔØ°É. ³ýÁËÔËÐÐ IMAP Íâ, Ä㻹¿ÉÒÔÓÃËüÀ´×öÐí¶àÓÐȤµÄÊÂ, ±ÈÈçÉèÖ÷´À¬»øÓʼþµÄÌØÐԵȵÈ. ÏÂÃæÊÇÎÒµÄ mc Îļþ. ³ý·ÇÔÚ /etc/sendmail.cN ÎļþÖÐÓÐÓû§ÃûµÄÈë¿Ú, ·ñÔòËü½«°ÑÓʼþ×ªÒÆ¸ø IMAP. ËüÔÊÐíÏñ root ÄÇÑùµÄϵͳÓû§°ÑËûÃǵÄÓʼþ±£´æÔÚ»º³å³ØÀï; È»¶ø, Ò»°ãµÄÓû§Õ˺ÅȱʡµØ½«Ê¹Óà IMAP. ²»Òª¼òµ¥µÄ¿½±´ÏÂÃæµÄ´úÂë, ÒòΪ sendmail »áÒòΪÓõÄÊǿոñ¶ø²»ÊÇÖÆ±í·û¶ø³ö´í: divert(-1) # # (C) Copyright 1995 by Carnegie Mellon University # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of CMU not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # # Contributed to Berkeley by John Gardiner Myers . # # This sample mc file is for a site that uses the Cyrus IMAP server # exclusively for local mail. #
divert(0)dnl VERSIONID(`@(#)cyrusproto.mc 8.3 (Carnegie Mellon) @(#)cyrusproto.mc 8.3) OSTYPE(linux) define(`confBIND_OPTS,`-DNSRCH -DEFNAMES) FEATURE(nouucp) FEATURE(nocanonify) FEATURE(always_add_domain) MAILER(smtp) MAILER(local) MAILER(cyrus)
define(`confLOCAL_MAILER,`cyrus)
LOCAL_RULE_0 R$=N $: $#local $: $1 R$=N < @ $=w . > $: $#local $: $1 Rbb + $+ < @ $=w . > $#cyrusbb $: $1
LOCAL_CONFIG FN /etc/sendmail.cN
# end of mc file ÔÚÉú³É /etc/sendmail.cf Îļþºó, ´´½¨Ò»¸ö½Ð /etc/sendmail.cN µÄÎļþ, ½«²»´òËãÓà IMAP ·¢Ë͹¦ÄܵÄÓû§ÕʺÅдÈëÆäÖÐ: root majordom stan mothra ÔÚ°²×°Íê Sendmail 8.8.8 Ö®ºóÎÒ»¹°²×°ÁË mail.local ×÷Ϊ¸øÆäËüÓû§Õ˺ÅʹÓõı¾µØ·¢ÐųÌÐò. ÏÂÃæÊÇÉú³É mail.local µÄ¾÷ÇÏ. ÏȽøÈë sendmail °²×°µãÏ嵀 mail.local µÄĿ¼, È»ºóÖ´ÐÐÒÔϲÙ×÷: cp Makefile Makefile.orig cp Makefile.dist Makefile make cp mail.local /bin/mail.local chmod 4555 /bin/mail.local Ö´ÐÐÍêÖ®ºó, ÖØÆô sendmail. »¹Óв»ÒªÍüÁ˹صô Cyrus °²×°Ö¸ÄÏ.
7. ÉèÖÃÐÅÏä È·ÈÏÒª°´ÕÕ IMAP ·þÎñÆ÷µÄ²âÊÔ½øÐÐ, Èç¹ûÒ»ÇÐ˳Àû, ¾Í¼ÌÐøÉèÖÃÆäËüһЩÐÅÏä.
8. ²»³Ðŵ ²»×÷Èκε£±£, ҲûÓнðÇ®»Ø±¨, Çë×Ô¼º³Ðµ£Ê¹ÓõķçÏÕ.
9. ×ÊÔ´ ±ØÒªµÄ°²×°°ü. Cyrus µÄÖ÷Ò³: [6]http://andrew2.andrew.cmu.edu/cyrus/imapd/ ×îÐ嵀 Cyrus °æ±¾¿ÉÒÔ´ÓÏÂÃæµÄµØµãÏÂÔØ: [7]ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ Tcl µÄÖ÷Ò³: [8]http://sunscript.sun.com/ ×îÐ嵀 Tcl ×ÊÔ´¿ÉÒÔ´ÓÏÂÃæµÄµØµãÏÂÔØ: [9]ftp://ftp.sunlabs.com/pub/tcl/ Sendmail µÄÖ÷Ò³: [10]http://www.sendmail.org/ ×îÐ嵀 Sendmail °æ±¾¿ÉÒÔ´ÓÏÂÃæµÄµØµãÏÂÔØ: [11]ftp://ftp.sendmail.org/ucb/src/sendmail/ ²Î¿¼×ÊÁÏ: 1. http://www.imap.org/whatisIMAP.html 2. http://www.imap.org/imap.vs.pop.brief.html 3. ftp://ftp.cac.washington.edu/imap/imap.tar.Z 4. ftp://ftp.sunlabs.com/pub/tcl/ 5. http://andrew2.andrew.cmu.edu/cyrus/imapd/install.html 6. http://andrew2.andrew.cmu.edu/cyrus/imapd/ 7. ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/ 8. http://sunscript.sun.com/ 9. ftp://ftp.sunlabs.com/pub/tcl/ 10. http://www.sendmail.org/ 11. ftp://ftp.sendmail.org/ucb/src/sendmail/

|