¸ÕÀú, ÀÌ ¹®¼Àº °³ÀÎÀûÀÎ ±â·ÏÀÇ ¸ñÀûÀ¸·Î ÀÛ¼ºÇÑ °ÍÀ̸ç, ¸ðµç ³»¿ëÀº http://kldp.org, http://chaosclub.net ±×¸®°í ±âŸ ¿©·¯¹®¼¿¡¼ Á¾ÇÕÇØ ÀϺΠ¼öÁ¤À» ÇßÀ½À» ¹àÇôµÐ´Ù.
1. ¼³Ä¡ÆÄÀÏ Áغñ
qmailÀ» ¼³Ä¡ÇÏ´Â ÇÊ¿äÇÑ ÆÐŰÁö´Â ´ÙÀ½°ú °°´Ù. ¾Æ·¡ÀÇ ´ëºÎºÐÀÇ ÆÄÀÏÀº http://www.qmail.org ¿¡¼ ¹ÞÀ» ¼ö Àְųª ¸µÅ©¸¦ ãÀ» ¼ö ÀÖ´Ù.
qmail (http://cr.yp.to/software/qmail-1.03.tar.gz)
ucspi-tcp (http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz)
daemontools (http://cr.yp.to/daemontools/daemontools-0.76.tar.gz)
checkpasswd (http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz)
SMTP ÀÎÁõ ÆÐÄ¡ (Mrs. BrisbyÀÇ http://www.nimh.org/dl/qmail-smtpd.c)
qmail-103.patch : Christopher K. DavisÀÇ oversize DNS packets patch
(http://www.ckdhr.com/ckd/qmail-103.patch)
qmail-queue ÆÐÄ¡ (http://www.qmail.org/qmailqueue-patch)
Maildrop 1.4.0 (http://download.sourceforge.net/courier/)
qmail-scanner (http://qmail-scanner.sourceforge.net/)
Âü°í·Î rblsmtpd ÆÐŰÁö´Â ¼³Ä¡ÇÒ Çʿ䰡 ¾ø´Ù. ÇöÀç rblsmtpd´Â ucspi-tcp¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ¿¹Àü¿¡ ÀÛ¼ºµÈ ¹®¼¿¡´Â rblsmtpdµµ ¼³Ä¡Ç϶ó°í ³ª¿À´Â °æ¿ì°¡ Àִµ¥, ÇöÀç¿¡´Â ½Å°æ ¾µ ÇÊ¿ä ¾ø´Ù. ±×¸®°í ¾Æ·§ ºÎºÐ¿¡ ÀÖ´Â 3°³ÀÇ ÆÄÀÏ(qmail-queue ÆÐÄ¡, Maildrop, qmail-scanner)Àº ¹ÙÀÌ·¯½º ¸ÞÀÏ Â÷´Ü ±â´ÉÀ» ¿øÇÏ´Â °æ¿ì¿¡ ÇÊ¿äÇÑ ÆÄÀϵéÀÌ´Ù. ÇØ´ç ¸µÅ©°¡ ±úÁ³°Å³ª ÆÄÀÏÀ» ãÀ» ¼ö ¾øÀ¸¸é, http://filewatcher.org ¿¡¼ ã¾Æº¸±æ ¹Ù¶õ´Ù.
2. ¾ÐÃàÇ®±â
¸ðµç ¼³Ä¡ ÀÛ¾÷Àº root ±ÇÇÑ¿¡¼ ÇÑ´Ù. ÇÊ¿äÇÑ ÆÄÀϵéÀ» Àӽà µð·ºÅ丮(ÇÊÀÚÀÇ °æ¿ì´Â /root/temp/)·Î º¹»çÇÑÈÄ ¾ÐÃàÀ» ÇØÁ¦ÇÑ´Ù.
[/root/temp]# tar xzvf qmail-1.03.tar.gz
[/root/temp]# tar xzvf ucspi-tcp-0.88.tar.gz
[/root/temp]# tar xzvf daemontools-0.76.tar.gz
checkpasswd ´Â qmail ¼³Ä¡°¡ ¼º°øÇØ¾ß pop3¸¦ ¼³Ä¡ÇÒ ¼ö ÀÖÀ¸¹Ç·Î, qmail ¼³Ä¡ÈÄ¿¡ ´Ù·ç°Ú´Ù.
3. ¼³Ä¡ ¹× ¼³Á¤
qmailÀÌ ¼³Ä¡ µÉ µð·ºÅ丮¸¦ ¸¸µé¾îÁØ´Ù. ±âº»ÀûÀ¸·Î /var/qmail/ µð·ºÅ丮¿¡ ¼³Ä¡Çϵµ·Ï µÇ¾îÀÖ´Ù.
[/root/temp]# mkdir /var/qmail
±× ´ÙÀ½¿£ qmail ¿î¿µ¿¡ »ç¿ëµÉ °èÁ¤µéÀ» ¸¸µé¾î ÁÖ¾î¾ß Çϴµ¥, /root/temp/qmail-1.03/INSTALL.ids ÆÄÀÏÀ» ÀÌ¿ëÇÏ¸é µÈ´Ù. ±× ÆÄÀÏÀ» ÆíÁýÇÏ¿© ÀÚ½ÅÀÇ ¿î¿µ üÁ¦¿Í ¸Â´Â ºÎºÐ¸¸ ³²±â°í ÁÖ¼®À» Ç®¾îÁØ´Ù. ÇÊÀÚ´Â ¸®´ª½º¿¡ ¼³Ä¡Çϰí ÀÖÀ¸¹Ç·Î ´ÙÀ½°ú °°Àº ºÎºÐ¸¸ ³²±â°í ¸ðµÎ »èÁ¦ÇÏ¿´´Ù.
groupadd nofiles
useradd -g nofiles -d /var/qmail/alias alias
useradd -g nofiles -d /var/qmail qmaild
useradd -g nofiles -d /var/qmail qmaill
useradd -g nofiles -d /var/qmail qmailp
groupadd qmail
useradd -g qmail -d /var/qmail qmailq
useradd -g qmail -d /var/qmail qmailr
useradd -g qmail -d /var/qmail qmails
±×¸®°í´Â ´ÙÀ½°ú °°ÀÌ ÀÌ ÆÄÀÏÀÇ ³»¿ëÀ» ½ÇÇàÇØÁØ´Ù.
[/root/temp/qmail-1.03]# sh INSTALL.ids
groupadd useradd ¶ó´Â ¸í·É¾î°¡ ¾ø´Ù°í ³ª¿À´Â °æ¿ì°¡ Àִµ¥, ±× °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ PATH º¯¼ö¸¦ °»½ÅÇØ ÁÖ¸é µÈ´Ù.
[/root/temp/qmail-1.03]# PATH=/usr/sbin:$PATH
[/root/temp/qmail-1.03]# export PATH
À̹ø¿¡´Â oversize DNS ÆÐÄ¡¸¦ Àû¿ëÇÑ´Ù. ÀÌ ÆÐÄ¡´Â RFCÀÇ ±Ç°í¾ÈÀ» ¹«½ÃÇϰí 512¹ÙÀÌÆ®º¸´Ù Å« UDP DNS ÀÀ´äÀ» µÇµ¹·ÁÁÖ´Â ÀϺΠISP¾÷üµé(AOL, hanmail.net µî) ¶§¹®¿¡ ÇÊ¿äÇÑ °ÍÀÌ´Ù. qmailÀÇ DNS resolve ¶óÀ̺귯¸®´Â RFC¿Í ȣȯµÇµµ·Ï µÇ¾î ÀÖÀ¸¹Ç·Î RFC¿Í ȣȯµÇÁö ¾Ê°Ô Àü´ÞµÇ´Â ¸Þ½ÃÁö¿¡´Â ÀÀ´äÇÏÁö ¸øÇÑ´Ù. ´ÙÀ½ÀÇ ÆÐÄ¡´Â qmailÀÌ ±×·¯ÇÑ ºÒ¹ýÀûÀÎ DNSÀÇ ÀÀ´ä¿¡ Á¤È®ÇÏ°Ô ¼öÇàÇϵµ·Ï ÇÑ´Ù. ÆÐÄ¡´Â qmail¼Ò½º µð·ºÅ丮¿¡¼ ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
[/root/temp/qmail-1.03]# patch -p1 < ../qmail-103.patch
patching file dns.c
±× ´ÙÀ½¿£ SMTP ÀÎÁõ ±â´ÉÀ» À§ÇØ ÆÐÄ¡ÇÒ Â÷·ÊÀÌ´Ù. À̰ÍÀº ¾Æ¿ô·è ÀͽºÇÁ·¹½º µîÀ¸·Î ÆíÁö¸¦ º¸³¾ ¶§¿¡µµ ÀÎÁõÀ» ÇÊ¿äÇϵµ·Ï ÇÏ´Â °ÍÀε¥, ½ºÆÔ ¸ÞÀÏ ¼¹ö·Î ÀÌ¿ë´çÇÏ´Â °ÍÀ» ¿øÄ¡ ¾Ê´Â´Ù¸é ²À ÇÊ¿äÇÑ ±â´ÉÀÌ´Ù. ÃֽйöÀüÀÇ sendmail¿¡¼µµ ÀÌ·± ±â´ÉÀ» ±âº»ÀûÀ¸·Î Áö¿øÇÑ´Ù. ÀÌ ÆÐÄ¡´Â qmailÀÇ ¼Ò½º ÆÄÀÏ Áß qmail-smtpd.c ÆÄÀÏÀ» µ¤¾î ¾²¸é µÈ´Ù. ÀÌ ±â´ÉÀ» ¿øÄ¡ ¾ÊÀ¸¸é ¾È ÇØµµ »ó°üÀº ¾ø´Ù.
[/root/temp/qmail-1.03]# cp ../qmail-smtpd.c ./
cp: overwrite `./qmail-smtpd.c'? y
»ç½Ç ÃÖ±Ù¿¡´Â CRAM-MD5¶ó´Â ¹æ½Äµµ Áö¿øµÇ´Â Á»´õ ÁÁÀº SMTP ÀÎÁõ ÆÐÄ¡µµ ÀÖ´Ù. ±×·¯³ª ¼³Ä¡ ¹æ¹ýµµ Á» ´õ º¹ÀâÇϰí ÇØ¼ °£´ÜÇÑ °Í(¼³Ä¡ ¹æ¹ý°ú ¼º´É ¸ðµÎ °£´ÜÇÑ)À» ÅÃÇß´Ù.
±×¸®°í ¹ÙÀÌ·¯½º ¸ÞÀÏ Â÷´ÜÀ» ³Ö°í ½Í´Ù¸é ´ÙÀ½ ÆÐÄ¡µµ ÇØ¾ß ÇÑ´Ù. ÀÌ ±â´ÉÀÌ ÇÊ¿ä¾ø´Ù¸é ±×³É ³Ñ¾î°¡µµ µÈ´Ù. ±×·¯³ª ÀÌ ±â´É ¾øÀÌ ¸ÞÀÏ ¼¹ö¸¦ ¿î¿µÇغ¸¸é ¹ÙÀÌ·¯½º ¸ÞÀÏÀÌ ¾öû³ª°Ô ¿Ã °ÍÀÌ´Ù.
[/root/temp/qmail-1.03]# patch -p1 < ../qmailqueue-patch
(Stripping trailing CRs from patch.)
patching file Makefile
(Stripping trailing CRs from patch.)
patching file qmail.c
qmail°ú ´Ù¸¥ ´Ù¸¥ ÇÁ·Î±×·¥µéµµ ÄÄÆÄÀÏÇÏ°í ¼³Ä¡ÇÑ´Ù.
[/root/temp/qmail-1.03]# make
[/root/temp/qmail-1.03]# make setup check
[/root/temp/qmail-1.03]# cd /root/temp/ucspi-tcp-0.88/
[/root/temp/ucspi-tcp-0.88]# make
[/root/temp/ucspi-tcp-0.88]# make setup check
[/root/temp/ucspi-tcp-0.88]# cd /root/temp/daemontools-0.76/
[/root/temp/daemontools-0.76]# ./package/install
daemontools¸¦ ¼³Ä¡ÇÒ ¶§¿¡´Â installÀ̶ó´Â ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇϸé ÀúÀý·Î ÄÄÆÄÀÏ ¹× ¼³Ä¡°¡ µÈ´Ù. ÁÖÀÇÇÒ Á¡Àº À§¿¡¼Ã³·³ admin/daemontools-0.76 µð·ºÅ丮¿¡¼ ./package/install°ú °°ÀÌ ½ÇÇàÇØ¾ß µÈ´Ù´Â °ÍÀÌ´Ù. package µð·ºÅ丮 ¾È¿¡¼ installÀ» ½ÇÇàÇÏ¸é ¾ÈµÈ´Ù.
±×¸®°í daemontools¸¦ ¼³Ä¡Çϸé /command µð·ºÅ丮°¡ ¸¸µé¾îÁö°í, ±× ¾È¿¡ ¿©·¯ ½Éº¼¸¯ ¸µÅ© ÆÄÀϵéÀÌ daemonstoolsÀÇ ¼Ò½º µð·ºÅ丮 ¾ÈÀ» °¡¸®Å°°Ô µÈ´Ù. ±×·¡¼ qmail ¼³Ä¡°¡ ³¡³ª°í daemontools ¼Ò½º µð·ºÅ丮¸¦ Áö¿ö¹ö¸®¸é qmailÀÌ ÀÛµ¿µÇÁö ¾Ê°Ô µÈ´Ù. qmail ¼³Ä¡°¡ ³¡³ ´ÙÀ½¿¡ daemontools ¼Ò½º µð·ºÅ丮¸¦ Áö¿ö¹ö¸®°í ½Í´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
[/command]# rm -f /command/*
[/command]# cp /root/temp/admin/daemontools/command/* /command/
´ÙÀ½¿¡´Â qmailÀÇ ¼Ò½º µð·ºÅ丮¿¡¼ config¸¦ ½ÇÇà½ÃÄÑ, ¼³Á¤À» ÇØ ÁØ´Ù.
[/command]# cd /root/temp/qmail-1.03
[/root/temp/qmail-1.03]# ./config
±×·¯³ª ¸¸¾à ¿©±â¼ "Sorry, I couldn't find your host's canonical name in DNS." ÀÌ·± ¸Þ½ÃÁö¸¦ ³»¸é¼ ¿¡·¯°¡ ³´Ù¸é Network ¼³Á¤ ¹× DNS ¼³Á¤¿¡ ¹®Á¦°¡ ÀÖ´Â °æ¿ìÀÌ´Ù. DNS ¼¹ö¿¡ À̸§ÀÌ Á¤»óÀûÀ¸·Î µî·ÏµÇ¾î ÀÖ´Ù¸é, Network ¼³Á¤À» Àß »ìÆìº¸¾Æ¾ß ÇÑ´Ù. ¾Æ·¡¿Í °°ÀÌ ÆÄÀÏÀ» È®ÀÎ ¹× ¼öÁ¤ÇÑ´Ù.
/etc/resolv.conf
..............................................................
search yourdomain.com
nameserver 168.126.63.1
nameserver 168.126.63.2
/etc/hosts
..............................................................
127.0.0.1 localhost.localdomain localhost
123.234.123.234 oracle.yourdomain.com oracle
123.234.123.231 other.yourdomain.com other
/etc/sysconfig/network
..............................................................
HOSTNAME=yourhostname
DOMAINNAME=yourdomain.com
¸¸¾à¿¡ ±×·¡µµ ¾ÈµÈ´Ù¸é "./config-fast hostname.domain.com"°ú °°ÀÌ ÇØÁØ´Ù. ¿©±â¼ µÞºÎºÐÀÇ hostname.domain.comÀº FQDNÀ¸·Î È£½ºÆ® À̸§°ú µµ¸ÞÀÎ À̸§À¸·Î ±¸¼ºµÈ ÁÖ¼Ò¸¦ ½áÁÖ¸é µÈ´Ù.
´ÙÀ½¿¡´Â qmail µ¥¸óÀ» À§ÇÑ µð·ºÅ丮¿Í ÆÄÀϵéÀ» »ý¼ºÇØÁØ´Ù.
# mkdir -p /var/qmail/supervise/qmail-send/log
# mkdir -p /var/qmail/supervise/qmail-smtpd/log
# chmod +t /var/qmail/supervise/qmail-send
# chmod +t /var/qmail/supervise/qmail-smtpd
±×¸®°í ¸î°¡Áö ÆÄÀϵéÀ» ¸¸µé°í °¢°¢ ´ÙÀ½ ³»¿ëÀ» ½á ÁØ´Ù.
/var/qmail/supervise/qmail-send/run
..............................................................
#!/bin/sh
exec /var/qmail/rc
/var/qmail/supervise/qmail-send/log/run
..............................................................
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
/var/qmail/supervise/qmail-smtpd/run
..............................................................
#!/bin/sh
export QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
ALIASUID=`id -u alias`
ALIASGID=`id -g alias`
exec /usr/local/bin/softlimit -m 10000000 \
/usr/local/bin/tcpserver -v -p -x/etc/tcp.smtp.cdb \
-u $ALIASUID -g $ALIASGID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
À§¿¡¼ export QMAILQUEUE=... ºÎºÐÀº ¹ÙÀÌ·¯½º ¸ÞÀÏ Â÷´Ü ±â´ÉÀ» »ç¿ëÇÒ ¶§¿¡¸¸ ³Ö°í, ±× ±â´ÉÀ» »ç¿ëÇÏÁö ¾ÊÀ¸·Á¸é »«´Ù.
softlimit -m 10000000 ºÎºÐÀº Á¶Àý °¡´ÉÇÏ´Ù. ¹ÙÀÌ·¯½º ¸ÞÀÏ ÇÊÅ͸µ ±â´ÉÀ» »ç¿ëÇÏÁö ¾ÊÀ» °ÍÀ̶ó¸é 2000000À¸·Î ÇØµµ ÀÛµ¿ÇÒ °ÍÀÌ´Ù. ±×·¯³ª ¹ÙÀÌ·¯½º ¸ÞÀÏ ÇÊÅ͸µ ±â´ÉÀ» »ç¿ëÇÑ´Ù¸é ±×°ÍÀ¸·Î´Â ºÎÁ·ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ÀÌ ¼öÄ¡°¡ ºÎÁ·ÇÏ¸é ¾Æ¿ô·è µîÀ¸·Î ¸ÞÀÏÀ» º¸³¾¶§ 451 qq temporary problem (#4.3.0)¿Í °°Àº ¸Þ½ÃÁö°¡ ³ª¿Ã °ÍÀÌ´Ù. ´Ù¸¥ ¹®¼¿¡´Â 6000000À¸·Î ³ª¿À±âµµ Çϴµ¥, ÇÊÀÚÀÇ °æ¿ì¿£ ±×·¸°Ô ÇÏ´Ï ¿¡·¯°¡ ³ª¼ ¾Æ¿¹ 10000000À¸·Î ÇØ ÁÖ¾ú´õ´Ï Àß ÀÛµ¿Çß´Ù.
/var/qmail/supervise/qmail-smtpd/log/run
..............................................................
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
À§ÀÇ ÆÄÀϵéÀ» ¸ðµÎ ¸¸µé¾úÀ¸¸é ÆÛ¹Ì¼Ç Á¶Á¤À» ÇØ ÁØ´Ù.
# chmod 755 /var/qmail/supervise/qmail-send/run
# chmod 755 /var/qmail/supervise/qmail-send/log/run
# chmod 755 /var/qmail/supervise/qmail-smtpd/run
# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
qmailÀÇ ·Î±× ÆÄÀÏÀÌ ÀúÀåµÉ µð·ºÅ丮¸¦ ¸¸µé¾î ÁØ´Ù.
# mkdir -p /var/log/qmail/smtpd
# chown qmaill /var/log/qmail /var/log/qmail/smtpd
root, postmaster µî °ü¸®ÀÚ °èÁ¤À¸·Î ¼ö½ÅµÇ´Â ¸ÞÀÏÀ» ƯÁ¤ ÀϹݰèÁ¤À¸·Î forward Çϵµ·Ï ¼³Á¤ÇÑ´Ù. ¸¸¾à ¿©·¯ºÐÀÌ root·Î ¼ö½ÅµÇ´Â ¸ÞÀÏÀ» chaos¶ó´Â °èÁ¤À¸·Î ¹Þ±â¸¦ ¿øÇÑ´Ù¸é ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÑ´Ù.
# cd ~alias
# echo chaos > .qmail-mailer-daemon
# echo chaos > .qmail-postmaster
# echo chaos > .qmail-root
±×¸®°í /var/qmail/control/locals ÆÄÀϰú /var/qmail/control/rcpthosts ÆÄÀÏ¿¡ ¿©·¯ºÐÀÌ »ç¿ëÇϱ⠿øÇÏ´Â µµ¸ÞÀÎ ÁÖ¼Ò¸¦ ¸ðµÎ ½á ÁÖ¾î¾ß ÇÑ´Ù. µÎ ÆÄÀÏÀÇ ³»¿ëÀº °°°Ô ÇÏ¸é µÈ´Ù. ¿¹¸¦µé¾î
email@domain.com, email@www.domain.com, email@email.domain.com °ú °°Àº Çü½ÄÀÇ ¸ÞÀÏ ÁÖ¼Ò·Î ÆíÁö¸¦ ¹Þ±â¸¦ ¿øÇÑ´Ù¸é ÀÌ ÆÄÀϵ鿡 ´ÙÀ½°ú °°ÀÌ ½áÁÖ¸é µÈ´Ù. ¹°·Ð, ¿©±â¼´Â ÀÌ¹Ì www.domain.com À̳ª email.domain.com°ú °°Àº ÁÖ¼ÒÀÇ DNS ¼³Á¤ÀÌ µÇ¾î ÀÖ´Ù°í °¡Á¤ÇßÀ» °æ¿ìÀÌ´Ù.
domain.com
www.domain.com
email.domain.com
¼³»ç chaos.domain.com°ú °°Àº ÁÖ¼Ò°¡ ¿©·¯ºÐÀÇ È£½ºÆ®¿¡ ÇÒ´çµÇ¾î ÀÖ´Ù°í ÇÏ´õ¶óµµ ÀÌ ÆÄÀÏ¿¡ ÁÖ¼Ò¸¦ ½áÁÖÁö ¾ÊÀ¸¸é email@chaos.domain.com°ú °°Àº ÁÖ¼Ò·Î ¿Â ÆíÁö´Â ¹Þ¾ÆµéÀÌÁö ¾Ê´Â´Ù.
±×¸®°í qmail ±âµ¿ ½ºÅ©¸³Æ®¸¦ ÁغñÇÑ´Ù. /etc/rc.d/init.d/qmail À̶ó´Â ÆÄÀÏÀ» ¸¸µé°í, ±× ¾È¿¡ ¾Æ·¡ÀÇ ½ºÅ©¸³Æ®¸¦ º¹»çÇØ ³ÖÀ¸¸é µÈ´Ù.
# vi /etc/rc.d/init.d/qmail
..............................................................
#!/bin/sh
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 80 80
# description: ºü¸£¸ç, ¾ÈÁ¤ÀûÀ̰í, À¯¿¬ÇÑ MTA
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
case "$1" in
start)
echo -n "Starting qmail: svscan"
cd /var/qmail/supervise
env - PATH="$PATH" svscan &
echo $! > /var/run/svscan.pid
echo "."
;;
stop)
echo -n "Stopping qmail: svscan"
kill `cat /var/run/svscan.pid`
echo -n " qmail"
svc -dx /var/qmail/supervise/*
echo -n " logging"
svc -dx /var/qmail/supervise/*/log
echo "."
;;
stat)
cd /var/qmail/supervise
svstat * */log
;;
doqueue|alrm)
echo "Sending ALRM signal to qmail-send."
svc -a /var/qmail/supervise/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /var/qmail/supervise/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /var/qmail/supervise/qmail-send
echo "Pausing qmail-smtpd"
svc -p /var/qmail/supervise/qmail-smtpd
;;
cont)
echo "Continuing qmail-send"
svc -c /var/qmail/supervise/qmail-send
echo "Continuing qmail-smtpd"
svc -c /var/qmail/supervise/qmail-smtpd
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtpd."
svc -d /var/qmail/supervise/qmail-smtpd
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /var/qmail/supervise/qmail-send
echo "* Restarting qmail-smtpd."
svc -u /var/qmail/supervise/qmail-smtpd
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp*
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat <<HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac
exit 0
..............................................................
±×¸®°í ´ÙÀ½°ú °°ÀÌ ½ÇÇàµÉ ¼ö ÀÖµµ·Ï ÆÛ¹Ì¼Ç Á¶Á¤À» ÇØÁØ´Ù.
# chmod 755 /etc/rc.d/init.d/qmail
·¹µåÇÞ ¸®´ª½ºÀÇ °æ¿ì ntsysv¸¦ ½ÇÇà½ÃÄÑ sendmailÀÇ Ã¼Å©¸¦ Á¦°ÅÇÏ°í ¸®ºÎÆÃ½Ã qmail µ¥¸óÀÌ ½ÇÇàµÇµµ·Ï qmail¿¡ üũ¸¦ ÇØÁØ´Ù. ¸¸¾à, ¿©±â¿¡ qmail Ç׸ñÀÌ ³ªÅ¸³ªÁö ¾Ê´Â´Ù¸é ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
# chkconfig --add qmail
À̰͵µ ¾È µÇ¸é ±×³É /etc/rc.d/rc.local ÆÄÀÏ ¸Ç ³¡¿¡ /etc/rc.d/init.d/qmail start ¶ó°í ÇÑÁÙ ½áÁÖ¸é µÈ´Ù. ¸ñÀûÀº ºÎÆÃµÉ¶§ ÀÚµ¿À¸·Î ½ÇÇàÇÏ´Â °ÍÀ̴ϱî, ¾î¶»°Ô ÇÏµç »ó°ü¾ø´Ù.
±×¸®°í ¼³Ä¡°¡ ¸ðµÎ ³¡³ ´ÙÀ½¿¡´Â ¾ÐÃàÀ» Ç®¾î³õ¾Ò´ø ¼Ò½º ÆÄÀÏ µð·ºÅ丮µéÀº ¸ðµÎ »èÁ¦Çصµ µÈ´Ù.(´Ü, daemontools °ü·Ã ÆÄÀϵéÀ» /command µð·ºÅ丮·Î ¸ðµÎ º¹»çÇß´Ù´Â °¡Á¤ÇÏ¿¡)
4. ¹ÙÀÌ·¯½º ¸ÞÀÏ Â÷´Ü ±â´É
1) Perl module Time::HiRes ¼³Ä¡
ÀÌ ºÎºÐÀº ¹ÙÀÌ·¯½º ¸ÞÀÏ Â÷´Ü ±â´ÉÀ» ¿øÇÏ´Â »ç¶÷¸¸ ÇÊ¿äÇÑ ºÎºÐÀÌ´Ù. ÇÊ¿äÇÏÁö ¾Ê´Ù¸é ±×³É ³Ñ¾î°¡¸é µÈ´Ù.
# perl -e 'use CPAN; install Time::HiRes'
ÀÌ·¸°Ô Çϸé ÀÚµ¿ ¼³Ä¡¸¦ ÇÒ °ÍÀ̳Ä, ¼öµ¿ ¼³Ä¡¸¦ ÇÒ °ÍÀ̳ĸ¦ ¹¯´Âµ¥, óÀ½¿¡ yes¶ó°í ´ë´äÇÏ¿© ¼öµ¿ ¼³Ä¡¸¦ Çϱ⸦ ±ÇÇÑ´Ù. ¹°·Ð °ÅÀÇ 100%ÀÇ Áú¹®¿¡ ±×³É ¿£Å͸¸ Ä¡¸é µÈ´Ù. ´Ù¸¸ Áß°£¿¡ ´ë·ú°ú ±¹°¡¸¦ °í¸£´Â ºÎºÐÀÌ ³ª¿À´Âµ¥, ±× ºÎºÐ¿¡¼ Çѱ¹À¸·Î °ñ¶ó¾ß ÀÎÅͳݿ¡¼ ÇÊ¿äÇÑ ÆÄÀÏÀ» ´Ù¿î·Îµå¹Þ¾Æ¼ ¼³Ä¡ÇÒ ¶§ ºü¸£°Ô ÁøÇàµÈ´Ù. À̰ÍÀ» ¼³Ä¡ÇÒ¶§ Áß°£¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀ» ÀÚµ¿À¸·Î ´Ù¿î·ÎµåÇÏ´Â ´Ü°è°¡ ÀÖ´Ù. ÀÎÅÍ³Ý Á¢¼Ó ¼Óµµ¿¡ µû¶ó ´Ù¸£°ÚÁö¸¸ 2~3ºÐÀÌ¸é ¼³Ä¡°¡ ¿Ï·áµÈ´Ù.
2) Maildrop ¼³Ä¡
[/root/temp]# tar xzvf maildrop-1.4.0.tar.gz
[/root/temp]# cd maildrop-1.4.0
[/root/temp/maildrop-1.4.0]# ./configure
[/root/temp/maildrop-1.4.0]# make
[/root/temp/maildrop-1.4.0]# make install-strip
[/root/temp/maildrop-1.4.0]# make install-man
3) qmail-scanner ¼³Ä¡
[/root/temp]# tar xzvf qmail-scanner-1.14.tgz
[/root/temp]# cd qmail-scanner-1.14
[/root/temp/qmail-scanner-1.14]# ./configure
[/root/temp/qmail-scanner-1.14]# ./configure --install
À§¿Í °°ÀÌ Çϸé qmail-scanner-queue.pl ÆÄÀÏÀÌ »ý¼ºµÇ°í ±âº»ÀûÀ¸·Î /var/qmail/bin/¿¡ ¼³Ä¡°¡ µÉ °ÍÀÌ´Ù.
6. ±âŸ ¼³Á¤
1) ¸±·¹ÀÌ ¼³Á¤
±âº»ÀûÀÎ ¸±·¹ÀÌ ¼³Á¤À» ÇØÁØ´Ù.
# vi /etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
:allow
¼³Ä¡¸¦ ÇÒ ¶§¿¡ SMTP ÀÎÁõ ±â´ÉÀ» ÆÐÄ¡Ç߱⠶§¹®¿¡ localhost¿¡¼ º¸³»´Â ÆíÁö¸¸ relayÇϵµ·Ï ¼³Á¤ÇØ ³õÀ¸¸é ÃæºÐÇÏ´Ù. ¸¸¾à ´Ù¸¥ ip ÁÖ¼Òµµ ¹«Á¶°Ç relay¸¦ Çã°¡ÇØÁÖ°í ½Í´Ù¸é 127.0.0.1:allow,RELAYCLIENT="" ´ÙÀ½ ÁÙ¿¡ ¿øÇÏ´Â ip ÁÖ¼Ò³ª ´ë¿ªÀ» Ãß°¡ÇØ ÁÖ¸é µÈ´Ù. ÀÚ¼¼ÇÑ »çÇ×Àº ´Ù¸¥ ¹®¼¸¦ Âü°íÇϱ⠹ٶõ´Ù. SMTP ÀÎÁõ ÆÐÄ¡¸¦ ÇÑ ÀÌ»ó, À§ÀÇ ¼³Á¤¸¸À¸·Îµµ ÃæºÐÇÏ´Ù. ÀÌ ÆÄÀÏ¿¡ ±â·ÏµÈ ip ÁÖ¼Ò¿¡¼ ¸±·¹À̸¦ ¿äûÇÒ ¶§¿¡´Â ÀÎÁõ ¾øÀÌ ¹«Á¶°Ç relay¸¦ Çã°¡ÇØ ÁÖ°í, ¸¸¾à ÀÌ ÆÄÀÏ¿¡ ip ÁÖ¼Ò°¡ µî·ÏµÇ¾î ÀÖÁö ¾Ê´Ù¸é ±×¶§´Â SMTP ÀÎÁõÀ» ÇØ¾ß¸¸ relay Çã°¡°¡ µÈ´Ù.
±×¸®°í /etc/tcp.smtp ÆÄÀÏÀ» ¼öÁ¤ÇÏ¿´´Ù¸é ´ÙÀ½ ¸í·ÉÀ» ¼öÇàÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ °»½ÅÇÒ Çʿ䰡 ÀÖ´Ù.
# /etc/rc.d/init.d/qmail cdb
Reloaded /etc/tcp.smtp.
2) /var/qmail/rc »ý¼ºÇϱâ
/var/qmail/rc ÆÄÀÏÀº qmail ÆÄÀÏÁß¿¡¼ °¡Àå Áß¿äÇÑ ÆÄÀÏÁßÀÇ ÇϳªÀÌ´Ù. À̰ÍÀº qmailÀ» Ã¥ÀÓÁö°í ½ÃÀÛÇÏ°Ô ÇÑ´Ù. º¸´Ù Áß¿äÇÑ °ÍÀº qmailÀÌ Ç×»ó ¸ÞÀÏÀ» ¼ö½ÅÇÒ ¼ö ÀÖµµ·Ï ÇÑ´Ù. rc ÀÇ ³»¿ëÀº qmailÀ» À§ÇÑ ±âº»ÀûÀÎ Àü¼Û ¸í·ÉÀ¸·Î µÇ¾î ÀÖ´Ù. /var/qmail/boot µð·ºÅ丮¿¡ °¡¸é, ¿©·¯ °æ¿ì¿¡ ´ëÇÑ rc ÆÄÀÏÀÇ ¿¹Á¦°¡ ÆÄÀϺ°·Î ÁغñµÇ¾î ÀÖ´Ù. procmailÀ» ÀÌ¿ëÇÏ¿© ¸ÞÀÏÀ» ó¸®ÇÒ °ÍÀ̱⠶§¹®¿¡, ´ÙÀ½°ú °°ÀÌ ÇÑ´Ù.
# cp /var/qmail/boot/proc /var/qmail/rc
±×¸®°í /var/qmail/rc ÆÄÀÏÀ» ¿¾î¼ ´ÙÀ½°ú °°ÀÌ ¼öÁ¤ÇÑ´Ù. ¸Ç ¾Æ·§ ÁÙ¿¡ ./Maildir/ ¸¸ Ãß°¡µÇ¾ú´Ù. À̰ÍÀº Maildir ÇüÅ·Π¸ÞÀÏÀÌ ÀúÀåµÇµµ·Ï ÇÑ´Ù.
/var/qmail/rc
..............................................................
#!/bin/sh
# Using splogger to send the log through syslog.
# Using procmail to deliver messages to /var/spool/mail/$USER by default.
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start '|preline procmail ./Maildir/' splogger qmail
3) Maildir µð·ºÅ丮 ¸¸µé±â
ÀÌÁ¦ ÀÌ ¼¹ö·Î µµÂøÇÏ´Â ¸ÞÀÏÀº °¢ »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮 ¾Æ·¡¿¡ MaildirÀ̶ó´Â µð·ºÅ丮 ¾È¿¡ ÀúÀåµÇ°Ô µÈ´Ù. µû¶ó¼ ¸ðµç »ç¿ëÀÚÀÇ È¨ µð·ºÅ丮 ¾Æ·¡¿¡ ÀÌ µð·ºÅ丮°¡ ½ÇÁ¦·Î ÀÖ¾î¾ß ÇÑ´Ù. qmailÀº ÀÌ µð·ºÅ丮 ¹× ¼ºê µð·ºÅ丮¸¦ ÀÚµ¿À¸·Î ¸¸µé¾îÁÖ´Â ½ºÅ©¸³Æ®¸¦ Á¦°øÇϸç, ´ÙÀ½ÀÌ ±× »ç¿ë ¿¹ÀÌ´Ù.
# su - chaos
$ /var/qmail/bin/maildirmake $HOME/Maildir
$ echo ./Maildir/ > ~/.qmail
±âÁ¸ ¸ðµç °èÁ¤¿¡ ´ëÇØ À§¿Í °°Àº ÀÏÀ» ÇØÁÖ¾î¾ß ÇÑ´Ù. ±×·¯³ª, ´ÙÀ½°ú °°ÀÌ /etc/skel µð·ºÅ丮¸¦ ¼öÁ¤ÇØ ÁÖ¸é, ¾ÕÀ¸·Î »ý¼ºÇÒ »ç¿ëÀÚ¿¡ ´ëÇØ¼´Â ÀÌ·± ÀÛ¾÷À» ÇØÁÖÁö ¾Ê¾Æµµ µÈ´Ù.
# cd /etc/skel
# /var/qmail/bin/maildirmake Maildir
# echo ./Maildir/ > .qmail
ÀÌÁ¦ºÎÅÍ´Â Ãß°¡µÇ´Â ¸ðµç »ç¿ëÀÚ¿¡°Ô ÀÚµ¿À¸·Î Maildir µð·ºÅ丮¿Í .qmail ÆÄÀÏÀÌ »ý±â°Ô µÉ °ÍÀÌ´Ù.