qmail·Î ¸ÞÀϼ­¹ö ±¸Ãà
2007.01.31 13:58
http://tong.nate.com/srirama/33125500
   
  qmail·Î ¸ÞÀϼ­¹ö ±¸Ãà
  ±Û¾´ÀÌ : ¾ÆÀ̽º     ³¯Â¥ : 06-04-18 17:36     Á¶È¸ : 758    
  Æ®·¢¹é ÁÖ¼Ò : http://www.ice.pe.kr/bbs/tb.php/documents/5

¸ÕÀú, ÀÌ ¹®¼­Àº °³ÀÎÀûÀÎ ±â·ÏÀÇ ¸ñÀûÀ¸·Î ÀÛ¼ºÇÑ °ÍÀ̸ç, ¸ðµç ³»¿ëÀº 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 ÆÄÀÏÀÌ »ý±â°Ô µÉ °ÍÀÌ´Ù.

 

 

 

   


µ¡±Û
[0]
 |
¿«ÀαÛ
[0]
 |
°ø°¨
[0]
Ä£±¸¿¡°Ô ¾Ë¸®±â
[2]