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 11 (in 10 versioni)
Versione 1 del 06/04/2007 20.26.26
Dimensione: 5503
Commento:
Versione 11 del 20/11/2021 17.28.20
Dimensione: 5182
Autore: ivantu
Commento: aggiunti link riferimento
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 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 : {{{
[[AmministrazioneSistema/InstallareProgrammi|Installare]] i seguenti pacchetti con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]]: {{{
Linea 30: Linea 24:
Modificare con permessi di amministratore il file `/etc/postfix/main.cf` aggiungendo la direttiva: {{{ Modificare con [[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
Si
eliminino 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 32:
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 41:
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. 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 43:
Create il database e le tabelle come nell'esempio che segue : {{{
#mysql -u root -p -D postaliases
Si crei il database e le tabelle come nell'esempio che segue : {{{
mysql -u root -p -D postaliases
Linea 56: Linea 51:
Generate le passwords in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{ Generare le password in hashing CRYPT con l'utility di apache2 '''htpasswd2''' nel modo seguente : {{{
Linea 60: Linea 55:
questo per creare il file e poi per aggiungere le passwords degli utenti usare il comando : {{{ Per aggiungere le password degli utenti usare il comando : {{{
Linea 69: Linea 64:
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 è: {{{ Si controlli il file `/etc/mysql/my.cnf` e si verifichi 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 è: {{{
Linea 73: Linea 68:
e verificate che tutto vada bene con il comando : {{{ e verificate che tutto vada bene con il comando: {{{
Linea 77: Linea 72:
al posto di '''DNSdbmysql''' dovete mettere l'IP o il nome dell'host che opsita il DB sostituire a `DNSdbmysql` l'IP o il nome dell'host che opsita il database.
Linea 79: Linea 74:
Ora riavviate mysql e postfix : {{{ Riavviate mysql e postfix : {{{
Linea 86: Linea 81:
= Configurazione del POP3 e IMAP = = Configurazione di POP3 e IMAP =
Linea 88: Linea 83:
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 con il comando: {{{
Linea 91: Linea 86:

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

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

e modificate le righe: {{{
}}} e modificare le righe: {{{
Linea 122: Linea 111:
}}} }}} I valori di ''last'' dipendono da quanti utenti avrà il sistema di posta.
Linea 124: Linea 113:
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.
Linea 126: Linea 117:
Ora riavviare dovecot con {{{
sudo /etc/init.d/dovecot restart
}}}
e testare la configurazione.
= Webmail protetta con SSL =
Linea 131: Linea 119:
= Configurazione della Webmail protetta con SSL = Procedere come segue:
Linea 133: Linea 121:
Procedere come segue :

* creare il certificato per la protezione di apache2 con il comando: {{{
 * Creare il certificato per la protezione di apache2 con il comando: {{{
Linea 137: Linea 123:
}}} cambiate 3650 con la durata in giorni del vostro certificato
 * aggiungere un Virtual``Host a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{
}}} Cambiare 3650 con la durata in giorni del certificato
 * Aggiungere un `Virtual``Host` a `/etc/apache2/sites-enabled/000-default` come da esempio: {{{
Linea 148: Linea 134:
 * 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 141:
 * riavviate apache2 {{{  * Riavviare apache2 {{{
Linea 159: Linea 145:
 * assicuratevi che siano avviati sia '''dovecot''' che '''postfix''' {{{  * Assicurarsi che siano avviati sia '''dovecot''' che '''postfix''' {{{
Linea 164: Linea 150:
Godetevi il vostro sistema.
Linea 167: Linea 151:
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:

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

Si eliminino 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.

Si crei 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 in hashing CRYPT con l'utility di apache2 htpasswd2 nel modo seguente :

htpasswd2 -c postaliases_passwords m.rossi

Per aggiungere le password 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'; 

Si controlli il file /etc/mysql/my.cnf e si verifichi 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

e verificate che tutto vada bene con il comando:

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

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

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 di POP3 e IMAP

  • Generare la home directory degli utenti e renderla 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' 
  • 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.

  • Ora riavviare dovecot con

    sudo /etc/init.d/dovecot restart
    e testare la configurazione.

Webmail protetta con SSL

Procedere come segue:

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

    ssl.conf
    ssl.load
    php4.conf
    php4.load
  • Riavviare apache2

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

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


CategoryServer CategoryDaRevisionare