Project

General

Profile

RoundCubeMail » History » Version 24

Simone Piccardi, 07/25/2011 07:24 PM

1 20 Simone Piccardi
h1. Installare e configurare Round Cube
2 19 Amministratore Truelite
3 1 Amministratore Truelite
"Roundcube":http://roundcube.net/ è una delle piattaforme di posta web più interessanti fra quelle disponibili, supportando molte funzionalità avanzate ed una interfaccia utente molto gradevole. Non essendo disponibile come pacchetto Debian, descriveremo qui la procedura utilizzata per installarla su una Debian Lenny. 
4 19 Amministratore Truelite
5 22 Simone Piccardi
Il primo passo è scaricare l'ultima versione disponibile dal sito del progetto. Al momento della stesura di queste note l'ultima versione disponibile è la 0.5. Nella sezione download del sito sono presentate due alternative, la distribuzione completa che non richiede dipendenze e la _dependent_ che non contiene alcune parti che nel caso di Debian possono essere installate direttamente dai pacchetti, si è pertanto scaricata una versione e la si è poi installata in @/srv@ con i seguenti passi: 
6 20 Simone Piccardi
7 1 Amministratore Truelite
<pre>
8 1 Amministratore Truelite
tar -xvzf roundcubemail-*-dep.tar.gz
9 19 Amministratore Truelite
mv roundcubemail-*-dep /srv/roundcube
10 1 Amministratore Truelite
chown -R root.root /srv/roundcube
11 1 Amministratore Truelite
</pre>
12 20 Simone Piccardi
13 20 Simone Piccardi
occorre inoltre che le due directory @temp@ e @logs@ siano scrivibili, pertanto ci si sposti nella directory di installazione e di cambi il loro proprietario con con:
14 20 Simone Piccardi
15 19 Amministratore Truelite
<pre>
16 19 Amministratore Truelite
cd /srv/roundcube
17 1 Amministratore Truelite
chown -R www-data.www-data temp logs
18 1 Amministratore Truelite
</pre>
19 19 Amministratore Truelite
20 1 Amministratore Truelite
Si dovrà poi prevedere configurare Apache per fornire accesso all'installazione ed eseguire il codice di ausilio per il controllo e la creazione automatica dei file di configurazione. Nel caso specifico si potrà definire un opportuno _virtual host_ oppure aggiungere le seguenti righe a quello di default:
21 20 Simone Piccardi
22 1 Amministratore Truelite
<pre>
23 19 Amministratore Truelite
<Directory /srv/roundcube>
24 20 Simone Piccardi
        AllowOverride All
25 19 Amministratore Truelite
</Directory>
26 1 Amministratore Truelite
Alias /roundcube /srv/roundcube
27 1 Amministratore Truelite
</pre>
28 20 Simone Piccardi
29 20 Simone Piccardi
(la sezione container serve per consentire l'uso del file @.htaccess@ fornito dal programma, alternativamente si può inserire il contenuto dello stesso al posto della direttiva @AllowOverride All@). Inoltre per ottimizzare le prestazioni conviene attivare i seguenti moduli di Apache: 
30 20 Simone Piccardi
31 19 Amministratore Truelite
<pre>
32 19 Amministratore Truelite
a2enmod expires
33 19 Amministratore Truelite
a2enmod headers
34 1 Amministratore Truelite
a2enmod deflate
35 1 Amministratore Truelite
</pre>
36 1 Amministratore Truelite
37 20 Simone Piccardi
e modificare la configurazione di @.htaccess@ (o della parte eventualmente inclusa nel _virtual host_) per l'uso di @mod_headers@ come indicato nel file stesso a seconda della versione di Apache. 
38 20 Simone Piccardi
39 19 Amministratore Truelite
Una volta riavviato Apache si potrà contattare la pagina di installazione all'indirizzo:
40 20 Simone Piccardi
41 1 Amministratore Truelite
<pre>
42 1 Amministratore Truelite
http://mio.server.address/roundcube/installer
43 1 Amministratore Truelite
</pre>
44 20 Simone Piccardi
45 1 Amministratore Truelite
e seguire la procedura di installazione per passi ivi descritta. 
46 22 Simone Piccardi
47 22 Simone Piccardi
Fino alla 0.4 era possibile usare sia la versione completa che la _dependent_, aggiungendo in questo caso i pacchetti illustrati in seguito. Con la 0.5 se ci si vuole mantenere su Debian Lenny è necessario scaricare la versione completa dato che non esistono neanche in backports pacchetti sufficientemente aggiornati per avere tutte le funzioni di libreria necessarie. 
48 19 Amministratore Truelite
49 6 Amministratore Truelite
Il primo passo controlla la presenza delle dipendenze necessarie ed opzionali, segnalando cosa manca, nel nostro caso si sono installati i seguenti pacchetti ausiliari:
50 20 Simone Piccardi
51 1 Amministratore Truelite
<pre>
52 13 Amministratore Truelite
apt-get install libapache2-mod-php5 php5-mcrypt php-pear php5-gd php5-mysql \
53 19 Amministratore Truelite
                php-net-smtp 
54 1 Amministratore Truelite
</pre>
55 20 Simone Piccardi
56 1 Amministratore Truelite
(si abbia cura di riavviare apache dopo l'installazione), inoltre sarà necessario anche installare dal sito di backports i pacchetti:
57 20 Simone Piccardi
58 19 Amministratore Truelite
<pre>
59 19 Amministratore Truelite
apt-get -t lenny-backports install php-mdb2 php-mdb2-driver-mysql php-mail-mime
60 18 Amministratore Truelite
</pre>
61 20 Simone Piccardi
62 21 Simone Piccardi
(la versione di Lenny di @php-mail-mime@ non va bene) con questo non sarà disponibile soltanto la funzionalità ausiliaria di @php-fileinfo@ che si può ottenere ricompilandosi il pacchetto con le istruzioni che si trovano su "questa pagina web":http://www.roundcubeforum.net/5-release-support/14-release-discussion/5021-file-info-extension-php.html ed installandolo manualmente. Qualora si voglia usare un database diverso si installi il relativo pacchetto di interfaccia rispetto a @php5-mysql@ e @php-mdb2-driver-mysql@. 
63 1 Amministratore Truelite
64 23 Simone Piccardi
Nel caso si abbia squeeze si potrà invece installare direttamente tutto con:
65 23 Simone Piccardi
66 23 Simone Piccardi
<pre>
67 23 Simone Piccardi
apt-get install libapache2-mod-php5 php5-mcrypt php-pear php5-gd php5-mysql \
68 23 Simone Piccardi
                php-net-smtp php-mdb2 php-mdb2-driver-mysql php-mail-mime \
69 23 Simone Piccardi
		php5-intl
70 23 Simone Piccardi
</pre>
71 23 Simone Piccardi
72 9 Amministratore Truelite
Una volta completata l'installazione delle dipendenze, si può passare al passo successivo che richiede l'immissione di una lunga serie di parametri di configurazione. La maggior parte di questi possono essere lasciati al loro valore di default, in sostanza ci sarà da cambiare soltanto quelli relativi alla connessione al database (mettendovi username, password e nome del database) e impostare quelli relativi all'indirizzo del server IMAP e SMTP che si vuole usare (usualmente localhost, supponendo che la webmail giri sul server di posta elettronica).
73 1 Amministratore Truelite
74 20 Simone Piccardi
Si tenga presente che il programma necessita di un database (con _MySQL_, _PostgresSQL_ o _SQLite_). Nel nostro caso si è fatto riferimento a _MySQL_, sul quale andrà creato un database dedicato all'applicazione che deve essere oppurtunamente inizializzato. Per la creazione iniziale si può fare riferimento alle istruzioni generali riportate in [[MySQLInitConf]], nel nostro caso si sono utilizzati i seguenti comandi (collegandosi da root):
75 20 Simone Piccardi
76 19 Amministratore Truelite
<pre>
77 8 Amministratore Truelite
CREATE DATABASE roundcubemail /*!40101 CHARACTER SET utf8 COLLATE utf8_general_ci */;
78 1 Amministratore Truelite
GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost' IDENTIFIED BY 'pwdsegreta'; 
79 1 Amministratore Truelite
</pre>
80 1 Amministratore Truelite
81 1 Amministratore Truelite
Una volta creato il database lo si dovrà inizializzare con lo schema fornito nei sorgenti del programma, nel nostro caso questo è stato fatto con il comando:
82 20 Simone Piccardi
83 19 Amministratore Truelite
<pre>
84 1 Amministratore Truelite
mysql -u roundcube -p roundcubemail < SQL/mysql.initial.sql
85 1 Amministratore Truelite
</pre>
86 20 Simone Piccardi
87 12 Amministratore Truelite
(questo passaggio pare non essere necessario nelle versioni più recenti del software che una volta generati ed installati i due file di configurazione come nel paragrafo precedente offre un pulsante di creazione dello schema direttamente dall'interfaccia web).
88 19 Amministratore Truelite
89 20 Simone Piccardi
Una volta inseriti i dati di accesso al DB ed ai server SMTP e IMAP si dovranno scaricare i due file di configurazione generati automaticamente dall'interfaccia web ed installarli nella directory @config@, a quel punto si potrà passare al terzo passo che verificherà il funzionamento del tutto compresa la spedizione di una email ed il login al server IMAP, se non si ricevono errori si potrà disabilitare l'accesso alla directory di configurazione (come consigliato dall'interfaccia stessa) con il comando: 
90 20 Simone Piccardi
91 19 Amministratore Truelite
<pre>
92 19 Amministratore Truelite
chmod 700 installer
93 9 Amministratore Truelite
</pre>
94 20 Simone Piccardi
95 24 Simone Piccardi
(oppure spostandola in altra posizione rispetto all'installazione). Nelle versioni più recenti del programma esiste anche una specifica chiave di configurazione del file @config/main.inc.php@, @enable_installer@, che deve essere abilitata per poter usare l'interfaccia web di installazione, in particolare occorrerà impostare nel suddetto file:
96 24 Simone Piccardi
97 24 Simone Piccardi
<pre>
98 24 Simone Piccardi
$rcmail_config['enable_installer'] = true;
99 24 Simone Piccardi
</pre>
100 24 Simone Piccardi
101 24 Simone Piccardi
e poi metterlo a @false@ completata l'installazione.
102 24 Simone Piccardi
103 24 Simone Piccardi
Il programma consente l'uso di numerosi plugin che ne estendono le funzionalità, da installare in altrettante sttodirectory nella directory @plugins/@, il loro uso però deve essere esplicitamente attivato con definendo la chiave di configurazione @plugins@, il cui default è essere una lista vuota. La variabile di configurazione deve essere definita alla lista dei nomi (corrispondente alla sottodirectory in cui li si sono installati) dei plugin, pertanto se si vuole attivare i plugin @managesieve@ e @calendar@, si dovrà definire:
104 24 Simone Piccardi
105 24 Simone Piccardi
<pre>
106 24 Simone Piccardi
$rcmail_config['plugins'] = array('managesieve', 'calendar');
107 24 Simone Piccardi
</pre>