Dimensione: 5503
Commento:
|
← 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 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 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 46: |
Create il database e le tabelle come nell'esempio che segue : {{{ #mysql -u root -p -D postaliases |
== Creare il Database == 0. Creare 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 password 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 == Per 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
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