Gestione domini virtual con postfixadmin: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
| Line 1: | Line 1: | ||
Il pacchetto .deb di postfixadmin è stato inserito nel repository RVM. Alternativamente scaricarlo ed installarlo a mano | Il pacchetto .deb di postfixadmin è stato inserito nel repository RVM. Alternativamente scaricarlo ed installarlo a mano | ||
=Caricamento sul repository RVM= | |||
* Scaricare il .deb da sourceforge [http://sourceforge.net/projects/postfixadmin/files/postfixadmin/ Postfix Admin - Browse /postfixadmin at SourceForge.net] | * Scaricare il .deb da sourceforge [http://sourceforge.net/projects/postfixadmin/files/postfixadmin/ Postfix Admin - Browse /postfixadmin at SourceForge.net] | ||
| Line 7: | Line 7: | ||
deb_rvm-upload postfixadmin_2.3.6-1_all.deb | deb_rvm-upload postfixadmin_2.3.6-1_all.deb | ||
=Installazione= | |||
*Installarlo da repository RVM: | *Installarlo da repository RVM: | ||
sudo apt-get install postfixadmin | sudo apt-get install postfixadmin | ||
==Configurazione con db-config-common== | |||
* Con questa modalità di configurazione, la parte database viene già consifgurata. | |||
==Configurazione database manuale== | |||
* Creare il database | * Creare il database | ||
postfixadmin | postfixadmin | ||
| Line 35: | Line 26: | ||
<pre> | <pre> | ||
$CONF['database_type'] = 'mysqli'; | $CONF['database_type'] = 'mysqli'; | ||
$CONF['database_host'] = 'localhost'; | $CONF['database_host'] = 'localhost'; | ||
| Line 48: | Line 33: | ||
$CONF['database_prefix'] = ''; | $CONF['database_prefix'] = ''; | ||
// Impostazioni DB | // Impostazioni DB | ||
</pre> | |||
=Preconfigurazione= | |||
* Impostare questi parametri prima di procedere alla configurazione via web: | |||
<pre> | |||
$CONF['postfix_admin_url'] = 'http://myserver.priv/postfixadmin'; | |||
// URL per far funzionare i link interni | |||
$CONF['default_language'] = 'it'; | |||
// Lingua di default dell'interfaccia web | |||
$CONF['admin_email'] = 'gabriele.vivinetto@rvmgroup.it'; | |||
// Il login inziale dell'utente amministrativo | |||
$CONF['encrypt'] = 'md5crypt'; | $CONF['encrypt'] = 'md5crypt'; | ||
| Line 81: | Line 80: | ||
$CONF['setup_password'] = 'f74986889643960430367b466d2575e6:537950f5dcb72607483e | $CONF['setup_password'] = 'f74986889643960430367b466d2575e6:537950f5dcb72607483e | ||
* Fare login con email e | * Fare login con email e password specificati | ||
* Creare il dominio ed uno user di test | * Creare il dominio ed uno user di test | ||
=Configurazione postfix= | |||
* Identificare uid e gid dello user postfix (tipicamente 101/101): | * Identificare uid e gid dello user postfix (tipicamente 101/101): | ||
| Line 174: | Line 173: | ||
=Configurazione Dovecot= | |||
sudoedit /etc/dovecot/dovecot-sql.conf | sudoedit /etc/dovecot/dovecot-sql.conf | ||
| Line 248: | Line 247: | ||
sudo invoke-rc.d dovecot restart | sudo invoke-rc.d dovecot restart | ||
==Riferimenti | =Upgrade= | ||
* La nuova versione gestisce il database con dbconfig-common | |||
* Per migrare, impostare la password in | |||
/etc/dbconfig-common/postfixadmin.conf | |||
* Aggiornare la configurazione: | |||
sudo /usr/sbin/dbconfig-generate-include -f php /etc/dbconfig-common/postfixadmin.conf /etc/postfixadmin/dbconfig.inc.php | |||
* Impostare le permission | |||
sudo chown :www-data /etc/postfixadmin/dbconfig.inc.php | |||
sudo chmod g+r /etc/postfixadmin/dbconfig.inc.php | |||
=Riferimenti= | |||
*[http://www.freebsdwiki.net/index.php/Postfix,_virtual_domain_setup#Dovecot_installation.2C_and_SASL_configuration_for_the_Postfix_SMTP_server Postfix, virtual domain setup - FreeBSDwiki] | *[http://www.freebsdwiki.net/index.php/Postfix,_virtual_domain_setup#Dovecot_installation.2C_and_SASL_configuration_for_the_Postfix_SMTP_server Postfix, virtual domain setup - FreeBSDwiki] | ||
*[http://serverfault.com/questions/232156/sasl-postfixadmin-smtp-authentication-with-hashed-password postfix - SASL + postfixadmin - SMTP authentication with hashed password - Server Fault] | *[http://serverfault.com/questions/232156/sasl-postfixadmin-smtp-authentication-with-hashed-password postfix - SASL + postfixadmin - SMTP authentication with hashed password - Server Fault] | ||
Revision as of 10:36, 29 October 2013
Il pacchetto .deb di postfixadmin è stato inserito nel repository RVM. Alternativamente scaricarlo ed installarlo a mano
Caricamento sul repository RVM
- Scaricare il .deb da sourceforge Postfix Admin - Browse /postfixadmin at SourceForge.net
- Caricarlo sul repository con
deb_rvm-upload postfixadmin_2.3.6-1_all.deb
Installazione
- Installarlo da repository RVM:
sudo apt-get install postfixadmin
Configurazione con db-config-common
- Con questa modalità di configurazione, la parte database viene già consifgurata.
Configurazione database manuale
- Creare il database
postfixadmin
- Creare lo user con tutti i diritti sul db postfixadmin
postfixadmin/postfixpassword
- Modificare i parametri di configurazione:
cd /etc/postfixadmin sudoedit /etc/postfixadmin/config.inc.php
$CONF['database_type'] = 'mysqli'; $CONF['database_host'] = 'localhost'; $CONF['database_user'] = 'postfixadmin'; $CONF['database_password'] = 'postfixpassword'; $CONF['database_name'] = 'postfixadmin'; $CONF['database_prefix'] = ''; // Impostazioni DB
Preconfigurazione
- Impostare questi parametri prima di procedere alla configurazione via web:
$CONF['postfix_admin_url'] = 'http://myserver.priv/postfixadmin';
// URL per far funzionare i link interni
$CONF['default_language'] = 'it';
// Lingua di default dell'interfaccia web
$CONF['admin_email'] = 'gabriele.vivinetto@rvmgroup.it';
// Il login inziale dell'utente amministrativo
$CONF['encrypt'] = 'md5crypt';
//Usiamo md5, compatibile con Postfix e con l'autenticazione Sasl di dovecot
// NON È COMPATIBILE CON L'AUTENTICAZIONE SASL STANDARD
$CONF['default_aliases'] = array (
'abuse' => 'abuse@mydomain.com.com',
'hostmaster' => 'hostmaster@mydomain.com',
'postmaster' => 'postmaster@mydomain.com',
'webmaster' => 'webmaster@mydomain.com'
);
// Questi sono gli alias che vengono creati per TUTTI i domini, se si sceglie di creare quelli default
$CONF['domain_path'] = 'YES';
$CONF['domain_in_mailbox'] = 'YES';
// Le caselle verranno create nel folder nomeuser@mydomain.com
$CONF['aliases'] = '0';
$CONF['mailboxes'] = '0';
$CONF['maxquota'] = '0';
// Di default non creare gli alias di default, nessun amailbox di default e non abilitare la quota.
- Andare alla pagina di setup, e controllare che tutto sia ok:
http://myserver.priv/postfixadmin/setup.php
- Generare la password di setup, ed inserirla nel file di configurzione
cd /etc/postfixadmin
$CONF['setup_password'] = 'f74986889643960430367b466d2575e6:537950f5dcb72607483e
- Fare login con email e password specificati
- Creare il dominio ed uno user di test
Configurazione postfix
- Identificare uid e gid dello user postfix (tipicamente 101/101):
grep postfix /etc/passwd grep postfix /etc/group
- Impostare i parametri diconfigurazioene per i domini virtuali:
cat | sudo tee -a /etc/postfix/main.cf <<EOFile virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf virtual_gid_maps = static:101 virtual_mailbox_base = /home/vmail virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf virtual_minimum_uid = 101 virtual_transport = virtual virtual_uid_maps = static:101 EOFile
- Eliminare i domini virtuali dai parametri
mydestination relay_domains
- Creare i file di configurazioni per le query SQL (cambiare la password)
- Alias map:
cat | sudo tee /etc/postfix/mysql_virtual_alias_maps.cf <<EOFile user = postfixadmin password = postfixpassword hosts = 127.0.0.1 dbname = postfixadmin query = SELECT goto FROM alias WHERE address='%s' AND active = '1' EOFile
NOTA: /etc/aliases servirà SOLO per gli alias LOCALI cioè le mail inviate a destinatari SENZA DOMINIO
- Domini virtuali considerati locali:
cat | sudo tee /etc/postfix/mysql_virtual_domains_maps.cf<<EOFile user = postfixadmin password = postfixpassword hosts = 127.0.0.1 dbname = postfixadmin #query = SELECT domain FROM domain WHERE domain='%s' #optional query to use when relaying for backup MX query = SELECT domain FROM domain WHERE domain='%s' AND backupmx = '0' AND active = '1' EOFile
- Mailbox virtuali
cat | sudo tee /etc/postfix/mysql_virtual_mailbox_maps.cf <<EOFile user = postfixadmin password = postfixpassword hosts = 127.0.0.1 table = mailbox dbname = postfixadmin query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1' #query = SELECT CONCAT(domain,'/',maildir) FROM mailbox WHERE username='%s' AND active = '1' EOFile
- Configurazione autenticazione SASL per postfix su dovecot
sudoedit /etc/postfix/main.cf
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth
sudo invoke-rc.d postfix restart
- Creazione folders:
sudo mkdir -p /home/vmail/marzottospa.com sudo chmod -R 770 /home/vmail sudo chown -R postfix:postfix /home/vmail/
- Check config
sudo postconf
Configurazione Dovecot
sudoedit /etc/dovecot/dovecot-sql.conf
driver = mysql
connect = dbname=postfixadmin user=postfixadmin host=127.0.0.1 password=postfixpassword
default_pass_scheme = MD5
password_query = \
SELECT \
password \
FROM \
mailbox \
WHERE \
username = '%u'
user_query = \
SELECT \
CONCAT('/home/vmail/',maildir) AS home, \
concat('maildir:/home/vmail/', maildir) as mail, \
101 AS uid, \
101 AS gid \
FROM \
mailbox \
WHERE \
username = '%u'
sudoedit /etc/dovecot/dovecot.conf
protocols = imap imaps pop3 pop3s
disable_plaintext_auth = no
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n
mail_access_groups = mail
first_valid_uid = 101
first_valid_gid = 101
protocol imap {
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
auth default {
mechanisms = digest-md5 plain login
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
user = root
socket listen {
client {
# The client socket is generally safe to export to everyone. Typical use
# is to export it to your SMTP server so it can do SMTP AUTH lookups
# using it.
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
sudo invoke-rc.d dovecot restart
Upgrade
- La nuova versione gestisce il database con dbconfig-common
- Per migrare, impostare la password in
/etc/dbconfig-common/postfixadmin.conf
- Aggiornare la configurazione:
sudo /usr/sbin/dbconfig-generate-include -f php /etc/dbconfig-common/postfixadmin.conf /etc/postfixadmin/dbconfig.inc.php
- Impostare le permission
sudo chown :www-data /etc/postfixadmin/dbconfig.inc.php sudo chmod g+r /etc/postfixadmin/dbconfig.inc.php
Riferimenti
- Postfix, virtual domain setup - FreeBSDwiki
- postfix - SASL + postfixadmin - SMTP authentication with hashed password - Server Fault
- Jitamitra: Configure Postfix, Postfixadmin, Dovecot On Debian & Ubuntu
- v2p1 Mail server Debian Lenny Postfix Virtual PostfixAdmin MySQL Dovecot Amavisd-new SquirrelMail MailZu
- Postfixadmin – setup/install guide for virtual mail users on Postfix | David Goodwin
- SourceForge.net: Postfixadmin-CLI - postfixadmin
- HowTo/DovecotLDAPostfixAdminMySQL - Dovecot Wiki
- Postfix and Courier Installation using MySQL - Debian Wiki