Introduction

Le service Roundcube est un service de courriel HTML (webmail). Il est codé en PHP et s'appuie sur une base de donnée SQLite pour stocker l'information.

Information Caractéristiques
Site web origine http://roundcube.net/
Version installée 1.1.2
Code PHP 5
Paquet roundcube

Pré-requis

  • Pour la réinstallation de Roundcube, une connexion à Internet est indispensable, ne serait-ce que pour télécharger les paquets d'installation.
  • Roundcube est destiné à être installé sur une distribution Debian Wheezy de base, équipée du dépôt backports.
  • Pour effectuer une remise en service de Roundcube, il est indispensable d'avoir réinstallé un serveur web fonctionnel.
  • Roundcube s'appuie sur un serveur IMAP et un serveur SMTP pour fonctionner, il est donc indispensable d'avoir remis en service Dovecot et Exim4 avant d'aller plus loin.
  • Par ailleurs, Roundcube étant basé sur PHP5, il faut l'avoir préalablement installé sur le serveur, en plus d'Apache. Cette installation est couverte dans la partie relative à Apache.

Installation du logiciel

Voici les commandes à lancer pour installer Roundcube correctement:

# aptitude install roundcube-sqlite3

Répertoires concernés

  • L'éxécutable de Roundcube est stocké dans /var/lib/roundcube.
  • La base de données de Roundcube est stockée dans /var/lib/dbconfig-common/sqlite3/roundcube. Il s'agit d'une base de données SQLite3.
  • La configuration de Roundcube est stockée dans /etc/roundcube/config.inc.php.
  • La configuration de la base de données est stockée dans /etc/roundcube/debian-db.php.
  • L'accès au répertoire est stocké en tant que fichier de configuration global d'apache: /etc/apache2/conf-availables/roundcube.conf. La configuration est appliquée partout mais n'est disponible que pour le virtualHost medspx.fr via une directive Alias.
  • Les logs sont stockés dans /var/lib/roundcube/logs qui est un lien symbolique vers /var/log/roundcube/logs.
  • Les logs sont archivés via log-rotate.

Restaurations

Les éléments à restaurer sont la base de données du service ainsi que les fichiers de configuration. Se référer à la procédure de restauration générique pour y parvenir.

# backup-client restore roundcube-db /var/lib/dbconfig-common/sqlite3/
# backup-client restore roundcube-config /etc/roundcube/
# chown www-data:www-data /var/lib/dbconfig-common/sqlite3/roundcube
# chown -R root:root /etc/roundcube/
# chown root:www-data /etc/roundcube/main.inc.php /etc/roundcube/debian-db.php
# chmod 640 /etc/roundcube/main.inc.php /etc/roundcube/debian-db.php

Configuration principale

Normalement, le fichier de configuration /etc/roundcube/config.inc.php contient les éléments nécessaires à la configuration de l'application Roundcube. Il est modifié par rapport à l'installation par défaut du paquet d'où l'intérêt de le sauvegarder. En cas de problème, on pourra régénérer la configuration grâce aux directives suivantes qui sont spécifiques:

<?php

/*
+-----------------------------------------------------------------------+
| Local configuration for the Roundcube Webmail installation.           |
|                                                                       |
| This is a sample configuration file only containing the minimum       |
| setup required for a functional installation. Copy more options       |
| from defaults.inc.php to this file to override the defaults.          |
|                                                                       |
| This file is part of the Roundcube Webmail client                     |
| Copyright (C) 2005-2013, The Roundcube Dev Team                       |
|                                                                       |
| Licensed under the GNU General Public License version 3 or            |
| any later version with exceptions for skins & plugins.                |
| See the README file for a full license statement.                     |
+-----------------------------------------------------------------------+
*/

$config = array();

/* Do not set db_dsnw here, use dpkg-reconfigure roundcube-core to configure database ! */
include_once("/etc/roundcube/debian-db-roundcube.php");

// The mail host chosen to perform the log-in.
$config['default_host'] = 'localhost';

// SMTP server host (for sending mails).
$config['smtp_server'] = 'localhost';

// SMTP port (default is 25; use 587 for STARTTLS or 465 for the
// deprecated SSL over SMTP (aka SMTPS))
$config['smtp_port'] = 25;

// SMTP username (if required) if you use %u as the username Roundcube
// will use the current username for login
$config['smtp_user'] = '';

// SMTP password (if required) if you use %p as the password Roundcube
// will use the current user's password for login
$config['smtp_pass'] = '';

// provide an URL where a user can get support for this Roundcube installation
// PLEASE DO NOT LINK TO THE ROUNDCUBE.NET WEBSITE HERE!
$config['support_url'] = '';

// Name your service. This is displayed on the login screen and in the window title
$config['product_name'] = 'Poste Électronique medspx.fr';

// this key is used to encrypt the users imap password which is stored
// in the session record (and the client cookie if remember password is enabled).
// please provide a string of exactly 24 chars.
// YOUR KEY MUST BE DIFFERENT THAN THE SAMPLE VALUE FOR SECURITY REASONS
$config['des_key'] = 'sdfsdfsdfsdfsdfsdf';

// List of active plugins (in plugins/ directory)
$config['plugins'] = array(
'archive',
'zipdownload',
);

// skin name: folder from skins/
$config['skin'] = 'larry';

// Options de sécurité
$config['force_https'] = true;
$config['use_https'] = true;

Configuration de l'emplacement de la base de données

Normalement, le fichier de configuration /etc/roundcube/debian-db.php contient les éléments nécessaires à la configuration de l'accès à la base de données. Il est installé par défaut lors de l'installation du paquet roundcube-core. En cas de problème, voici son contenu (non sensible):

<?php
$dbuser='roundcube';
$dbpass='';
$basepath='/var/lib/dbconfig-common/sqlite3/roundcube';
$dbname='roundcube';
$dbserver='';
$dbport='';
$dbtype='sqlite3'; 

Configuration de l'accès via le serveur Web

Normalement, la restauration du service Apache permet de rendre Roundcube opérationnel après son installation. Le seul élément de configuration qui diffère de l'installation de base est le suivant:

  # Configuration de Roundcube
  Alias /####### /var/lib/roundcube

Le reste est configuré dans le fichier de configuration de base de Debian: /etc/apache2/conf-available/roundcube.conf.

Configuration de la rotation des journaux

Il est nécessaire de remettre en service la rotation des journaux pour configurer la rotation spécifique des journaux de Roundcube. Cette mise en service est normalement déclenchée lors de l'installation des paquets de Roundcube. En cas de problème, voici la configuration à appliquer dans le fichier /etc/logrotate.d/roundcube-core:

/var/log/roundcube/errors
/var/log/roundcube/sendmail
/var/log/roundcube/session
/var/log/roundcube/userlogins
{
  create 0640 www-data adm
  compress
  delaycompress
  missingok
  notifempty
  rotate 52
  weekly
} 

Procédure de vérification du service

  • Se connecter sur https://medspx.fr/####### et vérifier que la page de login de Roundcube s'affiche correctement.
  • Se connecter avec un compte utilisateur IMAP connu et vérifier que le service fonctionne correctement.
  • Envoyer un courriel et vérifier que celui-ci part correctement.