Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "Server/MailSqlServer"
Differenze tra le versioni 1 e 12 (in 11 versioni)
Versione 1 del 06/04/2007 20.26.26
Dimensione: 5503
Commento:
Versione 12 del 23/11/2021 12.21.12
Dimensione: 7124
Autore: ivantu
Commento: modifiche strutturali paragrafi
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 7: Linea 9:
Questa guida spiega come configurare un server di posta con supporto '''SQL'''. Questa guida spiega come configurare un server di posta con supporto '''[[https://it.wikipedia.org/wiki/Structured_Query_Language|SQL]]'''.
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 : {{{
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
[[AmministrazioneSistema/InstallareProgrammi|Installare]] i seguenti pacchetti con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]. Digitare in un [[AmministrazioneSistema/Terminale|terminale]] i comandi: {{{
sudo apt install postfix-mysql
sudo apt install mysql-server
sudo apt install dovecot-pop3d
sudo apt install dovecot-imapd
sudo apt install apache2
sudo apt install libapache2-mod-php4
Linea 30: Linea 24:
Modificare con permessi di amministratore il file `/etc/postfix/main.cf` aggiungendo la direttiva: {{{ Modificare con i [[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
Eliminare 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 33:
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 42:
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. {{{#!wiki note
C
ome 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 46:
Create il database e le tabelle come nell'esempio che segue : {{{
#mysql -u root -p -D postaliases
== Creare il Database ==

 0. Crear
e il database e le tabelle come nell'esempio che segue:{{{
mysql -u root -p -D postaliases
Linea 56: Linea 56:
Generate le passwords in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{ == Generare le password ==

 * Generare le pa
ssword in hashing CRYPT con l'utility di apache2 '''htpasswd2''', digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 59: Linea 61:

questo
per creare il file e poi per aggiungere le passwords degli utenti usare il comando : {{{
 * Per aggiungere le password degli utenti, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 64: Linea 65:
oppure per aggiornare o eliminare righe dalla vostra tabella usare i comandi SQL : {{{ == Gestire tabelle ==

P
er aggiornare o eliminare righe dalla vostra tabella, usare i comandi SQL, digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{
Linea 66: Linea 69:
mysql> delete from mxaliases where forw_addr='marco'; mysql>delete from mxaliases where forw_addr='marco';
Linea 69: Linea 72:
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 è: {{{ Controllare con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/mysql/my.cnf` che l'indirizzo di binding del database '''[[Server/MySql|mysql]]''' (dovrebbe essere l'IP di rete del server MYSQL e non 127.0.0.1). Nel nostro esempio è:{{{
Linea 73: Linea 76:
e verificate che tutto vada bene con il comando : {{{
#mysql -u root -p -h DNSdbmysql -D postaliases
}}}
Verificare il funzionamento delle tabelle, consultare il [[#Verificare_funzionamento_tabelle|paragrafo]].
Linea 77: Linea 78:
al posto di '''DNSdbmysql''' dovete mettere l'IP o il nome dell'host che opsita il DB  0. Riavviare il servizio mysql, consultare il [[#Riavviare_MySql|paragrafo]].
 0. Riavviare il servizio postfix, consultare il [[#Riavviare_postfix|paragrafo]].
Linea 79: Linea 81:
Ora riavviate mysql e postfix : {{{
/etc/init.d/mysql restart
/etc/init.d/postfix restart
}}}
Ora passiamo alla configurazione del server POP3 e IMAP.
Linea 84: Linea 83:
la configurazione del MTA è finita , ora passiamo alla configurazione del server POP3 e IMAP. = Configurazione di POP3 e IMAP =
Linea 86: Linea 85:
= Configurazione del POP3 e IMAP = == Generare cartella utenti ==
Linea 88: Linea 87:
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.

 * [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] la cartella utente nella '/home'. Digitare in [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 91: Linea 92:

Modificare il file `/etc/dovecot/dovecot-mysql.conf` come segue: {{{
 * Modificare il file `/etc/dovecot/dovecot-mysql.conf` come segue: {{{
Linea 107: Linea 107:

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 109:
}}}
  e
assicuratevi che vi siano le direttive : {{{
}}} assicurarsi che vi siano le direttive {{{
Linea 115: Linea 112:
}}}

e modificate le righe: {{{
}}} e modificare le righe: {{{
Linea 122: Linea 117:
}}} I valori di ''last'' dipendono da quanti utenti avrà il sistema di posta.

Riavviare '''dovecot''', consultare il [[#Riavviare_dovecot|paragrafo]]. Testare la configurazione.

= Webmail protetta con SSL =

Procedere come segue:

== Creare il certificato per la protezione di Apache ==

Procedere con la configurazione di [[Server/Apache|apache2]], digitare in [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
apache2-ssl-certificate -days 3650
Linea 124: Linea 131:
ovviamente i valori di ''last'' dipendono da quanti utenti avrà il vostro sistema di posta. {{{#!wiki note
Cambiare 3650 con la durata in giorni del certificato
}}}
Linea 126: Linea 135:
Ora riavviare dovecot con {{{
sudo /etc/init.d/dovecot restart
}}}
e testare la configurazione.
== Aggiungere un `Virtual``Host` ==
Linea 131: Linea 137:
= Configurazione della Webmail protetta con SSL =

Procedere come segue :

 * creare il certificato per la protezione di apache2 con il comando: {{{
#apache2-ssl-certificate -days 3650
}}} cambiate 3650 con la durata in giorni del vostro certificato
 * aggiungere un Virtual``Host a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{
Aggiungere un `Virtual``Host`:
 * Con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]], aprire il file `/etc/apache2/sites-enabled/000-default` e configurare come segue l'esempio:{{{
Linea 147: Linea 147:

* 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 154:
 * riavviate apache2 {{{  * Riavviare i servizi apache2, consultare il paragrafo [[#Riavviare_apache2|apache2]].

 * Riavviare i servizi postfix e dovecot, consultare i paragrafi [[#Riavviare_dovecot|dovecot]] e [[#Riavviare_postfix|postfix]].

= Risoluzione dei problemi =

== Verificare funzionamento tabelle ==

Verificare che tutto funziona, con un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{
mysql -u root -p -h DNSdbmysql -D postaliases
}}}

{{{#!wiki note
sostituire a `DNSdbmysql` l'IP o il nome dell'host che ospita il database.
}}}

== Riavviare apache2 ==

 * Riavviare apache2 {{{
Linea 159: Linea 176:
 * assicuratevi che siano avviati sia '''dovecot''' che '''postfix''' {{{
sudo /etc/init.d/postfix restart
== Riavviare dovecot ==

Riavviare '''dovecot''' in [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
Linea 164: Linea 182:
Godetevi il vostro sistema. == Riavviare postfix ==

Riavviare '''postfix''', digitare in [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{
sudo /etc/init.d/postfix restart
}}}

== Riavviare MySql ==

Per riavviare mysql, digitare in [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
/etc/init.d/mysql restart
}}}
Linea 167: Linea 195:
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. Digitare in un terminale i comandi:

sudo apt install postfix-mysql
sudo apt install mysql-server
sudo apt install dovecot-pop3d
sudo apt install dovecot-imapd
sudo apt install apache2
sudo apt install libapache2-mod-php4

Configurazione SMTP

Modificare con i 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

Eliminare 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.

Creare il Database

  1. Creare 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

  • Generare le password in hashing CRYPT con l'utility di apache2 htpasswd2, digitare nel terminale il seguente comando:

    htpasswd2 -c postaliases_passwords m.rossi
  • Per aggiungere le password degli utenti, digitare nel terminale il seguente comando:

    htpasswd2 postaliases_passwords g.bianchi

Gestire tabelle

Per aggiornare o eliminare righe dalla vostra tabella, usare i comandi SQL, digitare nel terminale i seguenti comandi:

mysql>update mxaliases set alias='g.bianchi' where forw_addr='giulio'; 
mysql>delete from mxaliases where forw_addr='marco'; 

Controllare con un editor di testo il file /etc/mysql/my.cnf 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

Verificare il funzionamento delle tabelle, consultare il paragrafo.

  1. Riavviare il servizio mysql, consultare il paragrafo.

  2. Riavviare il servizio postfix, consultare il paragrafo.

Ora passiamo alla configurazione del server POP3 e IMAP.

Configurazione di POP3 e IMAP

Generare cartella utenti

Generare la home directory degli utenti e renderla scrivibile per tutti.

  • Creare la cartella utente nella '/home'. Digitare in terminale il seguente 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.

Riavviare dovecot, consultare il paragrafo. Testare la configurazione.

Webmail protetta con SSL

Procedere come segue:

Creare il certificato per la protezione di Apache

Procedere con la configurazione di apache2, digitare in terminale il seguente comando:

apache2-ssl-certificate -days 3650

Cambiare 3650 con la durata in giorni del certificato

Aggiungere un `Virtual``Host`

Aggiungere un VirtualHost:

  • Con i privilegi di amministrazione e con un editor di testo, aprire il file /etc/apache2/sites-enabled/000-default e configurare come segue l'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 i servizi apache2, consultare il paragrafo apache2.

  • Riavviare i servizi postfix e dovecot, consultare i paragrafi dovecot e postfix.

Risoluzione dei problemi

Verificare funzionamento tabelle

Verificare che tutto funziona, con un terminale il seguente comando:

mysql -u root -p -h DNSdbmysql -D postaliases

sostituire a DNSdbmysql l'IP o il nome dell'host che ospita il database.

Riavviare apache2

  • Riavviare apache2

    sudo /etc/init.d/apache2 restart

Riavviare dovecot

Riavviare dovecot in terminale il seguente comando:

sudo /etc/init.d/dovecot restart

Riavviare postfix

Riavviare postfix, digitare in terminale il seguente comando:

sudo /etc/init.d/postfix restart

Riavviare MySql

Per riavviare mysql, digitare in terminale il seguente comando:

/etc/init.d/mysql restart


CategoryServer CategoryDaRevisionare