Före installation av qmail måste det skapas en hel del användare och grupper. Detta för att de olika delarna av qmail kör under egna användarkonton (en del av säkerheten i qmail, går ett program sönder på något sätt, så ska inte andra delar av qmail eller systemet drabbas).
/var/qmail måste också skapas innan användarna läggs upp (gid och uid enligt LWQ eftersom dessa i alla system jag råkat ut för är oanvända). I den här guiden installeras qmail under /home/qmail med länkning till (/var/qmail)
mkdir -p /home/qmail ln -s /home/qmail /var/qmail groupadd -g 2108 nofiles useradd -g nofiles -d /var/qmail/alias -s /sbin/nologin -u 7790 alias useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 7791 qmaild useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 7792 qmaill useradd -g nofiles -d /var/qmail -s /sbin/nologin -u 7793 qmailp groupadd -g 2107 qmail useradd -g qmail -d /var/qmail -s /sbin/nologin -u 7794 qmailq useradd -g qmail -d /var/qmail -s /sbin/nologin -u 7795 qmailr useradd -g qmail -d /var/qmail -s /sbin/nologin -u 7796 qmailsGör det enklare att hitta mysql include filer och libs:
ln -s /usr/local/mysql/lib/mysql /usr/local/lib/mysql ln -s /usr/local/mysql/include/mysql /usr/local/include/mysql
cd /usr/local/src wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz wget http://cr.yp.to/software/qmail-1.03.tar.gz wget http://qmail.jms1.net/patches/qmail-1.03-jms1.7.08.patch wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/qmail-1.03-jms1.7.08-st.patch wget http://www.bsd-guide.net/openbsd-mailserver/files/qmail/sendmail-flagq.patch tar xfz qmail-1.03.tar.gz
sendmail-flagq.patch innehåller diverse extraflaggor för sendmail (ersättaren) som kommer med qmail. Läggs inte denna patch på, så kommer det att trilla in ett obegripligt mail i kvarten till root. Patchen gör att det istället skrivs ut ett felmeddelande med instruktioner vad som ska göras för att slippa dessa mail.
En patch till för qmail är värd att nämna:
goodrcptto
http://web.netdevice.com:9080/qmail/patch/goodrcptto-12.patch
Eftersom det finns en variant av denna med i JMS (validrcptto.cdb) så har jag inte försökt laga den för att fungera tillsammans med JMS + ST.
Men den finns där för de som inte vill ha hela JMS uppsättningen av en eller annan anledning.
pkg_add unzip-5.52p0 perl -MCPAN -e shellFortsätt med enter "ca 7 gånger". Efter frågan om hur många rader av kommandon CPAN shellet ska spara får du upp en fråga om vad som ska göras om installation av en modul kräver en annan:
The CPAN module can detect when a module that which you are trying to build depends on prerequisites. If this happens, it can build the prerequisites for you automatically ('follow'), ask you for confirmation ('ask'), or just ignore them ('ignore'). Please set your policy to one of the three values. Policy on building prerequisites (follow, ask or ignore)? [ask]
Svara 'follow' på denna fråga, så installeras nödvändiga moduler automatiskt.
o conf prerequisites_policy follow o conf commit
Efter den frågan kan du trycka enter på en hel drös med frågor (ca 20 gånger). Vänta gärna nån sekund mellan varje enter så att du inte går förbi valet av närmsta CPAN site (innan du kommer till den frågan så lär du märka att det laddas ner en fil från ftp.perl.org.
Now we need to know where your favorite CPAN sites are located. Push a few sites onto the array (just in case the first on the array won't work). If you are mirroring CPAN to your local workstation, specify a file: URL. First, pick a nearby continent and country (you can pick several of each, separated by spaces, or none if you just want to keep your existing selections). Then, you will be presented with a list of URLs of CPAN mirrors in the countries you selected, along with previously selected URLs. Select some of those URLs, or just keep the old list. Finally, you will be prompted for any extra URLs -- file:, ftp:, or http: -- that host a CPAN mirror. (1) Africa (2) Asia (3) Central America (4) Europe (5) North America (6) Oceania (7) South America Select your continent (or several nearby continents) []
Välj "4" för "Europe". Efter det valet kommer du till en sida med en lista över de länder som har speglingar av CPAN (många!).
Välj Norge eller Finland, och välj sedan en lämplig server (ex. ftp.funet.fi) som
ganska säkert kommer att hållas igång. Den svenska CPAN speglingen verkar ha lagts
ner vid kontroll 2009-02-12.
Efter att du tryckt enter så är konfigureringen av CPAN klar. För att spara och avsluta CPAN-shellet skriver du:
Får du inte upp frågan om vilken CPAN spegling du vill använda kan/måste du manuellt göra även denna inställning:
o conf init urllist
o conf commit exit
Passa på att uppdatera CPAN redan nu (du kommer annars att få en påminnelse att det finns en uppdatering):
cpan -i Bundle::CPAN
Om installationen/uppdateringen avbryts med ett felmeddelande liknande:
... Trying with "/usr/bin/lynx -source" to get ftp://ftp.port80.se/pub/CPAN/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz gzip: /root/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar: unknown suffix: ignored CPAN: Digest::MD5 loaded ok Checksum mismatch for distribution file. Please investigate. Distribution id = A/AN/ANDK/Bundle-CPAN-1.857.tar.gz CPAN_USERID ANDK (Andreas J. Koenigmåste det trixas lite för att få det att fungera. Ta bort den korrupta filen:) CONTAINSMODS MD5_STATUS localfile /root/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz ...
rm /root/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gzInstallera p5-LWP-UserAgent-Determined via packages:
pkg_add p5-LWP-UserAgent-Determined
Sen ska CPAN uppdateringen fungera:
cpan -i Bundle::CPAN
Uppdateringen tar en stund och kräver några tryck på enter för att göras. Starta CPAN shellet igen och svara på det kvarvarande frågorna (enter på 5 frågor):
perl -MCPAN -e shellSpara inställningarna och avsluta CPAN shellet:
o conf commit exit