Table des matières
RoundCube: Migration sous Debian Jessie
rouncube 1.1.2
“Roundcube
” 1.1.2 est disponible sur les backports de Jessie.
La migration de “wheezy-backport
” vers “jessie-backport
” n'est pas sans problème.
Voici quelques notes pour mémoire.
~~READMORE~~
wheezy -> jessie
Il semblerait que la version de roundcube
qui vient avec “wheezy” backport soit un peu buggé, au point qu'il est difficile de la mettre à jour vers jessie
.
Après maintes tests (merci la virtualisation), voila comment faire pour qu'une mise à jour fonctionne sans incident.
On n'est jamais censé faire ça, mais je n'ai pas trouver plus simple. |
Etape 1
Faire la mise à jour de votre système vers “Jessie
” SANS modifier les backports: laissez sur “wheezy
”.
Sinon, entre autres problèmes, il y a “dbconfig
” qui essaye, sans succès, de mettre à jour la base de données de “roundcube
”.
Etape 2 : des modifications
Donc, le système est sous “Jessie
” , mais “roundcube
” est encore en version “backports wheezy
”.
D'abord, faire une backup du fichier “/etc/roundcube/main.inc.php
” :
# cp -p /etc/roundcube/main.inc.php /var/backups/
(parce que la migration va virer ce fichier!)
Modifier des trucs dans ce fichier “/var/lib/dpkg/info/roundcube-core.postrm
” , en commentant comme ceci:
# --- TJ ------------ #apache2_invoke disconf roundcube.conf # -------------------
Déplacer ce répertoire ailleurs:
# mv /usr/share/doc/roundcube/main.inc.php.dist /var/backups/
Renommer ce lien vers la config.
# mv /var/lib/roundcube/{,old-}config
Voila: on est prêt a migrer “roundcube
” sans incident…
Mise à jour
Modifier le fichier “/etc/apt/sources.list
” pour avoir les backports “jessie
”:
# Backports # Pour "roundcube" deb http://ftp.fr.debian.org/debian/ jessie-backports main contrib non-free deb-src http://ftp.fr.debian.org/debian/ jessie-backports main contrib non-free
Et puis:
# aptitude update # aptitude dist-upgrade Les NOUVEAUX paquets suivants vont être installés : php-mail-mimedecode{a} php-net-ldap2{a} php-net-ldap3{a} php-net-sieve{a} php5-ldap{a} Les paquets suivants seront ENLEVÉS : libjs-jquery-ui{u} tinymce{u} Les paquets suivants seront mis à jour : roundcube roundcube-core roundcube-mysql roundcube-plugins 4 paquets mis à jour, 5 nouvellement installés, 2 à enlever et 0 non mis à jour. Il est nécessaire de télécharger 2 706 ko/2 724 ko d'archives. Après dépaquetage, 2 301 ko seront utilisés. Voulez-vous continuer ? [Y/n/?] Y ...
A l'invite pour écraser des fichiers, dites toujours “Y
” (pour “Oui”)
Fichiers modifiés:
- /etc/roundcube/plugins/managesieve/config.inc.php
- /etc/roundcube/plugins/password/config.inc.php
configuration
La conf dans “main.inc.php
” a disparu au profit de “config.inc.php
” et de “default.inc.php
”.
Vous pouvez recopier (en l'adaptant légèrement) votre configuration de “main.inc.php
” vers “config.inc.php
”.
Tips
Quelques petites surprises qui viennent avec la nouvelle versions de “roundcube
”…
self-signed
Comme d'habitude, OpenSSL est peu verbeux sur les erreurs … mais il y a un grand classique dans les erreurs: les certificats auto-signés.
Pour pouvoir les utiliser en “imap
” et en “smtp
”, ajouter:
$config['default_host'] = 'ssl://imap.gmail.com'; // <- FAKE pour l'exemple $config['default_port'] = 993; $config['imap_conn_options'] = array( 'ssl' => array( allow_self_signed => true, ), ); $config['smtp_server'] = 'tls://smtp.gmail.com'; // <- FAKE pour l'exemple $config['smtp_port'] = 587; // port submission $config['smtp_conn_options'] = array( 'ssl' => array( allow_self_signed => true, ), );
Errors dans les logs
jqueryui
Dans “/var/log/roundcube/errors
” :
... PHP Error: Failed to load config from /var/lib/roundcube/plugins/jqueryui/config.inc.php
La conf la dedans “/etc/roundcube/plugins/jqueryui/config.inc.php
” est vide …
Donc, j'ai fait ça:
# cp /usr/share/roundcube/plugins/jqueryui/config.inc.php.dist /etc/roundcube/plugins/jqueryui/config.inc.php
PEAR
... PHP Deprecated: Non-static method PEAR::isError() should not be called statically, assuming $this from incompatible context in /usr/share/php/Net/SMTP.php on line 1132
Dans le fichier “/usr/share/roundcube/program/lib/Roundcube/bootstrap.php
” ajouter “& ~E_DEPRECATED
” , pour avoir (extrait):
... $config = array( // --- TJ ------------------------- //'error_reporting' => E_ALL & ~E_NOTICE & ~E_STRICT, 'error_reporting' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED, // -------------------------------- // Some users are not using Installer, so we'll check some // critical PHP settings here. Only these, which doesn't provide // an error/warning in the logs later. See (#1486307). 'mbstring.func_overload' => 0, 'magic_quotes_runtime' => false, 'magic_quotes_sybase' => false, // #1488506 ); ...
Les logs sont beaucoup moins bavard (sans régler le problème de fond).
Sources: