TUTORIAL - Installation de RoundCube (PHP4)

RoundCube peux être exécuté dans des environnement multiples. Il peut employer différents SGBD, notamment MySQL, SQLite, PostgreSQL. Dans le cadre de ce document, nous présentons l'installation de RoundCube sur une distribution Debian Etch. Nous partons du principe que vous disposez d'un Serveur Web Apache2, de PHP4 et d'un Serveur MySQL >= à la version 4.1. Voir cette page Près requis ( Debian ) pour plus d'informations à ce sujet.

A titre liminaire, nous vous rappelons que toutes les commandes évoquées dans ce tutorial doivent être exécutées avec les privilèges de l'utilsateur root.

I. Installation et configuration de RoundCube

A. Installation :

a. Près-requis :

Pour disposer de toutes les options, certaines librairies PEAR et autres packages doivent êtres installés sur le système :

1. On s'assure que les près requis sont installés:

$ aptitude update
$ aptitude remove --purge php5-dev
$ aptitude install openssl aspell php-pear php4-gd php4-mcrypt php4-dev libmagic-dev
$ pear update-channels && pear upgrade-all
$ pear install Net_SMTP
$ pear install Mail_mime
$ pear install MDB2
$ pear install MDB2#mysql
$ pecl install Fileinfo

Note : En ce qui concerne Fileinfo, il faut s'assurer que le fichier /etc/php4/apache2/conf.d/fileinfo.ini existe. Si ce n'est pas le cas, créez le et insérez la ligne ' extension=fileinfo.so ' sans les quotes pour que la librairie puisse être chargée.

En ce qui concerne les librairies MDB2, Mail_mime et Net_SMTP, vous noterez qu'elle sont fournies dans l'archive de RoundCube. Ici, nous les installons pour êtres sûr d'avoir les dernières versions en date.

2. On vérifie la liste des librairie PEAR installées en éxécutant la commande suivante :

$ pear list

Nous obtenons le résultat suivant :

Installed packages, channel pear.php.net:
=========================================
Package            Version State
Archive_Tar        1.3.2   stable
Console_Getopt     1.2.3   stable
Fileinfo           1.0.4   stable
MDB2               2.4.1   stable
MDB2_Driver_mysql  1.4.1   stable
Mail_Mime          1.5.2   stable
Mail_mimeDecode    1.5.0   stable
Net_SMTP           1.2.11  stable
Net_Socket         1.0.8   stable
PEAR               1.7.1   stable
Structures_Graph   1.0.2   stable

Note : Sur votre système, le retour de cette commande peux être différent si vous aviez déjà installé d'autres librairies PEAR. Ce qui compte, c'est que les librairies, MDB2 ( avec driver Mysql ), FileInfo, Mail_Mime, Mail_mimeDecode, Net_SMTP et Net_Socket soient listées.

3. On recharge la configuration du Serveur Web apache2 pour que les changements soient pris en comptes :

$ /etc/init.d/apache2 reload
b. RoundCube :

Il n'existe pas encore de paquet Debian permettant une installation rapide du Webmail RoundCube. Pour pouvoir l'installer, nous devons récupérer l'archive source et la décompresser :

1. On se place dans le répertoire /var/www :

$ cd /var/www

2. On télécharge la dernière version en date de RoundCube :

$ wget http://garr.dl.sourceforge.net/sourceforge/roundcubemail/roundcubemail-0.1.1.tar.gz

Note : Pensez à vérifier qu'il n'existe pas de nouvelle version

3. On décompresse l'archive obtenue :

$ tar -xzf roundcubemail-0.1.1.tar.gz

4. On renomme le répertoire roundcubemail-0.1.1 obtenu en webmail :

$ mv ./roundcubemail-0.1.1 ./webmail

5. On fixe le propriétaire/groupe et permissions des fichiers :

for i in `find /var/www/webmail`; do if [[ -f $i ]]; then chmod 0400 $i; chown www-data:www-data $i; elif [[ -d $i ]]; then chmod 0555 $i; chown www-data:www-data $i;fi done

Note : Vous devez exécuter cette commande en une seule fois. Un copier-coller suffira amplement.

6. On rend les dossiers /tmp et /logs accessibles en écriture pour l'utilisateur www-data :

$ chmod 0755 /var/www/webmail/temp /var/www/webmail/logs

7. On désactive les librairies PEAR fournies avec Roundcube :

$ cd ./webmail/program/lib
$ mv ./PEAR.php ./PEAR.php-stop
$ mv ./DB.php ./DB.php-stop
$ mv ./DB ./DB-stop
$ mv ./MDB2.php ./MDB2.php-stop
$ mv ./MDB2 ./MDB2-stop
$ mv ./Mail ./Mail-stop
$ mv ./Net ./Net-stop
c. Création de la base de données et utilisateur Sql :

1. On se connecte au moniteur Sql :

$ mysql -u root -p
Your root sql password

2. On créer un nouvelle base de données nommée roundcubemail :

CREATE DATABASE IF NOT EXISTS `roundcubemail` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

3. On créer l'utilisateur Sql nommé roundcube et on lui donne tous les privilèges sur la base de données :

GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'Your_Password';

Note : Vous devez remplacer Your_Password par le mot de passe de votre choix.

4. On recharge les privilèges Sql :

FLUSH PRIVILEGES;

5. On quitte le moniteur Sql :

quit;

6. On créer les tables Sql :

mysql -u root -p roundcubemail < roundcube/SQL/mysql5.initial.sql
Your root sql password

B. Configuration :

A venir

II. Création d'un nouvel Alias

Pour que RoundCube soit accessible, nous pouvons soit créer un nouvel hôte virtuel soit créer un nouvel Alias. Dans le cadre de ce document, nous nous contenterons de créer un nouvel Alias. Cela permet aux utilisateurs d'accéder à RoundCube à partir d'une adresse http://domain.tld/webmail

1. On se place dans le répertoire /etc/apache2/sites-available :

$ cd /etc/apache2/sites-available

2. On créer un nouveau fichier nommé roundcube.conf :

$ touch roundcube.conf

3. On ajoute le contenu suivant dans le fichier nouvellement créé :

Alias /webmail "/var/www/webmail"

<Directory "/var/www/webmail">
 Options -Indexes Includes FollowSymlinks
 AllowOverride ALL
 Order allow,deny
 Allow from all
</Directory>

4. On active le nouvel Alias :

$ a2ensite roundcube.conf

5. On recharge la configuration du Serveur Apache2 pour que les changements soient pris en comptes :

/etc/init.d/apache2 reload

Contributeur : M. Laurent DECLERCQ - Nuxwin Team