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 -m
btree  
cidr  
environ  
hash  
ldap  
mysql  
is  
proxy  
regexp  
static  
unix

Se 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: quit

Hai notato le due nuove righe?

250-AUTH PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI  
250-AUTH=PLAIN LOGIN DIGEST-MD5 CRAM-MD5 GSSAPI

Queste sono le righe che Postfix emette quando offre l’uso di SMTP AUTH.

Controlla Postfix per il supporto TLS

telnet mail.example.co.tz 25

Questa 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/smtpd
libsasl.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 25
S: 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 TLS

Inviare 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 pop3
Trying 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/phpadmin

Cambia 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.php

Quindi 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.php

Modifica 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 MySQL

Salva ed esci dal file.

Crea un alias virtuale in /etc/httpd/conf/httpd.conf aggiungendo le seguenti righe.

vi /etc/httpd/conf/httpd.conf
Alias /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 -lmysqlclient

Appendice 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

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.