En route vers ownCloud 6
L’annonce est tombée cette semaine le version communautaire de ownCloud passe à la version 6.0.
Je voulais attendre la première mise à jour mineur avant de migrer mon serveur, mais l’envie de découvrir la bête fut plus forte.
Sans plus attendre création d’un clone du VPS de production pour voir si cette migration se fera sans encombres.
Pour ceux qui ne travaillent pas sur machines virtuelles une simple copie du dossier owncloud suffit, sans oublier un dump sql si vous travaillez avec Mysql.
$sudo cp -r /var/www/owncloud /var/www/backup_12122013 #et pour le dump sql depuis votre serveur $sudo mysqldump -u utilisateur -p base_owncloud > owncloud_12122013.sql
Le owncloud que j’utilise a été installé depuis les dépôts d’ opensuse et c’est très simplement que j’ai procédé à coup d’apt :
$sudo apt-get update $sudo apt-get upgrade
Au premier abords ce qui m’a frappé c’est le nombre gigantesque de dépendances installées avec cette nouvelle version, c’est probablement dut à la nouvelle fonctionnalité sur l’édition de texte en temps réel par plusieurs utilisateurs.
Le temps de savourer une bonne brune avec une cigarette l’installation était prête.
C’est là que les choses se sont compliquées, lors de ma première connexion le mode maintenance c’est activé, comme à chaque mise à jour, mais là après une dizaine de minutes toujours cette maudite page de maintenance.
Cela m’était déjà arrivé auparavant, une console ssh pour me permettre d’éditer le fichier config.php
$sudo nano /var/www/owncloud/config/config.php
#modification de la variable maintenance <?php $CONFIG = array ( 'instanceid' => '************', 'passwordsalt' => '*****************', 'datadirectory' => '/mon dossier/data', 'dbtype' => 'mysql', 'version' => '6.0.0.13', 'dbname' => '*******', 'dbhost' => '********', 'dbtableprefix' => '***', 'dbuser' => '****', 'dbpassword' => '*****', 'installed' => true, 'forcessl' => true, 'theme' => '', 'maintenance' => false, # changer true en false );
En effet il peut arriver que le mode maintenance ne change pas d’état après une mise à jour et il faut le faire à la main. Un fois ceci fait je retente une connexion et là encore il me résiste.
Cette fois-ci j’ai un message d’erreur inconnu “Failed to upgrade “search_lucene”. Allons bon c’est qui cette lucene. search_lucene est une application de owncloud pour effectuer des recherches plein texte. Et il semblerait qu’elle ne veuille pas se mettre à jour. Après une recherche sur le Github du projet je suis tombé sur se ticket qui m’a permis de résoudre le problème. Comme expliqué par Butonic il s’agit d’une erreur sur le statuts de l’application à mettre à jour.
J’ai donc suivi les instructions, j’ai créé un fichier php dans /var/www/owncloud/apps/search_lucene/appinfo/preupdate.php pour y insérer le code suivant :
<?php $currentVersion=OC_Appconfig::getValue('search_lucene', 'installed_version'); if (version_compare($currentVersion, '0.5.2', '<')) { //delete duplicate id entries $stmt = OCP\\DB::prepare(' DELETE FROM `*PREFIX*lucene_status` WHERE `fileid` IN ( SELECT `fileid` FROM ( SELECT `fileid` FROM `*PREFIX*lucene_status` GROUP BY `fileid` HAVING count(`status`) > 1 ) AS `mysqlerr1093hack` ) '); $stmt->execute(); }
Et hop problème résolut, j’arrive enfin sur la page de login, qui soit dit en passant est très agréable malgré tout ce bleu.
Je craignais de rencontrer d’autres déboires, mais non une fois connecté j’ai retrouvé tous mes petits et profiter du nouveau thème for sympathique.
Après cet essais concluant j’ai lancé la migration grandeur nature avec sans surprise les même erreurs, résoluent très facilement.
Pas besoin de reconfigurer mes clients desktop ils ont récupéré automatiquement la connexion et reprit leur synchro habituelle.
Je n’ai pas encore utilisé la fonction d’édition des documents en ligne, mais les quelques essais réalisés sont prometteur.
J’apprécie d’avoir le bouton applications en bas à gauche, très pratique pour activer désactiver des applications.
En conclusion ses quelques heures sous ownCloud 6 m’ont vite fait oublier mes galères du début et je ne regrette pas de ne pas avoir attendu.