Configurazione Server · 6 min read · Nov 13, 2025
Come configurare il server di posta ISP con utenti/domini virtuali su Centos 5.0 utilizzando Postfix, Dovecot, MySQL, phpMyAdmin, TLS/SSL - Pagina 3
Testare e verificare la tua configurazione:
Controlla il supporto MySQL di Postfix
postconf -mbtree
cidr
environ
hash
ldap
mysql
is
proxy
regexp
static
unixSe MySQL non appare, controlla la tua installazione e ricompila di nuovo postfix.
Controlla il supporto SMTP AUTH di Postfix
telnet mail.example.co.tz 25(S: = server, C: = client):
S: 220 mail.example.co.tz ESMTP Postfix
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI
S: 250-XVERP
S: 250 8BITMIME
C: quitHai notato le due nuove righe?
250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPIQueste sono le righe che Postfix emette quando offre l’uso di SMTP AUTH.
Controlla Postfix per il supporto TLS
telnet mail.example.co.tz 25Questa sezione si applica sia per l’installazione NON-RPM che RPM.
Nel nostro HOWTO il demone smtpd si trova in /usr/libexec/postfix/. Quindi facciamo quanto segue nella riga di comando:
ldd /usr/libexec/postfix/smtpdlibsasl.so.7 => /usr/lib/libsasl.so.7 (0x4001e000)
libssl.so.2 => /lib/libssl.so.2 (0x4002a000)
libcrypto.so.2 => /lib/libcrypto.so.2 (0x40057000)
libdb-3.2.so => /lib/libdb-3.2.so (0x4011a000)
libnsl.so.1 => /lib/libnsl.so.1 (0x401c1000)
libresolv.so.2 => /lib/libresolv.so.2 (0x401d7000)
libgdbm.so.2 => /usr/lib/libgdbm.so.2 (0x401ea000)
libc.so.6 => /lib/i686/libc.so.6 (0x401f1000)
libdl.so.2 => /lib/libdl.so.2 (0x4032c000)
libcrypt.so.1 => /lib/libcrypt.so.1 (0x40330000)
libpam.so.0 => /lib/libpam.so.0 (0x4035d000)
libgssapi_krb5.so.2 => /usr/kerberos/lib/libgssapi_krb5.so.2 (0x40365000)
libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x40378000)
libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x403d1000)
libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x403e2000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)Il demone smtpd supporta TLS. Se non riesci a trovare libssl nell’output, hai costruito Postfix con librerie statiche o la costruzione di Postfix con TLS non ha funzionato. In questo caso dovrai riconfigurare il tuo sorgente Postfix, ricompilarlo o ricostruirlo, eseguire il backup dei dati in /etc/postfix/ e reinstallare i binari di Postfix appena compilati.
Successivamente verificheremo se possiamo avviare una sessione TLS. Ci connettiamo al server e controlliamo se la stringa STARTTLS appare quando Postfix pubblicizza le sue capacità. Poi digitiamo semplicemente STARTTLS e aspettiamo che Postfix risponda che è pronto per avviare TLS. Questo è come dovrebbe apparire la nostra sessione telnet di successo:
telnet mail.example.co.tz 25S: 220 mail.example.co.tz ESMTP Postfix (1.1.5)
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-STARTTLS - -Supporto TLS
S: 250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI
S: 250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI
S: 250-XVERP
S: 250 8BITMIME
C: STARTTLS
S: 220 Pronto per avviare TLSInviare una mail di prova dalla macchina locale
Per prima cosa verificheremo di essere in grado di inviare mail su localhost all’utente test. Questo è il caso di test più semplice che abbiamo. Se riusciamo, passeremo a inviare mail a test da un client di posta che non gira sul nostro server Postfix.
mail [email protected]Subject: Test da localhost
Test #1
.
Cc:
[[email protected]]#Controlla la consegna della mail di prova sulla macchina locale
Telnet a pop3 per vedere se postfix ha consegnato la tua mail:
telnet example.co.tz pop3Trying 192.168.49.81...
Connected to mail.example.co.tz (192.168.49.81).
Escape character is '^]'.
+OK Dovecot pronto.
user [email protected]
+OK
pass mwamaLis
+OK Accesso effettuato.
list
+OK 1 messaggi:
1 429
.
retr 1
+OK 429 ottetti
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: by mail.example.co.tz (Postfix, from userid 500)
id 74408C0AC6; Thu, 19 Jun 2008 10:47:52 +0300 (EAT)
To: [email protected]
Subject: Test da locale
Message-Id: <[email protected]>
Date: Thu, 19 Jun 2008 10:47:52 +0300 (EAT)
From: [email protected] (Utente)Test #1
.
]^ [[email protected]]$Consulta l’Appendice B per ulteriori casi di test.
Infine, apri il browser e vai su http://mail.example.co.tz e inserisci il nome utente e la password e poi clicca su Login. E divertiti a giocare con il tuo server di posta.
Installazione e configurazione di phpMyAdmin:
PhpMyAdmin è un’utilità scritta in PHP che è destinata ad aiutare nell’amministrazione di un server MySQL, sia localmente che su WWW. È mantenuto attraverso il duro lavoro e la dedizione delle persone del progetto phpMyAdmin ed è attualmente disponibile in 47 lingue diverse.
Installazione:
Scarica ed estrai il pacchetto phpMyAdmin. Spostiamo il file dove ne abbiamo bisogno e cambiamo il nome in qualcosa di più semplice;
mv phpMyAdmin-2.11.6-english /var/www/html/phpadminCambia directory nella directory radice di phpadmin:
cd phpadmin/Ora, ciò che dobbiamo fare è rinominare e modificare il file config.sample.inc.php affinché funzioni con la tua configurazione.
cp -p config.sample.inc.php config.inc.phpQuindi utilizzando vi, o qualunque sia il tuo editor preferito, apri config.inc.php, trova le seguenti righe e modificale come appropriato per la tua configurazione;
vi config.inc.phpModifica le seguenti righe:
Inserisci questa riga con una parola o frase come password; esempio:
$cfg['blowfish_secret'] = 'bongo';
$cfg['Servers'][$i]['controluser'] = 'pma'; --Nome utente MySQL
$cfg['Servers'][$i]['controlpass'] = 'pmapass'; --Password MySQLSalva ed esci dal file.
Crea un alias virtuale in /etc/httpd/conf/httpd.conf aggiungendo le seguenti righe.
vi /etc/httpd/conf/httpd.confAlias /phpadmin /var/www/html/phpadmin
Order allow,deny
Allow from all
Dopo questo, apri un browser e inserisci http://127.0.0.1/phpadmin nella barra degli indirizzi. Inserisci il nome utente e la password e inizia a usarlo. Goditi l’uso di phpMyAdmin per creare utenti, domini e alias.
Appendice A:
Opzioni del compilatore:
Le opzioni che Postfix necessita nel suo Makefile sono definite in variabili di ambiente come CCARGS.
CCARGS: Fornisce argomenti aggiuntivi al compilatore. Se il tuo compilatore consente opzioni speciali o i tuoi file di supporto non si trovano nelle directory predefinite, indica quelle opzioni con questa variabile. La posizione standard per i file header è la directory /usr/include. Se i tuoi file header si trovano altrove, devi dire al compilatore dove cercarli. L’opzione del compilatore -I è utilizzata per specificare directory aggiuntive dove il compilatore potrebbe trovare file header.
CCARGS='-I/usr/local/include/'Utilizza opzioni -I aggiuntive per ogni directory aggiuntiva che il compilatore dovrebbe cercare.
Postfix utilizza la compilazione condizionale durante la sua costruzione, a seconda delle librerie o di altre risorse disponibili sul tuo sistema. Definisce determinati macro in base a ciò che scopre sul tuo sistema o in base alle opzioni che hai selezionato. L’opzione -D fornisce un modo per definire macro al momento della compilazione di Postfix. I pacchetti aggiuntivi per Postfix richiedono che tu definisca un particolare macro per dire a Postfix di includerlo durante la costruzione.
Ad esempio, se vuoi includere il supporto per MySQL, definisci il macro HAS_MYSQL:
CCARGS='-DHAS_MYSQL'Le opzioni del linker sono impostate nella variabile AUXLIBS. Dopo che Postfix ha compilato i file oggetto, li collega insieme con le librerie richieste in file eseguibili. La posizione standard per le librerie di sistema è /usr/lib. Per dire al linker di cercare directory aggiuntive per le librerie, utilizza l’opzione -L:
AUXLIBS='-L/usr/local/lib'Devi anche dire al linker quali librerie specifiche collegare. L’opzione -l è utilizzata per nominare librerie specifiche. I file delle librerie devono trovarsi in una posizione standard o in una directory indicata con l’opzione -L. I file di archivio delle librerie sono nominati iniziando con lib, seguito dal loro nome, seguito dall’estensione, che è normalmente .a per librerie statiche e .so o .sl per oggetti condivisi o librerie condivise. Quando utilizzi l’opzione -l, ometti il lib iniziale e l’estensione del file della libreria. Per collegare la libreria client MySQL, ad esempio, dove il file della libreria è chiamato libmysqlclient.a, l’opzione -l è specificata come segue:
AUXLIBS='-L/usr/local/lib -lmysqlclientAppendice B
Consegnare mail a un utente remoto (Relaying)
Ci connettiamo a mail.example.co.tz 25. Da una macchina remota, telnet a 192.168.49.81 porta 25. In caso di connessione riuscita, postfix si avvierà e ci saluterà con il suo banner smtpd. (Se non riesci a connetterti, controlla le regole delle tabelle del firewall o se postfix è in esecuzione.) Una volta connesso, esegui i seguenti comandi.
(S: = server, C: = client):
S: 220 mail.example.co.tz ESMTP Postfix
C: EHLO example.co.tz
S: 250-mail.example.co.tz
S: 250-PIPELINING
S: 250-SIZE 10240000
S: 250-VRFY
S: 250-ETRN
S: 250-XVERP
S: 250 8BITMIME
C: mail from:< [email protected] >
S: 250 Ok
C: rcpt to:< [email protected] >
S: 250 Ok
C: data
S: 354 End data with
C: Testmail relaying mail from [email protected] to [email protected]
C: Test #3
C: .
S: 250 Ok: queued as 84BA64078A
C: quit
S: 221 Bye
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.