TcWeb
HowTo RoundCube et debian

HowTo RoundCube et debian

Le

Mode opératoire pour installer la version svn de RoundCube sur une debian (etch, lenny ou sid). Celà doit aussi fonctionner avec d’autres distributions.

Depuis le 04/05/2007 un paquet roundcube officiel à fait sont entrée dans debian sid, 1 mois plus tard il est entré dans testing. Il est fortement conseillé d’utiliser la version empaqueté présente dans les dépos debian officiel. Le seule intérêt de suivre la procédure ci-dessous, c’est d’utiliser la version subversion.

Récupération des sources de roundcube directement dans le svn

cd /usr/local/share

svn checkout https://svn.roundcube.net/trunk/roundcubemail roundcube

Création et préparation du répertoire de travaille, dans la “debian policy” les applications web doivent travailler dans /var/lib/mon_applie

mkdir -p /var/lib/roundcube/temp
chown www-data:www-data /var/lib/roundcube/temp
cd /var/lib/roundcube
ln -s /usr/local/share/roundcube/bin /usr/local/share/roundcube/index.php \
      /usr/local/share/roundcube/program /usr/local/share/roundcube/skins \
      /usr/local/share/roundcube/.htaccess .

Création de la base de données

mysql -u root -p
> create database roundcubemail;
> GRANT ALL PRIVILEGES ON roundcubemail.* TO roundcube@localhost IDENTIFIED BY 'password';
> quit

Chargement de la base

mysql -u root -p roundcubemail < /usr/local/share/roundcube/SQL/mysql5.initial.sql

Préparer le répertoire de configuration, dans debian, la totalité des fichiers de configuration doivent se trouver dans /etc/

mkdir /etc/roundcube
ln -s /etc/roundcube /var/lib/roundcube/config
cp /usr/local/share/roundcube/config/db.inc.php.dist /etc/roundcube/db.inc.php
cp /usr/local/share/roundcube/config/main.inc.php.dist /etc/roundcube/main.inc.php
chown www-data:www-data /etc/roundcube/db.inc.php /etc/roundcube/main.inc.php
chmod 640 /etc/roundcube/db.inc.php /etc/roundcube/main.inc.php

Configurer RoundCube, voir le site de roundcube pour plus d’informations

vi /etc/roundcube/db.inc.php
vi /etc/roundcube/main.inc.php

Configurer les logs

mkdir /var/log/roundcube
chown www-data:www-data /var/log/roundcube
ln -s /var/log/roundcube /var/lib/roundcube/logs

Configurer Apache2, voir l’exemple de fichier de configuration en fin d’article

vi /etc/apache2/sites-available/roundcube
a2ensite roundcube
invoke-rc.d apache2 reload

Configurer logrotate pour une rotation intelligente des logs :

vi /etc/logrotate.d/roundcube

Exemple de fichier /etc/logrotate.d/roundcube

/var/log/roundcube/errors  /var/log/roundcube/sendmail {
        daily
        missingok
        rotate 10
        compress
        delaycompress
        notifempty
        create 640 www-data www-data
}

Exemple de fichier /etc/apache2/sites-available/roundcube

<VirtualHost *:80>
  DocumentRoot /var/lib/roundcube
  ServerName webmail.tcweb.org
  ServerAlias webmail.tcweb.fr
  ServerAlias webmail.tcweb.eu

# redirect to https when available (thanks omen@descolada.dartmouth.edu)
#
#  Note: There are multiple ways to do this, and which one is suitable for
#  your site's configuration depends. Consult the apache documentation if
#  you're unsure, as this example might not work everywhere.
#
<IfModule mod_rewrite.c>
  <IfModule mod_ssl.c>
    <Location />
      RewriteEngine on
      RewriteCond %{HTTPS} !^on$ [NC]
      RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI}  [L]
    </Location>
  </IfModule>
</IfModule>

</VirtualHost>

# Le vhost en https
<VirtualHost *:443>
  DocumentRoot /var/lib/roundcube
  ServerName webmail.tcweb.org
  ServerAlias webmail.tcweb.fr
  ServerAlias webmail.tcweb.eu

  SSLEngine on
  SSLCertificateFile /etc/apache2/ssl/tcweb.org.pem
</VirtualHost>
comments powered by Disqus