Një nga problemet e para të përdoruesve linux është përdorimi dhe kontrolli i postës elektronike. Aq më i komplikuar bëhet ky problem për përdoruesit që nuk kanë një lidhje fikse në internet. Problemi kryesor qëndron në vënien në rrjesht të të gjithë postës që duhet të dërgojmë dhe, sa po të aktivohet lidhja me internetin, ta dërgojmë me anë të SMTP server të provedier-it tonë. Gati të gjitha shpërndarjet linux përdorin si MTA( Mail Transfer Agent) Sendmail. Asgjë kundër Sendmail, por për pordoruesit fillestarë të linux, konfigurimi dhe përdorimi është një problem jo i vogël. Procedura është e gjatë dhe në dokumentet që e shoqërojnë jo gjithçka shpjegohet hollësisht. Sendmail në përgjithësi e kryhen funksionin në mënyrë të shkëlqyer , por përsa i takon lidhjeve dial-up ekzistojnë programe që ja kalojnë në thjeshtësi përdorimi dhe siguri.
Në rastin tonë do të marrim në shqyrtim qmail, që për mendimin tim është një nga zgjedhjet më të mira që mund të bëni ( Sot po përdoret gjithnjë e më tepër për shkak të thjeshtësisë, efikasitetit dhe siguresës-1000$ për atë që arrin ti gjejë një "vrimë" ).
Atëhere le të fillojmë.
Hapi i parë është shkarkimi i paketit qmail nga adresa:
http://pobox.com/~djb/qmail.html Për përdoruesit që kanë lidhje dial-up shërbejnë dhe dy programet që vijojnë:
Serialmail:
http://pobox.com/~djb/serialmail.htmlTcpserver dhe tcpclient:
http://pobox.com/~djb/ucspi-tcp.htmlInstalimi.
Supozojmë që dëshirojmë të instalojmë paketin qmail në /var/qmail dhe që do të përdorim emrat e zakonshëm për përdoruesit dhe grupet me të cilët do të punojë qmail. Veprojmë në këtë menyrë:
Hapim paketin në një dir të përkohëshme (/tmp):
tar xvfz qmail-1.03.tar.gz
Krijojmë dir ku do të instalojmë qmail:
mkdir /var/qmail
Shtojmë përdoruesit dhe grupet për qmail:
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 qmaild
useradd â⬓g qmail â⬓d /var/qmail qmaill
useradd â⬓g qmail â⬓d /var/qmail qmailp
Kompilojmë programet:
make setup check
I tregojmë qmail-it se në cilin host ndodhet:
./config-fast hostname.tld
(kush ka një hostname dinamik këshilloj të përdorë si hostname atë që duket në /etc/hosts)
Krijojmë disa alias të thjeshtë për postën dhe rregullojmë të drejtat:
cd ~alias
touch .qmail-postmaster
touch .qmail-mailer-daemon
touch .qmail-root
chmod 644 ~alias/.qmail*
Kopjojmë njërin nga scriptet e gatshëm për të bërë të mundur nisjen e qmail në boot, p.sh.:
cp /var/qmail/boot/home
/var/qmail/rc
Bëjmë të mundur nisjen e script në fazën e boot duke shtuar diçka të ngjashme me :
/var/qmail/rc &
për njërin nga scriptet që ndodhen në /etc/rc.d/
Në këtë pikë duhet të vendosim se në çfarë formati duhet t'a shpëtojmë postën. Zgjidhja për shumicën e MTA qëndron në krijimin e një file me emër të njëjtë me username për çdo kuti poste ekzistuese dhe ti mbajmë këto file në dir /var/spool/mail . Sapo në kutinë tonë të postës arrin një mesazh i ri thjesh i shtohet të vjetrit ekzistues duke e ndarë me një CR. Në server-et e mëdhenj kjo zgjidhje nuk është efikase dhe është e pasigurtë.
Qmail përdor një rrugë të dytë: shpëton postën e çdo përdoruesi në dir e tij home me emrin ./Mailbox . Zgjidhet kështu problemi i ekzistencës së një dir /var/spool/mail me përmasa tepër të mëdha, por jo problemi i korruptimit të Mailbox në rastin e një crash të sistemit. Në qoftëse do të ndodhte një gjë e tillë gjatë shkrimit në disk të një mesazhi të ri, mesazhi mund të ndërpritet në mes të një rrjeshti dhe mund të konsiderohet gabimisht nga klienti i leximit të postës elektronike si pjesa fillestare e mesazhit që vijon.
Për të shmangur këto probleme është krijuar formati Maildir. Duke përdorur Maildir çdo mesazh shpëtohet në një file të veçantë dhe shkrimi kryhet duke kaluar ndërmjet një dir të përkohshme. Në këtë menyrë, n.q.s. sistemi shkon në crash, mesazhi i korruptuar, duke qenë i veçuar, mund të ripërtërihet pa problem. Maildir është një standart që kalon provën e krash dhe është një zgjedhje e detyrueshme në qoftë se posta duhet shpëtuar në një dir të montuar NFS që, siç dihet, është pak e qëndrueshme.
Me Maildir zgjidhet gjithashtu problemi i hyrjes së njëkohshme në kutinë e postës së dy programeve të ndryshëm.
Në bazë të formatit të zgjedhur bëhet dhe nisja e qmail (me parametra të ndryshëm):
Formati Mailbox:
Duhet të shkruajmë në file /var/qmail/rc , duke e ndryshuar në këtë menyrë:
#!/bin/sh
exec env â⬓
PATH="/var/qmail/bin:$PATH"
qmail-start './Mailbox'splogger
qmail
Këshillohet krijimi i një file
~/.qmail
për çdo përdorues, në të cilin i tregohet qmail si duhet të sillet me postën që i arrin:
su lor â⬓c "echo ./Mailbox >
~lor/.qmail
Me qenë se klientët e postës zakonisht vazhdojnë ta kërkojnë postën në /var/spool/mail mund të jetë i nevojshëm krijim i një symlink që synon Mailbox-in përkatës për çdo file. P.sh.:
ln â⬓s ~lor/Mailbox
/var/spool/mail/lor
Pjesa më e madhe e klientëve të postës e kërkon Mailbox-in nga ku do të lexojë mesazhet në PATH e caktuar nga variabli i ambientit MAIL. Prandaj mund të jetë e mjaftueshme të shtojmë diçka të tipit:
export MAIL=./Mailbox
në file /etc/profile, kështu që çdo përdorues që hyn në server e gjen këtë variabël të impostuar në mënyrë korrekte.
Formati Maildir.
Është i nevojshme shkrimi i file /var/qmail/rc , në këtë menyrë:
#!/bin/sh
exec env â⬓
PATH="/var/qmail/bin:$PATH"
qmail-start './Maildir/'splogger
qmail
Për çdo përdorues (në shembullin tonë lor) duhet të ndjekim komandat:
su lor â⬓c "maildirmake
~lor/Maildir"
su lor â⬓c "echo ./Maildir/ >
~lor/.qmail"
Përpara se të vazhdojmë më tej, në qoftë se jeni duke përdorur akoma sandmail, duhet ta hiqni.
Gjëja e parë është gjetja e script që lëshon sendmail gjatë fazës së boot. Si zakonisht do të jetë një nga file që ndodhen në /etc/rc.d. Rrjeshti që duhet të komentojmë është:
/usr/sbin/sendmail â⬓bd â⬓q15m
Proçeset relativë sendmail duhet të killohen(në qoftëse jeni duke marrë postën mesazhi humbet). Kontrolloni që nuk keni postë në pritje në /var/spool/mqueue . Prishni binaret e sendmail dhe hiqni setuid bit nga sendmail. Futuni në dir ku keni binaret e sendmail dhe jepni komandat:
chmod 0 sendmail
mv sendmail sendmail.bak
Për t'i dhënë mundësinë programeve që përdornin sendmail të mos e kuptojnë mungesën e tij dhe të vazhdojnë të punojnë si zakonisht duhet të krijojmë një symlink (duke supozuar që sendmail i juaj ishte installuar në /usr/sbin/ )
ln â⬓s /var/qmail/bin/sendmail
/usr/sbin/sendmail
Në këtë rast /var/qmail/bin/sendmail nuk është gjë tjetër se një wrapper për sendmal që do të kujdeset t'i kalojë postën qmail-inject
Në këtë pikë mund të vendosim se ta nisim qmail-smtpd nga inetd apo në menyrë standalone.
Në qoftë se parashikoni të keni trafik (të madh) është e këshillueshëm menyra standalone, duke përdorur programin tcpserver, që na jep edhe mundësinë e "loggimit" të lidhjeve me server-in tuaj. Prandaj duhet të instalojmë edhe paketin ucspi-tcp:
tar xvfz ucspi-tcp-x.xx.tar.gz
cd ucspi-tcp-x.xx/
make
make setup check
më pas:
grep â⬓i qmaild /etc/passwd
qmaild
1005:103::/var/qmail:
grep â⬓i nofile /etc/group
nofiles
103:
Në rastin tim uid i përdoruesit qmaild është 1005 dhe gid i përdoruesit nofile është 103.
Tani duhet të veprojmë në menyrë të tillë që qmail-smtpd të lëshohet në çdo boot. Duhet të shtojmë në njërin nga script që ndodhen në /etc/rc.d rrjeshtin e mëposhtëm:
tcpserver â⬓u 1005 â⬓g 103 0 smtp
/var/qmail/bin/qmail-smtpd &
(Ndryshoni 1005 e 103 me uid dhe gid që keni gjetur me komandat e mësipërme)
Në qoftë se doni të loggoni lidhjet që kryhen në smtpd, ndryshoheni rrjeshtin në këtë menyrë:
tcpserver â⬓u 1005 â⬓g 103 0 smtp
/var/qmail/bin/qmail-smtpd 2>&1
| /var/qmail/bin/splogger smtpd 3 &
Përndryshe për ta lëshuar nga inetd mjafton të shtoni rrjeshtin e mëposhtëm në /etc/inetd.conf :
smtp stream tcp nowait qmail
/var/qmail/bin/tcp-env tcp-env
/var/qmail/bin/qmail-smtpd
Kjo ishte e gjitha!....
Harrova ) Për të nisur qmail mjafton të bëni një reboot, ose më thjesht dërgojini një HUP drejt inetd dhe lëshoni qmail-start në mënyrën e mëposhtme:
killall â⬓HUP inetd
/var/qmail/rc &
P.S.
Paketi qmail është shkruar nga D.J. Bernstein. Siti zyrtar është:
http://pobox.com/~djb/qmail.html