QMail – Installazione di base (CentOS 7)
Per l’installazione usiamo una distribuzione CentOS 7 su piattaforma Intel Xeon 64 bit e 8GB Ram; per quanto riguarda il disco, vi consiglio di partizionarlo ricordandosi che:
/home: conterrà le mail dei vostri domini; vi consiglio di fare una partizione logica e formattazione XFS; /var: conterrà i binari di qmail, i log ed i vari temporanei che potranno essere creati; vi consiglio di creare una partizione logica; /tmp: se il disco che usate si riempirà, quest partizione vi permetterà di effettuare ancora login remoto alla vostra macchina; dimensionatela al pari della vostra ram (nel mio caso la partizione sarà una di 8GB formattata in EXT2);
Prima di effettuare l’installazione, registrare l’indirizzo IP della macchina che state installando nel DNS, impostatelo come MX primario e verificate che funzioni.
Dopo aver installato la CentOS 7 (io utilizzo la ISO in versione “minimal”) aggiorniamo il sistema con le ultime patch, installiamo alcuni package che ci serviranno in seguito, disabilitiamo selinux ed il firewall e riavviamo il sistema.
Apriamo una shell sul nostro server e digitiamo, come utente root i seguenti comandi:
# yum -y update # yum -y install lsof net-tools wget bind-utils # yum -y groupinstall "Development tools" # systemctl stop firewalld # systemctl disable firewalld # echo "SELINUX=enforcing" > /etc/selinux/config # echo "SELINUXTYPE=targeted" >> /etc/selinux/config # echo "172.28.0.202 mailtest.anthesia.lan" >> /etc/hosts # systemctl stop postfix # systemctl disable postfix # hostnamectl set-hostname mailtest.anthesia.lan # reboot
Possiamo ora cominciare a scaricare i package che ci servono per l’installazione; seguiremo le indicazioni fornite nella documentazione che possiamo trovare all’indirizzo “Life with QMail“; utilizzeremo la directory /usr/src come base per il nostro lavoro:
# #Scarichiamo i primi sorgenti: # cd /usr/src # wget http://www.qmail.org/netqmail-1.06.tar.gz # wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz # wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# #Creiamo le directory # mkdir /var/qmail # mkdir /etc/qmail # ln -s /etc/qmail /var/qmail/control
# #Creiamo gli utenti e i gruppi # groupadd -g 2108 nofiles # useradd -u 7790 -g nofiles -d /var/qmail/alias alias -s /sbin/nologin # useradd -u 7791 -g nofiles -d /var/qmail qmaild -s /sbin/nologin # useradd -u 7792 -g nofiles -d /var/qmail qmaill -s /sbin/nologin # useradd -u 7793 -g nofiles -d /var/qmail qmailp -s /sbin/nologin # groupadd -g 2107 qmail # useradd -u 7794 -g qmail -d /var/qmail qmailq -s /sbin/nologin # useradd -u 7795 -g qmail -d /var/qmail qmailr -s /sbin/nologin # useradd -u 7796 -g qmail -d /var/qmail qmails -s /sbin/nologin # rm -f /var/qmail/alias/.bash*
# #Compiliamo qmail # cd /usr/src # tar xvfz netqmail-1.06.tar.gz # cd netqmail-1.06 # make setup check # # Il comando successivo ha esito positivo se e solo se # # il dns server a cui appartiene il vostro mail server è correttamente configurato: # # dig mailtest.anthesia.lan --> 172.28.0.202 # # dig -x 172.28.0.202 --> mailtest.anthesia.lan # ./config
# #Compiliamo ucspi-tcp # cd /usr/src # tar xvfz ucspi-tcp-0.88.tar.gz # cd ucspi-tcp-0.88 # patch < /usr/src/netqmail-1.06/other-patches/ucspi-tcp-0.88.errno.patch # make # make setup check
# #Installiamo i daemon-tools # mkdir -p /package # chmod 1755 /package # cd /package # tar xvfz /usr/src/daemontools-0.76.tar.gz # cd admin/daemontools-0.76/src # patch < /usr/src/netqmail-1.06/other-patches/daemontools-0.76.errno.patch # cd .. # package/install
# # Aggiorniamo il sendmail mv /usr/lib/sendmail /usr/lib/sendmail.old mv /usr/sbin/sendmail /usr/sbin/sendmail.old chmod 0 /usr/lib/sendmail.old /usr/sbin/sendmail.old ln -s /var/qmail/bin/sendmail /usr/lib ln -s /var/qmail/bin/sendmail /usr/sbin
Creiamo lo startup file per i daemon tools per systemd; innanzi tutto editiamo il file /etc/inittab e cancelliamo la seguente riga:
SV:123456:respawn:/command/svscanboot
Creare un nuovo file /lib/systemd/system/daemontools.service ed inseriamo all’interno:
[Unit] Description=DJB daemontools After=syslog.target network.target [Service] ExecStart=/command/svscanboot Restart=always [Install] WantedBy=multi-user.target
Copiamo il link ed abilitiamo il servizio:
# ln -s /lib/systemd/system/daemontools.service /etc/systemd/system/multi-user.target.wants # systemctl enable daemontools # systemctl start daemontools
Infine riavviamo il nostro server
# reboot