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

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.

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:

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

Server/MailSqlServer (l'ultima modifica è del 23/11/2021 12.21.12, fatta da ivantu)