Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "ivantu/Server/Qmail"
Differenze tra le versioni 3 e 4
Versione 3 del 28/05/2025 11.00.35
Dimensione: 13606
Autore: ivantu
Commento: +rivisitazione intro
Versione 4 del 28/05/2025 18.16.15
Dimensione: 17767
Autore: ivantu
Commento: 2 stesura
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 22: Linea 22:
Un Fully Qualified Domain Name (FQDN) configurato per il server. Puoi verificarlo con hostname -f. Qmail si affida a questo '''F'''ully '''Q'''ualified '''D'''omain '''N'''ame configurato e risolvibile (es. `mail.tuodominio.com~) per identificarsi nella rete e per gestire la posta dei domini locali.

Verificare se corrisponde, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
hostname -f
}}} se non riporta l'FQDN corretto (ad esempio, visualizza "localhost", un nome incompleto, o un nome errato), la configurazione di '''Qmail''' fallirà e potrebbe non riuscire o funzionare in modo anomalo, il server non opererà come previsto.

{{{#!wiki note
Configurazione di base: Assicurarsi che il nome host del sistema '''Ubuntu''' sia impostato correttamente (tipicamente in `/etc/hostname` e `/etc/hosts`) in modo che restituisca l'FQDN desiderato.
}}}
Linea 27: Linea 35:
Tutti i comandi che seguono, se non diversamente specificato, dovrebbero preferibilmente essere eseguiti con [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di root]] usando sudo.
}}}

== Installazione delle dipendenze ==

Avremo bisogno degli strumenti di compilazione e di '''runit''' per la gestione dei servizi. `ucspi-tcp` è un insieme di tool usati da Qmail per i servizi di rete.

{{{
sudo apt update
sudo apt install -y build-essential runit git
}}}
Tutti i comandi che seguono, se non diversamente specificato, dovrebbero preferibilmente essere eseguiti con [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di root]].
}}}

Questa sezione guida attraverso i passaggi necessari per scaricare, compilare e installare `netqmail` e le sue dipendenze. È un processo suddiviso in più fasi che richiede attenzione.

== Installazione delle dipendenze di base ==

Prima di iniziare con '''Qmail''', assicurarsi che il sistema disponga degli strumenti necessari per la compilazione e della utility `runit` che userà per la gestione dei servizi di Qmail.

 0. [[AmministrazioneSistema/InstallareProgrammi/Apt#update|Aggiornare la lista dei pacchetti]].
 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://build-essential|build-essential]], [[apt://runit|runit]] e [[apt://git|git]].

##'''build-essential''': Installa i pacchetti fondamentali per la compilazione (come GCC, make).
##runit: Un sistema di inizializzazione e supervisione dei servizi leggero, ideale per Qmail.
Linea 41: Linea 52:
Scaricheremo netqmail-1.06 (l'ultima versione stabile al momento della stesura) e ucspi-tcp.

{{{
Scaricare i sorgenti di `ucspi-tcp` (è un insieme di tool utility di rete usate da '''Qmail''') e di '''netqmail''' stesso. Collocarli in questa cartella comune per i sorgenti compilati manualmente, di sistema `/usr/local/src`.

Collocarsi nella cartella, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 45: Linea 56:
}}}

Download ucspi-tcp

{{{
}}} e scaricare i sorgenti seguendo i paragrafi seguenti.

=== ucspi-tcp ===

 0. Scaricare `ucspi-tcp` (versione 0.88 al momento della scrittura). Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
Linea 52: Linea 63:
rm ucspi-tcp-0.88.tar.gz }}} dopo l'estrazione rimuovere l'archivio.
 0. Localizzarsi nella cartella appena decompressata. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 55: Linea 67:

Patch per compatibilità con GCC moderni se necessaria (errno.h)
Potrebbe essere necessario modificare conf-cc e conf-ld

{{{
echo 'gcc -O2 -include /usr/include/errno.h' > conf-cc
sudo make
 0. Compilare e installare `ucspi-tcp`. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
make
Linea 65: Linea 72:

Download netqmail

{{{
## Torna a /usr/local/src

{{{#!wiki note
'make' da solo compila, 'make setup check' installa e verifica
}}}

=== NetQmail ===

 0. Scaricare `netqmail` (versione 1.06 al momento della scrittura). Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
Linea 71: Linea 83:
rm netqmail-1.06.tar.gz }}} dopo l'estrazione rimuovere l'archivio.
 0. Localizzarsi nella cartella appena decompressata. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 75: Linea 88:
##Il comando `./collate.sh` menzionato nella vecchia guida per netqmail-1.05 non è necessario se si scarica direttamente netqmail-1.06.tar.gz poiché è già un pacchetto consolidato. Se si parte dai sorgenti originali di Qmail e da un set di patch separato, allora collate.sh (o uno script simile) sarebbe usato per applicarle. {{{#!wiki note
Il file `netqmail-1.06.tar.gz` è un pacchetto già "collazionato" che include Qmail originale e le patch di netqmail. Lo script `./collate.sh` menzionato in guide più datate (per netqmail-1.05) non è quindi necessario se si usa questo archivio, poiché è già un pacchetto consolidato. Se si parte dai sorgenti originali di Qmail e da un set di patch separato, allora collate.sh (o uno script simile) sarebbe usato per applicarle.
}}}

= Configurazione =
Linea 79: Linea 96:
'''Qmail''' viene eseguito con utenti e gruppi specifici per una maggiore sicurezza.

{{{
Per ragioni di sicurezza, '''Qmail''' opera utilizzando una serie di utenti e gruppi specifici con [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi]] limitati, seguendo il principio della separazione dei privilegi.

 0. Aggiungere i gruppi specifici nofiles al sistema, digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
Linea 87: Linea 104:
}}}
 0. Aggiungere i gruppi specifici qmail al sistema, digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
Linea 93: Linea 112:
{{{#!wiki note
-s /usr/sbin/nologin: Imposta una shell non interattiva per questi utenti di servizio.
}}}
Linea 95: Linea 118:
{{{ Ora, installati i sorgenti:

 0. Creare la directory base per Qmail. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 97: Linea 122:
}}} e procedere con la compilazione e installazione.
 0. Assegnare la proprietà della directory principale di '''qmail''' all'utente e gruppo '''qmailq/qmail'''. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 98: Linea 125:
}}} All'interno della directory dei sorgenti di netqmail-1.06 (/usr/local/src/netqmail-1.06)
{{{
}}}
 0. Assicurarsi di essere ancora nella directory dei sorgenti di netqmail-1.06, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
cd /usr/local/src/netqmail-1.06
}}} e compilare ed installare il setup con il comando:{{{
Linea 102: Linea 131:

Questo comando compila Qmail e lo installa in /var/qmail, configurando anche i permessi iniziali. Verificare l'output per eventuali errori durante la compilazione.




Linea 408: Linea 444:
= Risoluzione problemi =

== Applicare una patch comune per la compatibilità con versioni recenti di GCC ==

Questo previene errori relativi a 'errno' durante la compilazione:{{{
echo 'gcc -O2 -include /usr/include/errno.h' | sudo tee conf-cc > /dev/null
}}}

== Patch per compatibilità con GCC moderni se necessaria (errno.h) ==

Potrebbe essere necessario modificare conf-cc e conf-ld

{{{
echo 'gcc -O2 -include /usr/include/errno.h' > conf-cc
sudo make
sudo make setup check
cd ..
}}}


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 22.04 24.04

Introduzione

Questa guida è dedicata a Qmail, un Mail Transfer Agent (MTA) storico, e in particolare all'installazione della sua versione netqmail (arricchita da patch comunitarie) su sistemi Ubuntu.

Qmail non riceve nuove funzionalità da molti anni. Sebbene netqmail includa patch di sicurezza e compatibilità, considerare attentamente le implicazioni prima di usarlo in produzione. L'integrazione con standard moderni come DMARC (Domain-based Message Authentication Reporting and Conformance), DKIM (DomainKeys Identified Mail) avanzato e TLS robusto richiede sforzi aggiuntivi e patch.

L'installazione di Qmail è un processo notoriamente complesso che esige grande attenzione ai dettagli. Per la maggior parte degli utenti, alternative moderne e più semplici da gestire, come Postfix o Exim (entrambi facilmente reperibili nei repository ufficiali di Ubuntu), sono fortemente consigliate, buone alternative semplici da gestire e mantenere.

Prerequisiti

Qmail si affida a questo Fully Qualified Domain Name configurato e risolvibile (es. `mail.tuodominio.com~) per identificarsi nella rete e per gestire la posta dei domini locali.

Verificare se corrisponde, digitando nel terminale il comando:

hostname -f

se non riporta l'FQDN corretto (ad esempio, visualizza "localhost", un nome incompleto, o un nome errato), la configurazione di Qmail fallirà e potrebbe non riuscire o funzionare in modo anomalo, il server non opererà come previsto.

Configurazione di base: Assicurarsi che il nome host del sistema Ubuntu sia impostato correttamente (tipicamente in /etc/hostname e /etc/hosts) in modo che restituisca l'FQDN desiderato.

Installazione

Tutti i comandi che seguono, se non diversamente specificato, dovrebbero preferibilmente essere eseguiti con privilegi di root.

Questa sezione guida attraverso i passaggi necessari per scaricare, compilare e installare netqmail e le sue dipendenze. È un processo suddiviso in più fasi che richiede attenzione.

Installazione delle dipendenze di base

Prima di iniziare con Qmail, assicurarsi che il sistema disponga degli strumenti necessari per la compilazione e della utility runit che userà per la gestione dei servizi di Qmail.

  1. Aggiornare la lista dei pacchetti.

  2. Installare i pacchetti build-essential, runit e git.

Download e preparazione dei sorgenti

Scaricare i sorgenti di ucspi-tcp (è un insieme di tool utility di rete usate da Qmail) e di netqmail stesso. Collocarli in questa cartella comune per i sorgenti compilati manualmente, di sistema /usr/local/src.

Collocarsi nella cartella, digitare nel terminale il seguente comando:

cd /usr/local/src

e scaricare i sorgenti seguendo i paragrafi seguenti.

ucspi-tcp

  1. Scaricare ucspi-tcp (versione 0.88 al momento della scrittura). Digitare nel terminale i seguenti comandi:

    wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
    tar -xzf ucspi-tcp-0.88.tar.gz
    dopo l'estrazione rimuovere l'archivio.
  2. Localizzarsi nella cartella appena decompressata. Digitare nel terminale il seguente comando:

    cd ucspi-tcp-0.88
  3. Compilare e installare ucspi-tcp. Digitare nel terminale i seguenti comandi:

    make
    sudo make setup check
    cd ..

'make' da solo compila, 'make setup check' installa e verifica

NetQmail

  1. Scaricare netqmail (versione 1.06 al momento della scrittura). Digitare nel terminale i seguenti comandi:

    wget https://qmail.org/netqmail-1.06.tar.gz
    tar -xzf netqmail-1.06.tar.gz
    dopo l'estrazione rimuovere l'archivio.
  2. Localizzarsi nella cartella appena decompressata. Digitare nel terminale il seguente comando:

    cd netqmail-1.06

Il file netqmail-1.06.tar.gz è un pacchetto già "collazionato" che include Qmail originale e le patch di netqmail. Lo script ./collate.sh menzionato in guide più datate (per netqmail-1.05) non è quindi necessario se si usa questo archivio, poiché è già un pacchetto consolidato. Se si parte dai sorgenti originali di Qmail e da un set di patch separato, allora collate.sh (o uno script simile) sarebbe usato per applicarle.

Configurazione

Creazione degli utenti e dei gruppi

Per ragioni di sicurezza, Qmail opera utilizzando una serie di utenti e gruppi specifici con privilegi limitati, seguendo il principio della separazione dei privilegi.

  1. Aggiungere i gruppi specifici nofiles al sistema, digitare nel terminale i seguenti comandi:

    sudo groupadd nofiles
    sudo useradd -g nofiles -d /var/qmail/alias -s /usr/sbin/nologin alias
    sudo useradd -g nofiles -d /var/qmail -s /usr/sbin/nologin qmaild
    sudo useradd -g nofiles -d /var/qmail -s /usr/sbin/nologin qmaill
    sudo useradd -g nofiles -d /var/qmail -s /usr/sbin/nologin qmailp
  2. Aggiungere i gruppi specifici qmail al sistema, digitare nel terminale i seguenti comandi:

    sudo groupadd qmail
    sudo useradd -g qmail -d /var/qmail -s /usr/sbin/nologin qmailq
    sudo useradd -g qmail -d /var/qmail -s /usr/sbin/nologin qmailr
    sudo useradd -g qmail -d /var/qmail -s /usr/sbin/nologin qmails

-s /usr/sbin/nologin: Imposta una shell non interattiva per questi utenti di servizio.

Creazione della directory di Qmail e compilazione

Ora, installati i sorgenti:

  1. Creare la directory base per Qmail. Digitare nel terminale il seguente comando:

    sudo mkdir /var/qmail
    e procedere con la compilazione e installazione.
  2. Assegnare la proprietà della directory principale di qmail all'utente e gruppo qmailq/qmail. Digitare nel terminale il seguente comando:

    sudo chown qmailq:qmail /var/qmail
  3. Assicurarsi di essere ancora nella directory dei sorgenti di netqmail-1.06, digitando nel terminale il seguente comando:

    cd /usr/local/src/netqmail-1.06

    e compilare ed installare il setup con il comando:

    sudo make setup check

Questo comando compila Qmail e lo installa in /var/qmail, configurando anche i permessi iniziali. Verificare l'output per eventuali errori durante la compilazione.

Configurazione iniziale

Lo script config (o config-fast) imposta i file di controllo di base.

All'interno della directory dei sorgenti di netqmail-1.06

sudo ./config-fast tuo.host.completo

sostituire tuo.host.completo con il FQDN del tuo server (es. mail.example.com).

Si dovrebbe vedere un output simile a:

Your fully qualified host name is tuo.host.completo.
Putting tuo.host.completo into control/me...
Putting example.com into control/defaultdomain... (if your FQDN was mail.example.com)
Putting example.com into control/plusdomain...
Now qmail will refuse to accept SMTP messages except to tuo.host.completo.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!

È consigliabile usare Maildir come formato di default per le caselle di posta:

echo './Maildir/' | sudo tee /var/qmail/control/defaultdelivery

Creare la directory skeleton per Maildir se non esiste (qmail-local lo farà per i nuovi utenti, ma per l'utente alias è utile averla):

sudo mkdir -p /var/qmail/alias/Maildir/{cur,new,tmp}
sudo chmod -R 700 /var/qmail/alias/Maildir
sudo chown -R alias:nofiles /var/qmail/alias/Maildir

Configurazione degli alias

Qmail usa file .qmail-nomeutente nella home directory dell'utente alias (/var/qmail/alias).

Inoltrare mail per postmaster, mailer-daemon, root all'utente reale 'adminuser' (sostituirlo!)

echo '&adminuser' | sudo tee /var/qmail/alias/.qmail-postmaster
echo '&adminuser' | sudo tee /var/qmail/alias/.qmail-mailer-daemon
echo '&adminuser' | sudo tee /var/qmail/alias/.qmail-root
sudo chmod 644 /var/qmail/alias/.qmail-postmaster /var/qmail/alias/.qmail-mailer-daemon /var/qmail/alias/.qmail-root

Catch-all per email a utenti inesistenti (opzionale, potrebbe andare a postmaster)

echo '&adminuser' | sudo tee /var/qmail/alias/.qmail-default
sudo chmod 644 /var/qmail/alias/.qmail-default

sostituire adminuser con un utente di sistema reale che riceverà queste mail, oppure indirizzale a una casella specifica (es. &localmailbox).

Configurazione dei servizi con Runit

Qmail non si daemonizza da solo. Useremo runit per supervisionare i processi di Qmail.

Preparazione dello script di avvio qmail-start

Copiare lo script di avvio fornito da Qmail.

sudo cp /var/qmail/boot/home /var/qmail/rc

assicurarsi che /var/qmail/rc sia eseguibile

sudo chmod 755 /var/qmail/rc

controlla il file /var/qmail/rc. NON deve terminare con &. runit gestirà l'esecuzione in background. Dovrebbe assomigliare a:

Using splogger to send the log through stderr to runit's logger.

exec env - PATH="/var/qmail/bin:$PATH"
qmail-start "cat /var/qmail/control/defaultdelivery" splogger qmail

Creazione dei servizi Runit

Creeremo i servizi per qmail-send (il gestore della coda) e qmail-smtpd (il server SMTP).

a) Servizio qmail-send

sudo mkdir -p /etc/sv/qmail-send/log

Creare /etc/sv/qmail-send/run:

exec /var/qmail/rc

renderlo eseguibile:

sudo chmod +x /etc/sv/qmail-send/run

Creare /etc/sv/qmail-send/log/run per la gestione dei log:

Log a /var/log/qmail/qmail-send, crea la directory se non esiste

sudo mkdir -p /var/log/qmail/qmail-send
sudo chown qmaill:nofiles /var/log/qmail/qmail-send
exec /usr/bin/svlogd -tt /var/log/qmail/qmail-send

renderlo eseguibile:

sudo chmod +x /etc/sv/qmail-send/log/run

b) Servizio qmail-smtpd (SMTP sulla porta 25)

sudo mkdir -p /etc/sv/qmail-smtpd/log

Creare /etc/sv/qmail-smtpd/run:

PATH="/var/qmail/bin:/usr/local/bin:
𝑃𝐴𝑇𝐻"𝑄𝑀𝐴𝐼𝐿𝐷𝑈𝐼𝐷=
PATH"QMAILDUID=
(id -u qmaild)
NOFILESGID=
(𝑖𝑑 −𝑔 𝑛𝑜𝑓𝑖𝑙𝑒𝑠)
𝑀𝐴𝑋𝑆𝑀𝑇𝑃𝐷=
(id−gnofiles)MAXSMTPD=
(cat /var/qmail/control/concurrencyincoming 2>/dev/null || echo 20)
HOSTNAME=$(cat /var/qmail/control/me)

Se non ha un tcp.smtp.cdb, commentare -x ...
Vedere sotto per la creazione di tcp.smtp.cdb

exec /usr/local/bin/tcpserver -vR -l "
𝐻
𝑂
𝑆
𝑇
𝑁
𝐴
𝑀
𝐸
"
 
𝑥
/
𝑒
𝑡
𝑐
/
𝑡
𝑐
𝑝
.
𝑠
𝑚
𝑡
𝑝
.
𝑐
𝑑
𝑏
−𝑐"
HOSTNAME" −x/etc/tcp.smtp.cdb−c"
MAXSMTPD"-u "
𝑄𝑀𝐴𝐼𝐿𝐷𝑈𝐼𝐷"−𝑔"
QMAILDUID"−g"
NOFILESGID" 0 smtp
/var/qmail/bin/qmail-smtpd 2>&1

renderlo eseguibile:

sudo chmod +x /etc/sv/qmail-smtpd/run

Creare /etc/sv/qmail-smtpd/log/run:

Log a /var/log/qmail/qmail-smtpd, crea la directory se non esiste

sudo mkdir -p /var/log/qmail/qmail-smtpd
sudo chown qmaill:nofiles /var/log/qmail/qmail-smtpd
exec /usr/bin/svlogd -tt /var/log/qmail/qmail-smtpd

renderlo eseguibile:

sudo chmod +x /etc/sv/qmail-smtpd/log/run

Impostare un valore per concurrencyincoming:

echo 30 | sudo tee /var/qmail/control/concurrencyincoming

c) Creazione di tcp.smtp.cdb (Regole di accesso SMTP)

Questo file controlla chi può connettersi al server SMTP.

Creare /etc/tcp.smtp:

Esempio: Permetti a tutti di connettersi
127.0.0.1:allow,RELAYCLIENT=""
:allow

Per un server di relay aperto (NON RACCOMANDATO SENZA AUTENTICAZIONE):
:allow,RELAYCLIENT=""

Per un server che accetta mail solo per i domini locali (più sicuro come default):

127.0.0.1:allow,RELAYCLIENT=""

Per reti locali fidate, aggiungere righe come:

192.168.1.:allow,RELAYCLIENT=""

:allow

Compilare il file CDB:

sudo tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
sudo chmod 644 /etc/tcp.smtp.cdb /etc/tcp.smtp

Abilitazione dei servizi Runit

Collegare le directory dei servizi alla cartella /etc/service/ per farle gestire da runit.

sudo ln -s /etc/sv/qmail-send /etc/service/
sudo ln -s /etc/sv/qmail-smtpd /etc/service/

Attendere qualche secondo e verificare lo stato, digitare nel terminale il seguente comando:

sudo sv status qmail-send qmail-smtpd

si dovrebbe vedere:

run: qmail-send: (pid XXXX) Ys e run: qmail-smtpd: (pid YYYY) Zs.

Configurazione del Firewall (UFW)

Se si utilizza ufw, aprire le porte necessarie, digitare nel terminale i seguenti comandi:

  • SMTP:

    sudo ufw allow 25/tcp
  • Submission (richiede configurazione aggiuntiva per TLS e AUTH):

    sudo ufw allow 587/tcp
  • SMTPS (obsoleto, ma a volte usato):

    sudo ufw allow 465/tcp

Attivazione Ufw

sudo ufw enable

Verifica Firewall

sudo ufw status

Test base

  1. Controllare la coda di Qmail, digitare nel terminale i seguenti comandi:

    sudo qmail-qstat
    sudo qmail-qread
  2. Inviare una mail di test usando telnet (se c'è un client telnet installato):

    telnet localhost 25
    EHLO test.example.com
    MAIL FROM:test@example.com
    RCPT TO:postmaster@tuo.host.completo # Usa l'FQDN configurato
    DATA
    Subject: Test email
    
    This is a test email from Qmail.
    .
    QUIT

    controllare i log in /var/log/qmail/qmail-send/ e /var/log/qmail/qmail-smtpd/, e la casella di posta dell'utente a cui è stato inoltrato postmaster.

Passi successivi e considerazioni importanti

Questa guida copre solo l'installazione di base. Per un server di posta funzionante in un ambiente moderno, è da considerare:

  • TLS/SSL: Configurare sslserver (da ucspi-ssl o ucspi-tcp patchato) al posto di tcpserver per le connessioni SMTP (specialmente per la porta 587 Submission). Richiede la generazione e l'installazione di certificati SSL/TLS.

  • Autenticazione SMTP (SMTP AUTH): Necessaria se si vuole che gli utenti inviino mail tramite il server da client esterni. Richiede patch aggiuntive a Qmail e un meccanismo di autenticazione (es. checkpassword, authdaemond).

  • POP3/IMAP: Qmail gestisce solo l'invio e la ricezione. Per leggere la posta, c'è bisogno di un server POP3/IMAP come Dovecot o Courier.

  • Filtro Antispam/Antivirus: Integrazione con SpamAssassin, ClamAV, ecc. (es. tramite qmail-scanner o simscan).

  • SPF, DKIM, DMARC: Configurazione di questi record DNS e l'integrazione di software per la firma DKIM (es. qmail-dkim o opendkim via milter se patchato) sono essenziali per la deliverability.

  • Gestione Utenti: Per gestire caselle di posta virtuali e utenti, potrebbe aver bisogno di strumenti come vpopmail o qmailadmin.

  • Log Rotation: Configurare 'logrotate' per i log di Qmail in /var/log/qmail/.

La risorsa più completa per Qmail è da tempo Life with Qmail. Anche se alcune parti potrebbero essere datate, i concetti fondamentali e molte patch sono ancora validi.

Note:

Questa bozza assume che tu voglia che runit gestisca direttamente i servizi Qmail.

I percorsi e i nomi dei file per runit (/etc/sv/, /etc/service/) sono standard.

La gestione dei log con svlogd è una delle opzioni fornite da runit; multilog di DJB è un'altra alternativa popolare.

L'aggiornamento da un sistema SysVinit esistente è complesso e va oltre questa guida. È consigliabile una nuova installazione.

Risoluzione problemi

Applicare una patch comune per la compatibilità con versioni recenti di GCC

Questo previene errori relativi a 'errno' durante la compilazione:

echo 'gcc -O2 -include /usr/include/errno.h' | sudo tee conf-cc > /dev/null

Patch per compatibilità con GCC moderni se necessaria (errno.h)

Potrebbe essere necessario modificare conf-cc e conf-ld

echo 'gcc -O2 -include /usr/include/errno.h' > conf-cc
sudo make
sudo make setup check
cd ..


CategoryHomepage CategoryNuoviDocumenti