Postfixadmin è un'applicazione web sviluppata in PHP per gestire graficamente e in modo più semplice il server di posta elettronica Postfix.
PostfixAdmin è il pannello di controllo web che ci permetterà di gestire domini e utenti di posta virtuali, svincolandoci da file di testo e dal condividere gli utenti di sistema con la posta elettronica.
Infatti, come configurato precedentemente, Postfix cercherà le configurazioni relative sul database MySQL e con PostfixAdmin eviteremo di inserire dati a mano con query macchinose e permetteremo la gestione diretta di un dominio al relativo proprietario.
Postfix Admin si appoggia ai database MySQL e PostgreSQL e permette di gestire il sistema di posta tramite interfaccia web.
Il database utilizzato contiene le informazioni necessarie a Postfix ed eventualmente a un server come Dovecot per svolgere le funzioni di invio e lettura delle e-mail.
Installazione PostfixAdmin
PostfixAdmin è il pannello di controllo web che ci permetterà di gestire domini e utenti di posta virtuali, svincolandoci da file di testo e dal condividere gli utenti di sistema con la posta elettronica.
Infatti, come configurato precedentemente, Postfix cercherà le configurazioni relative sul database MySQL e con PostfixAdmin eviteremo di inserire dati a mano con query macchinose e permetteremo la gestione diretta di un dominio al relativo proprietario.
Scarichiamo allora il file tgz della versione stabile (al momento della scrittura la 2.1.0 reperibile qui) e scompattiamolo in /var/www, con i privilegi di root, usando:
tar xvfz postfixadmin-2.1.0.tgz
Rinominiamo la directory in postfixadmin attraverso il comando
mv postfixadmin-2.1.0 postfixadmin
Poi, modifichiamo il proprietario e il gruppo dei files con
chown -R www-data postfixadmin
chgrp -R www-data postfixadmin
Impostiamo infine i corretti permessi per i files contenuti eseguendo
find /var/www/postfixadmin -type f -exec chmod 640 {} \;
Entriamo nella directory di PostfixAdmin (cd postfixadmin) per procedere al setup.
Configuriamo correttamente il file config.inc.php, copiando il default config.inc.php.sample digitando:
cp config.inc.php.sample config.inc.php
Con l’editor di testo preferito dovremo modificare i valori come segue:
$CONF[’default_language’] = ‘it’;
$CONF[’database_password’] = ‘PASSWORD2′;
È possibile modificare anche gli altri valori descrittivi ed informativi, come l’indirizzo e-mail del gestore del server e il messaggio di benvenuto per le nuove caselle.
PASSWORD2 differisce dalla precedente variabile PASSWORD usata dentro i file cf relativi alle credenziali per l’accesso in lettura da parte del server di posta, perché è quella relativa all’utente MySQL postfixadmin (e non postfix) usato dal pannello web, che avrà accessa anche in scrittura.
È caldamente consigliato, per ovvie ragioni, impostarne due differenti.
Un altro passo da compiere è copiare le istruzioni SQL di default (in /var/www/postfixadmin/DATABASE_MYSQL.TXT) in un posto sicuro come /root e modificare le righe:
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfix’,password(’postfix’));
INSERT INTO user (Host, User, Password) VALUES (’localhost’,'postfixadmin’,password(’postfixadmin’));
sostituendo postfix e postfixadmin rispettivamente con il valore assegnato a PASSWORD e PASSWORD2 in precedenza.
Una volta salvato il file, le istruzioni possono essere applicate eseguendo
mysql -u root -p < /root/DATABASE_MYSQL.txt verrà chiesta la password dell’utente root di MySQL e sarà quindi necessario digitarla e premere invio. Una volta fatto si dovrebbe cancellare il file txt contenente le password degli utenti MySQL.
La sezione « admin» di PostfixAdmin non è protetta ed è quindi consigliabile applicare una combinazione htaccess+htpasswd. Modifichiamo la prima riga del file admin/.htaccess facendola diventare AuthUserFile /var/www/postfixadmin/admin/.htpasswd Creiamo in modo corretto il file .htpasswd con htpasswd -bc admin/.htpassswd admin PASSWORD sostituendo PASSWORD con un’adeguata parola chiave segreta.
Per evitare di ricevere errori dal pannello è necessario, come ultima operazione, rimuovere il file setup.php.
Installazione di Courier per i servizi di POP ed IMAP.
Postfix è un MTA che non include i servizi di POP ed IMAP, e che quindi da solo non permette ad utente remoto di usare questi protocolli per leggere la posta elettronica.
Possiamo installare Courier per soddisfare entrambi i bisogni.
I pacchetti necessari, da passare come argomento ad apt-get install sono courier-pop courier-imap courier-authdaemon courier-authlib-mysql.
I relativi file da modificare sono /etc/courier/authmysqlrc e /etc/courier/authdaemonrc.
Il primo dovrà contenere:
MYSQL_CRYPT_PWFIELD password
MYSQL_DATABASE postfix
MYSQL_GID_FIELD 'GID'
MYSQL_HOME_FIELD '/usr/local/virtual/'
MYSQL_LOGIN_FIELD username
MYSQL_MAILDIR_FIELD maildir
MYSQL_NAME_FIELD name
MYSQL_OPT 0
MYSQL_PASSWORD PASSWORD
MYSQL_SERVER 127.0.0.1
MYSQL_SOCKET /var/run/mysqld/mysql.sock
MYSQL_PORT 3306
MYSQL_UID_FIELD 'UID'
MYSQL_USERNAME postfix
MYSQL_USER_TABLE mailbox
Sostituendo UID, GID e PASSWORD come spiegato in precedenza.
Nel secondo invece è necessario modificare le impostazioni di authmodulelist, daemons, version e authdaemonvar facendoli diventare come sotto:
authmodulelist=”authmysql authcustom authuserdb authpam”
dameons=5
version=”authdaemond.mysql”
authdaemonvar=”/var/run/courier/authdaemon
Ora è possibile riavviare Courier digitando
/etc/init.d/courier-imap restart
Screenshots.
Nessun commento:
Posta un commento
Non inserire link cliccabili altrimenti il commento verrà eliminato. Metti la spunta a Inviami notifiche per essere avvertito via email di nuovi commenti.