[ MoHicAn @ 28.01.2002. 00:35 ] @
# qmail how to # by mohican # [email protected] # JabberID == [email protected] # http://mohican.freeshell.org/my/qmail-how-to-with-supervise.txt # Neophodni fajlovi: # http://cr.yp.to/software/qmail-1.03.tar.gz # http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz # http://cr.yp.to/daemontools/daemontools-0.76.tar.gz # http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz # http://www.din.or.jp/~ushijima/qmail-conf/qmail-conf-0.60.tar.gz # http://cr.yp.to/djbdns/djbdns-1.05.tar.gz # potreban samo da bi qmail-conf procitao njegove biblioteke #### Instalirajte ove pakete # probajte da ih sve drzite u /package folderu i tu ih otpakujte cd /package tar zxf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make make setup check cd .. tar zxf checkpassword-0.90.tar.gz cd checkpassword-0.90 make make setup check cd .. tar zxf daemontools-0.76.tar.gz cd admin/daemontools ./package/install cd .. tar zxf djbdns-1.05.tar.gz tar zxf qmail-conf-0.60.tar.gz cd qmail-conf-0.60 make -f Makefile.ini djbdns=../djbdns-1.05 make make setup check ######## Instalacija samog qmail-a ############ # prvo napravite direktorijum u kome ce te instalirati qmail po defaultu je to /var/qmail # znaci mkdir /var/qmail # zatim treba napraviti grupe i korisnike koje ce qmail koristiti 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 # make-ujte i instalirajte fajlove idirektorijume u /var/qmail make setup check # zatim u diru gde ste otpakovali qmail uradite config-fast hostname # gde je hostname naravno vas host .... to ce te kasnije moci da promenite # sada udjite u direktorijum korisnika alias koga ste gore napravili cd ~alias # i uradite touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 ~alias/.qmail # ovime ste namestili da sva posta koja ide na postmastera (kod vecine mail servera admin # account) bude preusmerena na korisnika alias !!! # tako isto i za sve sto ide na root -a (obicno ne uspele poruke) i za mailer daemon-a (obicno # poruke koje nisu mogle biti poslate) # sada treba namestiti qmail da koristi maildir format umesto mailbox-a /var/qmail/bin/maildirmake ~username/Maildir chown -R username:group ~username/Maildir echo ./Maildir/>>~username/.qmail chmod 644 ~username/.qmail chown username:group ~username/.qmail # ovo treba uraditi za svakog korisnika za kojeg zelite da koristi qmail ... # ja sam za ovo gore napravio skriptu u kojoj je samo username zamenjen sa $1 i kasnije ta # skripta pozivana sa ./imeskripte username ############ Startovanje uz pomoc supervise skripti ############### # dizanje qmail-send-a qmail-lspawn itd itd qmail-delivery-conf qmaill /var/qmail/service/qmail # startovanje ln -s /var/qmail/service/qmail /service # dizanje qmail-smtpd-a qmail-smtpd-conf qmaild qmaill /var/qmail/service/smtpd # startovanje ln -s /var/qmail/service/smtpd /service # setovanje relayovanja /var/qmail/service/smtpd/add-relayclient x.x.x. # ovim dozvoljavate da korisnici sa x.x.x. mogu da salju mailove preko vas # dizanje qmail-pop3d-a qmail-pop3d-conf /bin/checkpassword qmaill /var/qmail/service/pop3d # startovaje ln -s /var/qmail/service/pop3d /service # podesavanje prava pristupa pop3d-u /var/qmail/service/pop3d/add-client x.x.x.x # ovim dozvoljavate nekome sa ip adrese x.x.x.x da se poveze na vas pop3d ######### Startovanje qmail-a preko inetd servisa ############## # prekopirajte fajl za startovanje u qmail dir cp /var/qmail/boot/home /var/qmail/rc # editujte ga i tamo gde pise Mailbox zamenite sa Maildir # startujte qmail /var/qmail/rc & # Sad ostaje da podesite pop3 daemon i smtp daemon da se startuju iz inet skripte ... # to ce te uraditi tako sto ce te dodati sledece linije u /etc/inetd.conf echo "smtp stream tcp nowait qmaild /usr/sbin/tcpd /var/qmail/bin/tcp-env /var/qmail/bin/qmail-smtpd">>/etc/inetd.conf echo "pop3 stream tcp nowait root /var/qmail/bin/qmail-popup qmail-popup HOST /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir">>/etc/inetd.conf # gde je HOST u drugoj liniji ime vaseg host-a !!! # sad resetujte inetd servise .... killall -HUP inetd # i sad vam ostaje da isprobate vas novi mail server # telnet localhost 25 .......... # telnet localhost 110 ......... ### RELAYING # Ovom procedurom gore namesticete sve ali necete moci da saljete mail nigde osim na svoj # host .... # to se moze srediti na nekoliko nacina .... # jedan je da u fajl /var/qmail/control/rcpthosts dodate sve hostove na koje ce te slati mailove # ovo je neprakticno u slucaju da imate cesto razlicite ljude da mailujete .... # Drugo resenje je da obrisete ceo fajl /var/qmail/control/rcpthosts ali time bi ste postali # otvoreni # za koriscenje od strane bilo koga na internetu i samim tim i spam firmama ... # ovo se moze opet resiti na dva nacina ... jedan je dodavanjem pravila u firewall kojim se # zabranjuje prstup portu 25 sem sa odredjenog ip raspona .... # A drugo resenje je da se koristi program tcpserver ... ovaj program prihvata konekciju sa # spolja i filtrira je kroz neka nasa pravila # i onda je prosledjuje u nasem slucaju smtp daemonu !!! # to bi se uradilo na sledeci nacin !!! # napravili bi smo fajl cat >/etc/tcp.smtp xxx.xxx.xxx.:allow,RELAYCLIENT="" :allow ^D # gde je xxx.xxx.xxx pocetni deo neke nase c klase ip adresa ... moze biti i a klase i b itd itd # a moze i vise klasa da se stavi .... # Sada cemo programom koji ide u paketu sa tcpserver-om napraviti data baze od ovog fajla cd /etc tcprules tcp.smtp.cdb tcp.smtp.temp < tcp.smtp # i sada cemo preko tcpservera startovati qmail-smtpd tcpserver -x /etc/tcp.smtp.cdb -u X -g Y 0 smtp /var/qmail/bin/qmail-smtpd & # gde je X uid od korisnika qmaild (mozete proveriti koji je grep qmaild /etc/passwd) # a Y guid grupe nofiles (takodje mozete proveriti cat grep nofiles /etc/group) # Ovim smo za razliku od stavljanja pravila u firevall postigli to da ce neko moci da se poveze # na smtp server # (za razliku od opcije stavljanja firewall pravila ) ali nece moci da salje mail nigde osim na # hostove koje mu vi dozvolite u fajlu # /var/qmail/control/rcpthosts (pod uslovom naravno da ga niste obrisali) # ovo se desava zato sto u slucaju da neko ko ne pripada grupi adresa koje smo naveli u # /etc/tcp.smtp fajlu pokusa da se poveze # tcpserver ne salje fag RELAYCLIENT i samim tim on nema pravo da se relay-uje preko tog # smtp-a !!! |