Linux News, guides and tutorials

Tutorial

Gestire facilmente Postfix con Postfixadmin

Postfix è un ottimo server di posta, ma non è la più facile delle bestia da domare, se non siete un amministratore di sistema esperto e volete impostare solo un servizio per il vostro server e dominio, oggi vi mostrerò come installare e configurare postfixadmin una interfaccia web-based utilizzata per gestire le caselle di posta, domini virtuali e gli alias. Dispone inoltre di supporto per i messaggi per vacation/out-of-the-office.

Questo software è compatibile con diversi database e server IMAP/POP3 , nel seguente articolo userò Mysql come database server, su un server Linux Centos 6.



Breve descrizione e caratteristiche:

Postfix Admin è uno strumento di gestione Web creato per Postfix. Si tratta di un’applicazione basata su PHP per la gestione all’interno di Postfix dei domini virtuali e degli utenti che sono memorizzati in MySQL o PostgreSQL.

  • Amministrazione basata sul web per un server di posta Postfix
  • Supporto ai database MySQL o PostgreSQL
  • Supporto a Fetchmail
  • Supporto ai messaggi di Vacation / auto-risposta
  • Possibilità di integrazione con Squirrelmail / Roundcube

Primo passo: Requisiti

Per funzionare correttamente Postfix Admin ha bisogno dei seguenti software installati sul server Linux:

  • Postfix 2.0 o maggiore.
  • Apache 1.3.27 / Lighttpd 1.3.15 o maggiore.
  • PHP 5.1.2 o maggiore con supporto a mysql.
  • MySQL (5.x raccomandato)

Tutti questi software sono facilmente installabile su Centos 6 tramite yum

Secondo passo: installazione e configurazione Postfix Admin

Scarica l’ultima versione di Postfix Admin da sourceforge , in questo momento l’ultima versione è la 2.3.6.

Una volta scaricato il pacchetto sorgente scompattarlo nella document root del vostro server Web, in questo esempio la mia document root è /srv/posyfixadmin

cd /srv
tar -zxvf /tmp/postfixadmin-2.3.6.tar.gz
mv postfixadmin-2.3.6 postfixadmin

Configurare un database

Sul vostro server di database preferito, è necessario creare un nuovo database. Un buon nome per questo potrebbe essere:
postfix

La maggior parte degli utenti utilizza il phpMyAdmin come via più facile, per creare un database ed una utenza oppure è possibile creare utente e database MySQL in modo rapido e semplice eseguendo mysql dalla shell.

La sintassi è la seguente e il simbolo del dollaro è il prompt dei comandi:

$ mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.1.67 Source distribution
 
Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> CREATE DATABASE postfix;
Query OK, 1 row affected (0.00 sec)
 
mysql> CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'yourpassword';
Query OK, 0 rows affected (0.00 sec)
 
mysql> GRANT ALL PRIVILEGES ON `postfix`.* TO 'postfix'@'localhost';
Query OK, 0 rows affected (0.00 sec)
 
mysql> exit
Bye
 
$

Ora modificare il file config.inc.php – o – config.local.php e creare o aggiungere le impostazioni qui riportate.
Le impostazioni più importanti sono quelle per la connessione al server database che dovrebbero essere simili a queste:

$CONF['database_type'] = 'mysql';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
$CONF['database_password'] = 'yourpassword';
$CONF['database_name'] = 'postfix';

Dovete anche cambiare la linea di configurazione:

$CONF['configured'] = false;

In

$CONF['configured'] = true;

Postfixadmin non richiede l’accesso in scrittura a tutti i file. Pertanto, è possibile lasciare i file di proprietà di root (o altro utente), fino a quando l’utente del web server (ad esempio www-data o apache) è in grado di leggerli andrà tutto bene.

Ora aprite il vostro browser alla url: http://yourservername.com/setup.php si dovrebbe vedere una pagina come questa:

postfixadmin

Farà un check-up di base della configurazione e indicherà se manca qualcosa, alla mia prima verifica mi mancava php-mbstring e php-imap così li ho installati con:

yum install php-mbstring php-imap

E riavviato Apache, ricaricando la pagina ho ricevuto una “Ok”
Lo script setup.php tenterà di creare la struttura del database ed è possibile specificare una password (che avrete bisogno di usare se volete utilizzare setup.php ancora in futuro), quando si invia il modulo, il valore hash, che è necessario inserire in config.inc.php viene mostrato con queste istruzioni:

if you want to use the password you entered as setup password, edit config.inc.php and set
 
$CONF['setup_password'] = '1a05f571012e9f14c0f80f764d516f80:ec41add25de301101bac12649f929bbcbea8575e';

Cambiate quindi questa direttiva nel file di configurazione.
Ora è anche possibile creare l’account amministratore postfixadmin con un modulo come questo:

postfixadmin-createadmin

E questo è tutto, è stato correttamente installato e configurato Postfix Admin, è possibile visitare il vostro sito ed effettuare il login con il vostro account amministratore.

Configurazione di Postfix

Questa è la configurazione minima per far funzionare postfix e buona per il test. Vi permetterà di inviare e-mail non protette sulla porta 25. Nota, è meglio per garantire la connessione di posta elettronica proteggere almeno la password di cui si parla qui di seguito, ma prima accertarsi che la configurazione di base funzioni.

Aggiungere queste informazioni al file /etc/postfix/main.cf:

virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_base = /home/vmail
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_mailbox_domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
relay_domains = mysql:/etc/postfix/mysql_relay_domains.cf
smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_non_fqdn_hostname,
   reject_non_fqdn_sender,
   reject_non_fqdn_recipient,
   reject_unauth_destination,
   reject_unauth_pipelining,
   reject_invalid_hostname
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous

Create i seguenti file con questo contenuto:

/etc/postfix/mysql_virtual_mailbox_domains.cf

hosts = 127.0.0.1
user = postfix
password = my_passwd _2   #replace with the password you set above
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 0 and active = 1

/etc/postfix/mysql_virtual_mailbox_maps.cf

hosts = 127.0.0.1
user = postfix
password = my_passwd_2  #replace with the password you set above
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = 1

/etc/postfix/mysql_virtual_alias_maps.cf

hosts = 127.0.0.1
user = postfix
password = my_passwd _2  #replace with the password you set above
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = 1

/etc/postfix/mysql_relay_domains.cf

hosts = 127.0.0.1
user = postfix
password = my_passwd _2  #replace with the password you set above
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' and backupmx = 1

/etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
auxprop_plugin: rimap

Aggiornate /etc/default/saslauthd con:

START=yes
MECHANISMS="rimap"
#imap server address
MECH_OPTIONS="localhost"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"

Aggiungete l’utente postfix al gruppo sasl:

sudo adduser postfix sasl

Fate ripartire postfix

/etc/init.d/postfix restart

Ora sarete in grado di creare un nuovo dominio e cassette postali in esso dal web con alcune semplici pagine:

postfixadmin-admin-create-domain

Admin – Create domain

postfixadmin-admin-create-mailbox

Admin – Create mailbox

postfixadmin-admin-create-mailbox

Admin – Create mailbox

postfixadmin-admin-domain-list

Admin – List domains

flattr this!


Fonte: Linuxaria » Linuxaria – Everything about GNU/Linux and Open source

Leggi tutto: Gestire facilmente Postfix con Postfixadmin"



Ti piace il sito,? Sostienici, condividendolo sui social network!



Comments are disabled.