Dimensione: 5293
Commento: verificare che sia tutto in terza persona
|
← Versione 12 del 23/11/2021 12.21.12 ⇥
Dimensione: 7124
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 11: | Linea 13: |
Installare i seguneti pacchetti con permessi di [:Sudo:amministratore]: {{{ 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 22: | 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 27: | Linea 29: |
||<tablestyle="text-align: justify; width:100%; " style="border:none;" 5% ^>[[Immagine(Icone/Piccole/note.png,,center)]] ||<style="padding:0.5em; border:none;">'''Si eliminino le direttive `hash:/etc/aliases` se si vuole 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 29: | 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 38: | Linea 42: |
{{{#!wiki note | |
Linea 39: | Linea 44: |
}}} | |
Linea 40: | Linea 46: |
Si crei il database e le tabelle come nell'esempio che segue : {{{ | == Creare il Database == 0. Creare il database e le tabelle come nell'esempio che segue:{{{ |
Linea 48: | Linea 56: |
Generare le password in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{ | == Generare le password == * Generare le password in hashing CRYPT con l'utility di apache2 '''htpasswd2''', digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 51: | Linea 61: |
Per aggiungere le password degli utenti usare il comando : {{{ |
* Per aggiungere le password degli utenti, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ |
Linea 56: | Linea 65: |
oppure per aggiornare o eliminare righe dalla vostra tabella usare i comandi SQL : {{{ | == Gestire tabelle == Per aggiornare o eliminare righe dalla vostra tabella, usare i comandi SQL, digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{ |
Linea 58: | Linea 69: |
mysql> delete from mxaliases where forw_addr='marco'; | mysql>delete from mxaliases where forw_addr='marco'; |
Linea 61: | 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 65: | 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 69: | Linea 78: |
sostituire a `DNSdbmysql` l'IP o il nome dell'host che opsita il database. | 0. Riavviare il servizio mysql, consultare il [[#Riavviare_MySql|paragrafo]]. 0. Riavviare il servizio postfix, consultare il [[#Riavviare_postfix|paragrafo]]. |
Linea 71: | Linea 81: |
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. |
Ora passiamo alla configurazione del server POP3 e IMAP. |
Linea 80: | Linea 85: |
* Generare la `home` directory degli utenti e renderla scrivibile per tutti con il comando: {{{ | == Generare cartella utenti == 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 98: | 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 119: |
* Ora riavviare dovecot con {{{ sudo /etc/init.d/dovecot restart }}} e testare la configurazione. |
Riavviare '''dovecot''', consultare il [[#Riavviare_dovecot|paragrafo]]. Testare la configurazione. |
Linea 114: | Linea 121: |
= Configurazione della Webmail protetta con SSL = | = Webmail protetta con SSL = |
Linea 118: | Linea 125: |
* Creare il certificato per la protezione di apache2 con il comando: {{{ #apache2-ssl-certificate -days 3650 }}} Cambiare 3650 con la durata in giorni del certificato * Aggiungere un `Virtual``Host` a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{ |
== 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 }}} {{{#!wiki note Cambiare 3650 con la durata in giorni del certificato }}} == Aggiungere un `Virtual``Host` == 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 130: | Linea 147: |
* Controllare che in `/etc/apache2/mods-enabled/` siano presenti i moduli: {{{ |
* Controllare che in `/etc/apache2/mods-enabled/` siano presenti i moduli:{{{ |
Linea 138: | Linea 154: |
* 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 == |
|
Linea 142: | Linea 176: |
* Assicurarsi 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 147: | 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 }}} |
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
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.
Riavviare il servizio mysql, consultare il paragrafo.
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