5503
Commento:
|
5182
aggiunti link riferimento
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 2: | Linea 2: |
[[BR]] ||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;">'''Indice'''[[BR]][[TableOfContents]]|| |
#format wiki #language it <<BR>> <<Indice>> |
Linea 9: | Linea 11: |
= Installazione del software = | = Installazione = |
Linea 11: | Linea 13: |
Avete bisogno dei pacchetti : * ''postfix-mysql'' * ''dovecot-pop3d'' * ''dovecot-imapd'' * ''apache2'' * ''mysql-server'' installateli eseguendo come root i comandi : {{{ |
[[AmministrazioneSistema/InstallareProgrammi|Installare]] i seguenti pacchetti con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]: {{{ |
Linea 30: | Linea 24: |
Modificare con permessi di amministratore il file `/etc/postfix/main.cf` aggiungendo la direttiva: {{{ | Modificare con [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/postfix/main.cf` aggiungendo la direttiva: {{{ |
Linea 35: | Linea 29: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">'''Eliminate le direttive `hash:/etc/aliases` se volete configurare un sistema che accetti posta soltanto per utenti definiti nel vostro database SQL!''' || | {{{#!wiki important Si eliminino le direttive `hash:/etc/aliases` se si vuole configurare un sistema che accetti posta soltanto per utenti definiti nel vostro database SQL!}}} |
Linea 37: | Linea 32: |
Il file `/etc/postfix/mysql-aliases.cf` è fatto nel modo seguente : {{{ | Il file `/etc/postfix/mysql-aliases.cf` è fatto nel modo seguente: {{{ |
Linea 46: | Linea 41: |
come si vede bisogna specificare utente, password, database, tabella del database '''SQL''' che contiene le corrispondenze fra utenti di posta e alias names ed è necessario definire anche i campi da selezionare per ottenere l'alias dell'utente di posta definito. | Come si vede, bisogna specificare utente, password, database, tabella del database Sql che contiene le corrispondenze fra utenti di posta e alias names ed è necessario definire anche i campi da selezionare per ottenere l'alias dell'utente di posta definito. |
Linea 48: | Linea 43: |
Create il database e le tabelle come nell'esempio che segue : {{{ #mysql -u root -p -D postaliases |
Si crei il database e le tabelle come nell'esempio che segue : {{{ mysql -u root -p -D postaliases |
Linea 56: | Linea 51: |
Generate le passwords in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{ | Generare le password in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{ |
Linea 60: | Linea 55: |
questo per creare il file e poi per aggiungere le passwords degli utenti usare il comando : {{{ | Per aggiungere le password degli utenti usare il comando : {{{ |
Linea 69: | Linea 64: |
Controllate il vostro file `/etc/mysql/my.cnf` e verificate l'indirizzo di binding del database '''mysql''' (dovrebbe essere l'IP di rete del server MYSQL e non 127.0.0.1). Nel nostro esempio è: {{{ | Si controlli il file `/etc/mysql/my.cnf` e si verifichi che l'indirizzo di binding del database '''mysql''' (dovrebbe essere l'IP di rete del server MYSQL e non 127.0.0.1). Nel nostro esempio è: {{{ |
Linea 73: | Linea 68: |
e verificate che tutto vada bene con il comando : {{{ | e verificate che tutto vada bene con il comando: {{{ |
Linea 77: | Linea 72: |
al posto di '''DNSdbmysql''' dovete mettere l'IP o il nome dell'host che opsita il DB | sostituire a `DNSdbmysql` l'IP o il nome dell'host che opsita il database. |
Linea 79: | Linea 74: |
Ora riavviate mysql e postfix : {{{ | Riavviate mysql e postfix : {{{ |
Linea 86: | Linea 81: |
= Configurazione del POP3 e IMAP = | = Configurazione di POP3 e IMAP = |
Linea 88: | Linea 83: |
Generate la `home` directory degli utenti e rendetela scrivibile per tutti con il comando: {{{ | * Generare la `home` directory degli utenti e renderla scrivibile per tutti con il comando: {{{ |
Linea 91: | Linea 86: |
Modificare il file `/etc/dovecot/dovecot-mysql.conf` come segue: {{{ |
* Modificare il file `/etc/dovecot/dovecot-mysql.conf` come segue: {{{ |
Linea 107: | Linea 101: |
Controllate sempre che nel file `/etc/dovecot/dovecot.conf` vi sia la riga seguente: {{{ |
* Controllare sempre che nel file `/etc/dovecot/dovecot.conf` vi sia la riga seguente: {{{ |
Linea 110: | Linea 103: |
}}} e assicuratevi che vi siano le direttive : {{{ |
}}} assicurarsi che vi siano le direttive {{{ |
Linea 115: | Linea 106: |
}}} e modificate le righe: {{{ |
}}} e modificare le righe: {{{ |
Linea 122: | Linea 111: |
}}} | }}} I valori di ''last'' dipendono da quanti utenti avrà il sistema di posta. |
Linea 124: | Linea 113: |
ovviamente i valori di ''last'' dipendono da quanti utenti avrà il vostro sistema di posta. | * Ora riavviare '''dovecot''' con {{{ sudo /etc/init.d/dovecot restart }}} e testare la configurazione. |
Linea 126: | Linea 117: |
Ora riavviare dovecot con {{{ sudo /etc/init.d/dovecot restart }}} e testare la configurazione. |
= Webmail protetta con SSL = |
Linea 131: | Linea 119: |
= Configurazione della Webmail protetta con SSL = | Procedere come segue: |
Linea 133: | Linea 121: |
Procedere come segue : * creare il certificato per la protezione di apache2 con il comando: {{{ |
* Creare il certificato per la protezione di apache2 con il comando: {{{ |
Linea 137: | Linea 123: |
}}} cambiate 3650 con la durata in giorni del vostro certificato * aggiungere un Virtual``Host a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{ |
}}} Cambiare 3650 con la durata in giorni del certificato * Aggiungere un `Virtual``Host` a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{ |
Linea 148: | Linea 134: |
* controllate che in `/etc/apache2/mods-enabled/` siano presenti i moduli: {{{ | * Controllare che in `/etc/apache2/mods-enabled/` siano presenti i moduli: {{{ |
Linea 155: | Linea 141: |
* riavviate apache2 {{{ | * Riavviare apache2 {{{ |
Linea 159: | Linea 145: |
* assicuratevi che siano avviati sia '''dovecot''' che '''postfix''' {{{ | * Assicurarsi che siano avviati sia '''dovecot''' che '''postfix''' {{{ |
Linea 164: | Linea 150: |
Godetevi il vostro sistema. |
|
Linea 167: | Linea 151: |
CategoryServer CategoryNuoviDocumenti | CategoryServer CategoryDaRevisionare |
Introduzione
Questa guida spiega come configurare un server di posta con supporto SQL.
Installazione
Installare i seguenti pacchetti con i privilegi di amministrazione:
apt-get install postfix-mysql apt-get install mysql-server apt-get install dovecot-pop3d apt-get install dovecot-imapd apt-get install apache2 apt-get install libapache2-mod-php4
Configurazione SMTP
Modificare con privilegi di amministrazione e con un editor di testo il file /etc/postfix/main.cf aggiungendo la direttiva:
alias_maps = mysql:/etc/postfix/mysql-aliases.cf alias_database = mysql:/etc/postfix/mysql-aliases.cf
Si eliminino le direttive hash:/etc/aliases se si vuole configurare un sistema che accetti posta soltanto per utenti definiti nel vostro database SQL!
Il file /etc/postfix/mysql-aliases.cf è fatto nel modo seguente:
user = someone password = some_password dbname = customer_database table = mxaliases select_field = forw_addr where_field = alias
Come si vede, bisogna specificare utente, password, database, tabella del database Sql che contiene le corrispondenze fra utenti di posta e alias names ed è necessario definire anche i campi da selezionare per ottenere l'alias dell'utente di posta definito.
Si crei il database e le tabelle come nell'esempio che segue :
mysql -u root -p -D postaliases mysql> create table mxaliases (forw_addr varchar(64),alias varchar(64),password varchar(64),home varchar(64),uid integer not null,gid integer not null ); mysql>insert into mxaliases values ('giulio','g.bianchi','njZCfywEU/olE,'/home/postaliases','0','0');
Generare le password in hashing CRYPT con l'utility di apache2 htpasswd2 nel modo seguente :
htpasswd2 -c postaliases_passwords m.rossi
Per aggiungere le password degli utenti usare il comando :
htpasswd2 postaliases_passwords g.bianchi
oppure per aggiornare o eliminare righe dalla vostra tabella usare i comandi SQL :
mysql>update mxaliases set alias='g.bianchi' where forw_addr='giulio'; mysql> delete from mxaliases where forw_addr='marco';
Si controlli il file /etc/mysql/my.cnf e si verifichi che l'indirizzo di binding del database mysql (dovrebbe essere l'IP di rete del server MYSQL e non 127.0.0.1). Nel nostro esempio è:
bind_address = 192.168.77.1
e verificate che tutto vada bene con il comando:
#mysql -u root -p -h DNSdbmysql -D postaliases
sostituire a DNSdbmysql l'IP o il nome dell'host che opsita il database.
Riavviate mysql e postfix :
/etc/init.d/mysql restart /etc/init.d/postfix restart
la configurazione del MTA è finita , ora passiamo alla configurazione del server POP3 e IMAP.
Configurazione di POP3 e IMAP
Generare la home directory degli utenti e renderla scrivibile per tutti con il comando:
mkdir /home/postaliases;chmod -R 777 /home/postaliases
Modificare il file /etc/dovecot/dovecot-mysql.conf come segue:
db_host = wilcoyote.example.com db_port = 3306 #db_unix_socket = /var/tmp/mysql.sock db = postaliases db_user = root db_passwd = azsxdcfv db_client_flags = 0 default_pass_scheme = CRYPT password_query = SELECT password FROM mxaliases WHERE alias = '%n' user_query = SELECT home, uid, gid FROM mxaliases WHERE alias = '%n'
Controllare sempre che nel file /etc/dovecot/dovecot.conf vi sia la riga seguente:
protocols = pop3 pop3s imap imaps
assicurarsi che vi siano le direttive
auth_userdb = mysql /etc/dovecot/dovecot-mysql.conf auth_passdb = mysql /etc/dovecot/dovecot-mysql.conf
e modificare le righe:
first_valid_uid = 0 last_valid_uid = 10000 first_valid_gid = 0 last_valid_gid = 10000
I valori di last dipendono da quanti utenti avrà il sistema di posta.
Ora riavviare dovecot con
sudo /etc/init.d/dovecot restart
e testare la configurazione.
Webmail protetta con SSL
Procedere come segue:
Creare il certificato per la protezione di apache2 con il comando:
#apache2-ssl-certificate -days 3650
Cambiare 3650 con la durata in giorni del certificatoAggiungere un VirtualHost a /etc/apache2/sites-enabled/000-default come da esempio:
<VirtualHost 127.0.0.1> ServerName webmail.example.com DocumentRoot /usr/share/squirrelmail SSLEngine On SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>
Controllare che in /etc/apache2/mods-enabled/ siano presenti i moduli:
ssl.conf ssl.load php4.conf php4.load
Riavviare apache2
sudo /etc/init.d/apache2 restart
Assicurarsi che siano avviati sia dovecot che postfix
sudo /etc/init.d/postfix restart sudo /etc/init.d/dovecot restart