Internet Service Provider con Debian: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
 
(6 versioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Lenny|Squeeze|Wheezy}}
{{Versioni compatibili|Lenny|Squeeze|Wheezy}}
{{Warningbox|La guida NON è compatibile con Jessie. E' in fase di realizzazione una nuova guida.}}
<br/>
== Introduzione ==
== Introduzione ==
In questa guida cercheremo di raccogliere tutte le informazioni per arrivare a un'installazione di Debian che fornisca i seguenti servizi, comuni presso qualsiasi Internet Service Provider:
In questa guida cercheremo di raccogliere tutte le informazioni per arrivare a un'installazione di Debian che fornisca i seguenti servizi, comuni presso qualsiasi Internet Service Provider:
Riga 19: Riga 21:
Può essere utile impostare anche un server NTP esterno per sincronizzare l'ora del nostro server con un'autorità nazionale: [[Impostare e modificare data e ora]].
Può essere utile impostare anche un server NTP esterno per sincronizzare l'ora del nostro server con un'autorità nazionale: [[Impostare e modificare data e ora]].
<br/>
<br/>
Poichè il server andrà quasi sicuramente gestito da remoto occorrerà installare e configurare anche l'accesso SSH ([[OpenSSH: file di configurazione]]) con autenticazione via chiave: [[Ssh e autenticazione tramite chiavi]].
Poichè il server andrà quasi sicuramente gestito da remoto occorrerà installare e configurare anche l'accesso SSH ([[SSH | guida su SSH]]) con autenticazione via chiave.


=== Installazione ambiente LAMP ===
=== Installazione ambiente LAMP ===
Riga 516: Riga 518:
Siamo pronti per iniziare. I files di configurazione di Dovecot si trovano in <code>/etc/dovecot</code>.
Siamo pronti per iniziare. I files di configurazione di Dovecot si trovano in <code>/etc/dovecot</code>.
<br/>
<br/>
Fino a Debian Squeeze la configurazione di Dovecot era tutta contenuta in due file; da Debian Wheezy la configurazione è stata spezzata in una trentina di file, contenuti tutti nella directory <tt>/etc/dovecot/conf.d</tt>. Il file di configurazione principale <tt>/etc/dovecot/dovecot.conf</tt> non richiede alcuna modifica e attraverso la direttiva
Fino a Debian Squeeze la configurazione di Dovecot era tutta contenuta in due file; da Debian Wheezy la configurazione è stata spezzata in una trentina di file, contenuti tutti nella directory <code>/etc/dovecot/conf.d</code>. Il file di configurazione principale <code>/etc/dovecot/dovecot.conf</code> non richiede alcuna modifica e attraverso la direttiva
<pre>
<pre>
!include conf.d/*.conf
!include conf.d/*.conf
</pre>
</pre>
carica tutti i file presenti in <tt>/etc/dovecot/conf.d/</tt> che terminano in ".conf" in sequenza. Quindi "10-auth.conf" sarà caricato per primo e "90-quota.conf" per ultimo. Il grosso vantaggio di questa situazione è che potremo modificare o rimpiazzare parti della configurazione senza sovrascriverla interamente; lo svantaggio è che la migrazione da una versione precedente di Dovecot può diventare un'operazione difficoltosa.
carica tutti i file presenti in <code>/etc/dovecot/conf.d/</code> che terminano in ".conf" in sequenza. Quindi "10-auth.conf" sarà caricato per primo e "90-quota.conf" per ultimo. Il grosso vantaggio di questa situazione è che potremo modificare o rimpiazzare parti della configurazione senza sovrascriverla interamente; lo svantaggio è che la migrazione da una versione precedente di Dovecot può diventare un'operazione difficoltosa.


==== Fino a Debian Squeeze ====
==== Fino a Debian Squeeze ====
Riga 704: Riga 706:
mail_location = maildir:/var/vmail/%d/%n/Maildir
mail_location = maildir:/var/vmail/%d/%n/Maildir
</pre>
</pre>
Questa sarà la directory dove Dovecot cercherà le email di ogni specifico utente. Ad esempio l'utente <tt> john@example.org</tt> avrà le sue email archiviate in <tt>/var/vmail/example.org/john/Maildir</tt>.
Questa sarà la directory dove Dovecot cercherà le email di ogni specifico utente. Ad esempio l'utente <code> john@example.org</code> avrà le sue email archiviate in <code>/var/vmail/example.org/john/Maildir</code>.
<br/>
<br/>
Cambiamo la direttiva ''auth_socket_path'' in
Cambiamo la direttiva ''auth_socket_path'' in
Riga 745: Riga 747:


===== /etc/dovecot/dovecot-sql.conf.ext =====
===== /etc/dovecot/dovecot-sql.conf.ext =====
Questo file è richiamato dal file <tt> /etc/dovecot/conf.d/auth-sql.conf.ext</tt> e dice a Dovecot come accedere al database MySQL e dove trovare le informazioni sugli account. Accertiamoci che contenga le linee:
Questo file è richiamato dal file <code> /etc/dovecot/conf.d/auth-sql.conf.ext</code> e dice a Dovecot come accedere al database MySQL e dove trovare le informazioni sugli account. Accertiamoci che contenga le linee:
<pre>
<pre>
driver = mysql
driver = mysql
Riga 1 066: Riga 1 068:
** <code>permit_sasl_authenticated</code>: l'utente si è autenticato, oppure
** <code>permit_sasl_authenticated</code>: l'utente si è autenticato, oppure
** <code>reject_unauth_destination</code>: la mail è destinata a un utente di un nostro dominio virtuale
** <code>reject_unauth_destination</code>: la mail è destinata a un utente di un nostro dominio virtuale
NOTA: la direttiva <tt>postconf -e smtpd_tls_auth_only=yes</tt> è da utilizzarsi '''solo''' se vogliamo che i nostri utenti siano costretti a utilizzare SSL per scaricare e inviare la loro posta.
NOTA: la direttiva <code>postconf -e smtpd_tls_auth_only=yes</code> è da utilizzarsi '''solo''' se vogliamo che i nostri utenti siano costretti a utilizzare SSL per scaricare e inviare la loro posta.
<br/>
<br/>
<br/>
<br/>
Riga 1 179: Riga 1 181:
# sa-update && service spamassassin restart
# sa-update && service spamassassin restart
</pre>
</pre>
Controlliamo che il servizio di aggiornamento automatico si sia abilitato, verificando che in <tt>/etc/default/spamassassin</tt> ci sia la riga:
Controlliamo che il servizio di aggiornamento automatico si sia abilitato, verificando che in <code>/etc/default/spamassassin</code> ci sia la riga:
<pre>
<pre>
CRON=1
CRON=1
Riga 1 400: Riga 1 402:
</pre>
</pre>


Tra le altre righe in <tt>/var/log/mail.log</tt> dovremmo trovare una cosa del genere:
Tra le altre righe in <code>/var/log/mail.log</code> dovremmo trovare una cosa del genere:
<pre>
<pre>
29 23:16:23 sirius amavis[4558]: (04558-02) Blocked INFECTED (ClamAV-Test-File) {DiscardedOutbound,Quarantined}, LOCAL [::1]:44226 [::1] <root@mailserver.example.org> -> <john@example.org>, quarantine: C/virus-ClS0k87Qzm4Q, Queue-ID: 6608ED6B, Message-ID: <20131029221623.6608ED6B@sirius.localdomain>, mail_id: ClS0k87Qzm4Q, Hits: -, size: 1547, 128 ms
29 23:16:23 sirius amavis[4558]: (04558-02) Blocked INFECTED (ClamAV-Test-File) {DiscardedOutbound,Quarantined}, LOCAL [::1]:44226 [::1] <root@mailserver.example.org> -> <john@example.org>, quarantine: C/virus-ClS0k87Qzm4Q, Queue-ID: 6608ED6B, Message-ID: <20131029221623.6608ED6B@sirius.localdomain>, mail_id: ClS0k87Qzm4Q, Hits: -, size: 1547, 128 ms
Riga 1 406: Riga 1 408:
segno che ClamAV è intervenuto correttamente, bloccando l'email infetta.
segno che ClamAV è intervenuto correttamente, bloccando l'email infetta.
<br/>
<br/>
La mail infetta è stata spostata in <tt>/var/lib/amavis/virusmails/C/virus-ClS0k87Qzm4Q</tt> per essere eventualmente analizzata.
La mail infetta è stata spostata in <code>/var/lib/amavis/virusmails/C/virus-ClS0k87Qzm4Q</code> per essere eventualmente analizzata.


<br/>
<br/>
Riga 1 765: Riga 1 767:
         #reject_invalid_hostname
         #reject_invalid_hostname
         reject_rbl_client zen.spamhaus.org
         reject_rbl_client zen.spamhaus.org
        reject_rbl_client multi.uribl.com
        reject_rbl_client dsn.rfc-ignorant.org
        reject_rbl_client dul.dnsbl.sorbs.net
        reject_rbl_client list.dsbl.org
        reject_rbl_client sbl-xbl.spamhaus.org
        reject_rbl_client bl.spamcop.net
        reject_rbl_client dnsbl.sorbs.net
        reject_rbl_client cbl.abuseat.org
        reject_rbl_client ix.dnsbl.manitu.net
        reject_rbl_client combined.rbl.msrbl.net
        reject_rbl_client rabl.nuclearelephant.com
         #reject_unknown_client
         #reject_unknown_client
         permit
         permit
Riga 1 773: Riga 1 786:
permit_sasl_authenticated
permit_sasl_authenticated
reject_unauth_destination
reject_unauth_destination
reject_rbl_client dnsbl.sorbs.net
        check_client_access hash:/etc/postfix/access
reject_rbl_client bl.spamcop.net
        reject_rbl_client zen.spamhaus.org
reject_rbl_client zen.spamhaus.org
        reject_rbl_client multi.uribl.com
        reject_rbl_client dsn.rfc-ignorant.org
        reject_rbl_client dul.dnsbl.sorbs.net
        reject_rbl_client list.dsbl.org
        reject_rbl_client sbl-xbl.spamhaus.org
        reject_rbl_client bl.spamcop.net
        reject_rbl_client dnsbl.sorbs.net
        reject_rbl_client cbl.abuseat.org
        reject_rbl_client ix.dnsbl.manitu.net
        reject_rbl_client combined.rbl.msrbl.net
        reject_rbl_client rabl.nuclearelephant.com
reject_rbl_client dnsbl-1.uceprotect.net
reject_rbl_client dnsbl-1.uceprotect.net
        check_client_access hash:/etc/postfix/access
         reject_unknown_sender_domain
         reject_unknown_sender_domain
         reject_unauth_pipelining
         reject_unauth_pipelining
Riga 2 389: Riga 2 411:


== Gestire una Mailing List ==
== Gestire una Mailing List ==
Nel caso volessimo installare anche un servizio per la gestione di mailing list, possiamo appoggiarci a <tt>Mailman</tt>, probabilmente il più diffuso mailing list manager open-source.
Nel caso volessimo installare anche un servizio per la gestione di mailing list, possiamo appoggiarci a <code>Mailman</code>, probabilmente il più diffuso mailing list manager open-source.
<br/>
<br/>
Configureremo un virtual host con hostname <tt>lists.example.com</tt> in cui installeremo Mailman. <tt>lists.example.com</tt> sarà anche la parte destra dell'indirizzo delle mailing list che creeremo in Mailman, quindi ogni mailing list avrà un indirizzo del tipo <tt><nome_lista>@lists.example.com</tt>.
Configureremo un virtual host con hostname <code>lists.example.com</code> in cui installeremo Mailman. <code>lists.example.com</code> sarà anche la parte destra dell'indirizzo delle mailing list che creeremo in Mailman, quindi ogni mailing list avrà un indirizzo del tipo <code><nome_lista>@lists.example.com</code>.


=== Installazione di Mailman ===
=== Installazione di Mailman ===
Riga 2 452: Riga 2 474:
</VirtualHost>
</VirtualHost>
</pre>
</pre>
L'ultima direttiva <tt>ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo</tt> è opzionale; ha senso se non abbiamo nessun file index nella root del virtual host e vogliamo che digitando <tt>http://lists.example.com/</tt> si venga diretti automaticamente verso <tt>http://lists.example.com/listinfo</tt>.
L'ultima direttiva <code>ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo</code> è opzionale; ha senso se non abbiamo nessun file index nella root del virtual host e vogliamo che digitando <code>http://lists.example.com/</code> si venga diretti automaticamente verso <code>http://lists.example.com/listinfo</code>.
<br/>
<br/>
Quindi creiamo la document root <tt>/var/www/lists</tt>, abilitiamo il nuovo Virtual Host e riavviamo Apache:
Quindi creiamo la document root <code>/var/www/lists</code>, abilitiamo il nuovo Virtual Host e riavviamo Apache:
<pre>
<pre>
# mkdir /var/www/lists
# mkdir /var/www/lists
Riga 2 460: Riga 2 482:
# /etc/init.d/apache2 restart
# /etc/init.d/apache2 restart
</pre>
</pre>
Dato che stiamo usando un Virtual Host, dobbiamo sistemare alcune variabili nella configurazione di Mailman in <tt>/etc/mailman/mm_cfg.py</tt>:
Dato che stiamo usando un Virtual Host, dobbiamo sistemare alcune variabili nella configurazione di Mailman in <code>/etc/mailman/mm_cfg.py</code>:
<pre>
<pre>
# nano /etc/mailman/mm_cfg.py
# nano /etc/mailman/mm_cfg.py
Riga 2 492: Riga 2 514:
[...]
[...]
</pre>
</pre>
Ora dobbiamo associare il dominio <tt>lists.example.com</tt> al corretto ''transport'' <tt>mailman:</tt>. Questa operazione è possibile in diversi modi: nel nostro setup non abbiamo configurato i transport di Postfix all'interno del database MySQL degli utenti virtuali, quindi procederemo con la configurazione attraverso un file di testo.
Ora dobbiamo associare il dominio <code>lists.example.com</code> al corretto ''transport'' <code>mailman:</code>. Questa operazione è possibile in diversi modi: nel nostro setup non abbiamo configurato i transport di Postfix all'interno del database MySQL degli utenti virtuali, quindi procederemo con la configurazione attraverso un file di testo.
<br/>
<br/>
Iniziamo con introdurre la direttiva seguente nella configurazione di Postfix:
Iniziamo con introdurre la direttiva seguente nella configurazione di Postfix:
Riga 2 516: Riga 2 538:


=== Creazione della prima lista ===
=== Creazione della prima lista ===
Prima di avviare Mailman, è necessario creare una lista chiamata <tt>mailman</tt>; è obbligatoria, senza di questa Mailman non partirà:
Prima di avviare Mailman, è necessario creare una lista chiamata <code>mailman</code>; è obbligatoria, senza di questa Mailman non partirà:
<pre>
<pre>
# newlist --urlhost=lists.example.com --emailhost=lists.example.com mailman
# newlist --urlhost=lists.example.com --emailhost=lists.example.com mailman
</pre>
</pre>
Solitamente gli switch <tt>--urlhost</tt> e <tt>--emailhost</tt> non sono necessari, dal momento che abbiamo già configurato il file <tt>/etc/mailman/mm_cfg.py</tt>, ma per sicurezza sono solito indicarli esplicitamente.
Solitamente gli switch <code>--urlhost</code> e <code>--emailhost</code> non sono necessari, dal momento che abbiamo già configurato il file <code>/etc/mailman/mm_cfg.py</code>, ma per sicurezza sono solito indicarli esplicitamente.
<br/>
<br/>
Dovremo rispondere ad alcune domande:
Dovremo rispondere ad alcune domande:
Riga 2 527: Riga 2 549:
Initial mailman password: <-- La password per amministrare la lista
Initial mailman password: <-- La password per amministrare la lista
</pre>
</pre>
Prima di poter utilizzare la lista dovremo modificare il file <tt>/etc/aliases</tt> come indicato da Mailman, cioè aggiungendo le seguenti linee:
Prima di poter utilizzare la lista dovremo modificare il file <code>/etc/aliases</code> come indicato da Mailman, cioè aggiungendo le seguenti linee:
<pre>
<pre>
## mailman mailing list
## mailman mailing list
Riga 2 545: Riga 2 567:
Hit enter to notify mailman owner... <-- ENTER
Hit enter to notify mailman owner... <-- ENTER
</pre>
</pre>
Apriamo quindi <tt>/etc/aliases</tt> e modifichiamolo come suggerito:
Apriamo quindi <code>/etc/aliases</code> e modifichiamolo come suggerito:
<pre>
<pre>
# nano /etc/aliases
# nano /etc/aliases

Menu di navigazione