Mise à jour d’ownCloud avec l’application Updater

L’application Updater automatise beaucoup des étapes de la migration d’une installation ownCloud. Elle est utile pour les installations qui ne disposent pas d’accès root, tels que les hébergements partagés, et pour les installations avec peu d’utilisateurs et de données, et automatise les installations manuelles.

Avertissement

Lors de la mise à jour de la version 9.0 vers la version 9.1 avec des agendas et des carnets d’adresses existants, veuillez consulter les Notes de version ownCloud 9.0 de la version 9.0 pour des informations importantes sur les étapes de migration nécessaires pendant cette mise à jour.

Nouveau dans la version 9.0, l’application Updater dispose d’options de lignes de commande.

Note

L’application Updater n’est ni activée ni supportée dans ownCloud Édition Entreprise.

L’application Updater n’est pas incluse dans les paquets Linux sur notre Open Build Service, mais seulement dans les archives tar et zip. Quand vous installez ownCloud à partir des paquets, vous devez les maintenir à jour avec votre gestionnaire de paquets.

Le retour arrière n’est pas supporté et risque de corrompre vos données ! Si vous voulez revenir à une ancienne version d’ownCloud, installez-la à partir de zéro et restaurez vos données à partir d’une sauvegarde. Avant de faire cela, ouvrez un ticket au support (si vous avez souscrit au support payant) ou demandez de l’aide dans les forums d’ownCloud pour voir si votre problème peut être résolu sans revenir dans la version précédente.

Vous devez mettre en place des sauvegardes régulières (voir Sauvegarder ownCloud), et faire une sauvegarde avant chaque mise à jour. L’application Updater ne fait pas de sauvegarde de votre base de données ou de votre répertoire de données.

L’application Updater réalise les opérations suivantes :

  • création d’un répertoire updater_backup dans votre répertoire de données ownCloud ;
  • téléchargement et extraction des paquets de mise à jour dans le répertoire updater_backup/packageVersion ;
  • copie de votre instance ownCloud, à l’execption de votre répertoire de données, dans updater_backup/currentVersion-randomstring ;
  • déplacement de tous les répertoires, à l’exception de data, config et themes, de votre instance vers updater_backup/tmp ;
  • déplacement de tous les répertoires de updater_backup/packageVersion vers la nouvelle version ;
  • copie de votre précédent fichier config.php vers le nouveau répertoire config/.

L’utilisation de l’application Updater pour mettre à jour votre installation se fait en quelques étapes :

  1. vous devez observer une notification en haut de votre page ownCloud quand une mise à jour est disponible ;
  2. quand bien même l’application Updater sauvegarde des répertoires importants, vous devez toujours avoir vos propres sauvegardes (voir Sauvegarder ownCloud pour des détails) ;
  3. vérifiez que l’utilisateur HTTP de votre système puisse écrire dans tout le répertoire ownCloud (voir la section Permissions pour la mise à jour ci dessous) ;
  4. rendez-vous sur la page d’administration et cliquez sur le bouton Centre de mise à jour sous Updater ; ceci vous redirige vers le panneau de contrôle de Updater ;
  5. cliquez sur « Mise à jour » et lisez avec attention les messages. Si un problème est rencontré, ce sera indiqué. Le problème le plus courant concerne les permissions sur les répertoires. Votre utilisateur HTTP doit avoir les permissions d’écriture sur tout le répertoire ownCloud (voir Renforcement des permissions de répertoires). Un autre problème courant concerne les règles SELinux (voir Configuration SELinux). Sinon, vous verrez des messages sur la vérification de votre installation et sur la nécessité de faire une sauvegarde ;
  6. cliquez sur « Continuer » ; l’application réalisera alors les étapes restantes, ce qui prend quelques minutes ;
  7. si les permissions de répertoires sont correctes, une sauvegarde a été faite et si le téléchargement de la nouvelle archive ownCloud a réussi, vous verrez l’écran suivant. Cliquez sur le bouton « Commencer la mise à jour » pour terminer la mise à jour :
Écran de l'assistant de mise à jour d'ownCloud.

Note

Si vous avez une installation d’ownCloud conséquente et que vous avez un accès au shell, vous devez utiliser la commande occ upgrade, en l’exécutant en tant que votre utilisateur HTTP, au lieu de cliquer sur le bouton de mise à jour, afin d’éviter les dépassements de temps de PHP.

Cet exemple s’applique à Ubuntu Linux

$ sudo -u www-data php occ upgrade

Facultatif : désactiver migration_test_label qui pourrait prendre beaucoup de temps sur de grosses installations.

Consulter Utilisation de la commande occ pour en apprendre plus.

  1. elle s’exécute pendant quelques minutes, puis affiche un message de réussite qui disparaît après quelques secondes.

Actualisez votre page d’administration pour vérifier le numéro de version. Dans la section Updater de votre page d’administration, vous pouvez voir l’état en cours et les sauvegardes. Ce sont les sauvegardes de votre ancienne et de votre nouvelle installation (elles ne contiennent pas vos fichiers de données). Si votre mise à jour a fonctionné et que vous ne rencontrez aucun problème, vous pouvez supprimer les sauvegardes à partir de cet écran.

Si la mise à jour a échoué, vous devez mettre à jour manuellement (voir Mise à jour manuelle).

Permissions pour la mise à jour

Pour une sécurité renforcée, nous recommandons vivement de définir des permissions aussi strictes que possible sur votre répertoire ownCloud. Ces commandes doivent être exécutées immédiatement après l’installation initiale. Veuillez suivre les instructions dans Renforcement des permissions de répertoires.

Ces permissions strictes empêchent l’application Updater de fonctionner, car elle a besoin que tout le répertoire ownCloud appartienne à l’utilisateur HTTP. Exécutez ce script pour définir les permissions appropriées pour la mise à jour. Définissez la variable ocpath avec le chemin d’accès de votre répertoire ownCloud et les variables htuser et htgroup avec l’utilisateur et le groupe HTTP

#!/bin/bash
# Sets permissions of the owncloud instance for updating

ocpath='/var/www/owncloud'
htuser='www-data'
htgroup='www-data'

chown -R ${htuser}:${htgroup} ${ocpath}

Vous pouvez trouver l’utilisateur et le groupe HTTP dans les fichiers de configuration du serveur. Ou vous pouvez utiliser Informations et version de PHP (recherchez la ligne Utilisateur/Groupe).

  • L’utilisateur et le groupe HTTP pour Debian/Ubuntu est : www-data.
  • L’utilisateur et le groupe HTTP pour Fedora/CentOS est : apache.
  • L’utilisateur et le groupe HTTP pour Arch Linux est : http.
  • L’utilisateur HTTP pour openSUSE est : wwwrun et le groupe : www.

Quand la mise à jour est terminée, réappliquez immédiatement les permissions strites sur les répertoires en exécutant le script indiqué dans Renforcement des permissions de répertoires.

Options de ligne de commande

L’application Updater dispose d’options de ligne de commande pour automatiser les mises à jour, créer des points de contrôle et pour revenir sur de précédents points de contrôle. Vous devez l’exécuter en tant qu’utilisateur HTTP. Cet exemple s’applique à Ubuntu Linux et affiche les options de commande

sudo -u www-data php updater/application.php list

Consulter l’utilisation pour les commandes, comme dans cet exemple pour la commande upgrade:checkpoint

sudo -u www-data php updater/application.php upgrade:checkpoint -h

Vous pouvez afficher un résumé de l’aide

sudo -u www-data php updater/application.php --help

Quand vous l’exécutez sans option, elle lance une vérification du système

sudo -u www-data php owncloud/updater/application.php
ownCloud updater 1.0 - CLI based ownCloud server upgrades
Checking system health.
- file permissions are ok.
Current version is 9.0.0.12
No updates found online.
Done

Création d’un point de contrôle

sudo -u www-data php updater/application.php upgrade:checkpoint  --create
Created checkpoint 9.0.0.12-56d5e4e004964

Affichage des points de contrôle

sudo -u www-data php updater/application.php upgrade:checkpoint --list

Restauration d’un point de contrôle précédent

sudo -u www-data php owncloud/updater/application.php upgrade:checkpoint
 --restore=9.0.0.12-56d5e4e004964

Ajoutez une ligne comme celle-ci dans votre crontab pour créer automatiquement chaque jour des points de contrôle

2 15 * * * sudo -u www-data php /path/to/owncloud/updater/application.php
upgrade:checkpoint --create > /dev/null 2>&1
Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.