Un server di posta con qmail su FC6 (parte 7)
Questo articolo è riservato interamente all’installazione del client di posta elettronica via web (la nostra WEBMail). Ho deciso di riservare un intero articolo a questo argomento in quanto, sebbene l’installazione in sé del pacchetto non rappresenti nulla di così complicato come molti vorrebbero far credere, consta di alcuni passaggi delicati, che ritengo giusto valorizzare e affrontare con voi…
Livello: medio/avanzato
[tags]qmail,vpopmail,mysql,qmailadmin,squirrelmail,clamav,spamassassin,antivirus,qmail-scanner,ezmlm,posta elettronica,email,linux,fedora,fc,core[/tags]
Installazione del pacchetto di SquirrelMail dai sorgenti:
cd /usr/src/pacchetti/tar/
wget http://dfn.dl.sourceforge.net/sourceforge/squirrelmail/squirrelmail-1.4.10a.tar.bz2 # traduzione in italiano
wget http://ovh.dl.sourceforge.net/sourceforge/squirrelmail/all_locales-1.4.9-20070106.tar.bz2
cd /var/www/html/
tar xjvf /usr/src/pacchetti/tar/squirrelmail-1.4.10a.tar.bz2
chown -R root.apache squirrelmail-1.4.10a
chmod -R 750 squirrelmail-1.4.10a
ln -s squirrelmail-1.4.10a squirrelmail
Creiamo la struttura delle directories principali e impostiamo i relativi permessi utente:
mkdir /var/squirrelmail
mkdir /var/squirrelmail/data
mkdir /var/squirrelmail/attach
cd squirrelmail
cp data/default_pref /var/squirrelmail/data
chown -R root.apache /var/squirrelmail
chmod -R 0770 /var/squirrelmail/data
chmod -R 0730 /var/squirrelmail/attach
Fatto! A questo punto passiamo alla configurazione del prodotto e modifichiamo le voci descritte di seguito, così come indicato:
cd config
perl conf.pl
->Â Â Â Â D. SET PRE-DEFINED SETTINGS FOR SPECIFIC IMAP SERVERS
->Â Â Â Â Â Â Choose Courier
->Â
->Â Â Â Â 1. ORGANIZATION PREFERENCES
->      1. Organization name           : YourCompany WebMail
->      2. Organization Logo           : /images/yourcompanylogo-100.gif
->      3. Org. Logo Height/Width      : 100/100
->      4. Organization title          : YourCompany WebMail (v$version)
->     7. Provider link               : http://www.yourdomain.com
->      8. Provider name               : YourCompany
->Â
->Â Â Â Â 2. SERVER SETTINGS
->      1. Domain                      : yourdomain.com
->Â
->Â Â Â Â 3. FOLDER DEFAULTS
->      15. Default Unseen Type         : 2
->Â
->Â Â Â Â 4. GENERAL OPTIONS
->      1. Data directory              : /var/squirrelmail/data
->      2. Attachment directory        : /var/squirrelmail/attach
->      5. Usernames in lower case     : true
->      7. Hide SM attributions        : true
->      11. Allow server-side sorting   : false
->Â Â Â Â Â Â ( Note, server-sorting is faster, but I personally find the sort results to be not as “intuitive”
->Â Â Â Â Â Â Â compared with when you let SquirrelMail do the sorting. If you toggle this option on/off and compare
->Â Â Â Â Â Â Â the resultant displays in SquirrelMail you will see what I mean. For example if you server-sort the
->Â Â Â Â Â Â Â FROM column then the sort will be done senders email address, whereas if you let SquirrelMail do the
->Â Â Â Â Â Â sort then column will be sorted on senders name. I would suggest you try toggling this
->Â Â Â Â Â Â Â option on and off to make your own decision on which sorting method provides the better results.)
->Â
->Â Â Â Â 6. ADDRESS BOOKS
->Â Â Â Â Â Â 2. Use Javascript Address Book Search : True
->Â
->Â Â Â Â 9. DATABASE
->      1. DSN for address book : mysql://utente_squirrel:prokaccia.123@localhost/squirrelmail
->      3. DSN for preferences : mysql://utente_squirrel:prokaccia.123@localhost/squirrelmail
Salviamo e usciamo dalla configurazione. Adesso tocca al database. Prepariamo la struttura (schema) del DB per l’utilizzo di squirrelmail:
mysql -u root -p
 CREATE USER utente_squirrel IDENTIFIED BY ‘prokaccia.123′;
       CREATE DATABASE squirrelmail;
       GRANT select,insert,update,delete ON squirrelmail.*
       TO utente_squirrel@localhost IDENTIFIED BY ‘prokaccia.123′;       USE squirrelmail;
       CREATE TABLE address (
         owner varchar(128) DEFAULT ” NOT NULL,
         nickname varchar(16) DEFAULT ” NOT NULL,
         firstname varchar(128) DEFAULT ” NOT NULL,
         lastname varchar(128) DEFAULT ” NOT NULL,
         email varchar(128) DEFAULT ” NOT NULL,
         label varchar(255),
         PRIMARY KEY (owner,nickname),
         KEY firstname (firstname,lastname)
       );       CREATE TABLE userprefs (
         user varchar(128) DEFAULT ” NOT NULL,
         prefkey varchar(64) DEFAULT ” NOT NULL,
         prefval blob DEFAULT ” NOT NULL,
         PRIMARY KEY (user,prefkey)
       );       quit
Configuriamo anche le impostazioni di default squirrelmail e alcune opzioni:
cd /var/www/html/squirrelmail
vi functions/db_prefs.php
var $default = Array(‘chosen_theme’ => ‘../themes/default_theme.php’,
  ’show_html_default’ => ‘1′,
  ‘language’ => ‘it_IT’,
  ‘use_javascript_addr_book’ => ‘1′,
  ‘left_size’ => ‘140′,
  ‘left_refresh’ => ‘3600′,
  ’show_username’ => ‘1′,
  ’show_username_pos’ => ‘top’,
  ‘order1′ => ‘1′,
  ‘order2′ => ‘2′,
  ‘order3′ => ‘3′,
  ‘order4′ => ‘5′,
  ‘order5′ => ‘4′,
  ‘order6′ => ‘6′);
vi /var/squirrelmail/data/default_pref
 show_html_default=1
 language=it_IT
 use_javascript_addr_book=1
 left_size=140
 left_refresh=3600
 show_username=1
 show_username_pos=top
 order1=1
 order2=2
 order3=3
 order4=5
 order5=4
 order6=6
Impostiamo adesso la pulizia automatica degli allegati di squirrelmail non eliminati (nell’esempio, i files più vecchi di 2 giorni):
crontab -e
           40 0 * * * find /var/squirrelmail/attach/* -atime +2 -exec /bin/rm {} \;
Fatto? Bene, scusate se corro, ma le istruzioni sono tante, per cui preferisco dirvi quelle, evitando di soffermarmi troppo sulla sintassi di istruzioni che potete trovare consultando le pagine del manuale (man <comando>).
Adesso passiamo alla parte che, personalmente, trovo più interessante: l’installazione dei plugins di squirrelmail.
Iniziamo con il plugin x consentire agli utenti di vedere le proprie quote:
cd /usr/src/pacchetti/tar/
wget http://www.squirrelmail.org/plugins/quota_usage-1.2.tar.gz
wget http://www.squirrelmail.org/plugins/compatibility-1.3.tar.gz
cd /var/www/html/squirrelmail/plugins/
tar xzvf /usr/src/pacchetti/tar/quota_usage-1.2.tar.gz
cp quota_usage/config.php.sample quota_usage/config.php
chown -R root.apache quota_usage
chmod -R o-rx quota_usage
Sistemiamo la riga 43 del file functions.php relativa alla dimensione precisa della quota, x uniformare squirrelmail con qmailadmin:
vi quota_usage/functions.php
->Â cambiare 1000000 in 1048576
tar xzvf /usr/src/pacchetti/tar/compatibility-1.3.tar.gz
chown -R root.apache compatibility
chmod -R o-rx compatibility
A questo punto eseguiamo lo script perl di configurazione:Â
cd ../config
perl conf.pl
->Â Â Â Â 8. Plugins
->Â Â Â Â Â Â Â Â Â Â choose quota_usage
->Â Â Â Â Â Â Â Â Â Â choose compatibility
Opzionalmente, configuriamo anche l’accesso SSL per il login di squirrelmail? Che dite? Scarichiamo e configuriamo l’apposito plugin:
cd /usr/src/pacchetti/tar/
wget http://www.squirrelmail.org/plugins/secure_login-1.2-1.2.8.tar.gz
cd /var/www/html/squirrelmail/plugins/
tar xzvf /usr/src/pacchetti/tar/secure_login-1.2-1.2.8.tar.gz
cp secure_login/config.php.sample secure_login/config.php
chown -R root.apache secure_login
chmod -R o-rx secure_login
cd ../config
perl conf.pl
->Â 8. Plugins, and choose secure_login
Ancora, opzionalmente, modifichiamo squirrelmail in modo da registrare nel file di log /var/log/maillog i tentativi di accesso falliti:
vi ../functions/imap_general.php
# cercare la riga “Unknown user or password incorrect”
# sopra questa riga, inserire la riga:
->Â syslog(LOG_MAIL|LOG_NOTICE,”Squirrelmail login failed for Username : $username, Password : $password”);
Eventualmente, sostituiamo la stringa “Name:” con “Email address:”, all’interno del file squirrelmail/src/login.php. E’ più semplice da interpretare, per gli utenti inesperti che utilizzeranno il nostro server.
Creiamo infine, una pagina di redirect alla webmail, così gli utenti non dovranno ricordarsi indirizzi http complessi per raggiungerla, ma potranno (dopo che avremo configurato in maniera opportuna il DNS) digitare qualcosa del tipo http://webmail.tuodominio.com/
vi /var/www/html/index.html
 <HTML>
 <HEAD>
 <TITLE>Apertura WebMail in corso…</TITLE>
 <META HTTP-EQUIV=”refresh” CONTENT=”1; url=http://webmail.tuodominio.com/squirrelmail/”>
 </HEAD>
 <BODY>
 Accesso alla WebMail in corso…<br>
 <a href=squirrelmail/>Seleziona questo link se non vieni inoltrato automaticamente alla WebMail</a>
 </BODY>
 </HTML>
Fatto? Bene, allora abbiamo terminato con squirrelmail. Nei prossimi articoli vedremo come installare e configurare il sistema antivirus e antispam.
Per il momento, invece, vado a far colazione.











