Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 1 del 06/04/2007 20.26.26

Nascondi questo messaggio

BR

Introduzione

Questa guida spiega come configurare un server di posta con supporto SQL.

Installazione del software

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

Configurazione SMTP

Modificare con permessi di amministratore 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

Immagine(Icone/Piccole/note.png,,center)

Eliminate le direttive hash:/etc/aliases se volete 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.

Create 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');

Generate le passwords in hashing CRYPT con l'utility di apache2 htpasswd2 nel modo seguente :

htpasswd2 -c postaliases_passwords m.rossi

questo per creare il file e poi per aggiungere le passwords 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'; 

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

bind_address = 192.168.77.1

e verificate che tutto vada bene con il comando :

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

al posto di DNSdbmysql dovete mettere l'IP o il nome dell'host che opsita il DB

Ora 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 del POP3 e IMAP

Generate la home directory degli utenti e rendetela 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' 

Controllate sempre che nel file /etc/dovecot/dovecot.conf vi sia la riga seguente:

protocols = pop3 pop3s imap imaps

e assicuratevi che vi siano le direttive :

auth_userdb = mysql /etc/dovecot/dovecot-mysql.conf
auth_passdb = mysql /etc/dovecot/dovecot-mysql.conf

e modificate le righe:

first_valid_uid = 0
last_valid_uid = 10000
first_valid_gid = 0
last_valid_gid = 10000

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.

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 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>
  • controllate che in /etc/apache2/mods-enabled/ siano presenti i moduli:

    ssl.conf
    ssl.load
    php4.conf
    php4.load
  • riavviate apache2

    sudo /etc/init.d/apache2 restart
  • assicuratevi che siano avviati sia dovecot che postfix

    sudo /etc/init.d/postfix restart
    sudo /etc/init.d/dovecot restart

Godetevi il vostro sistema.


CategoryServer CategoryNuoviDocumenti