OwnCloudJ’utilise OwnCloud dans la branche production au quotidien, et je maintiens également quelques installations pour des clients. C’est stable et fiable au quotidien, sans mauvaises surprises, mais la mise à jour n’est pas une opération triviale et nécessite parfois de mettre les mains dans le cambouis. Voici donc mes notes succinctes pour la mise à jour de la version 10.3 à la version 10.4.

Télécharger la nouvelle version.

$ cd ~/webapps/owncloud
$ wget -c https://download.owncloud.org/community/owncloud-10.4.1.tar.bz2

Dans l’exemple, je me sers d’une installation importante qui comporte quelques centaines de milliers de fichiers. Les sauvegardes sont effectuées automatiquement avec Rsnapshot sur un serveur externe, je peux donc toujours revenir en arrière en cas de pépin.

Désactiver les tâches automatiques.

$ sudo crontab -u apache -e
# */15 * * * * /usr/bin/php /var/www/bsco-owncloud/html/occ system:cron

Activer le mode maintenance.

$ cd /var/www/bsco-owncloud/html/
$ sudo -u apache php occ maintenance:mode --on
Maintenance mode enabled
Please also consider to stop the web server on all ownCloud instances

Afficher la liste des applications installées.

$ sudo -u apache php occ app:list
ownCloud is in maintenance mode - no app have been loaded

Enabled:
  - activity: 2.5.1
  - comments: 0.3.0
  - configreport: 0.2.0
  - dav: 0.5.0
  - encryption: 1.4.0
  - federatedfilesharing: 0.5.0
  - federation: 0.1.0
  - files: 1.5.2
  - files_external: 0.7.1
  - files_mediaviewer: 1.0.1
  - files_pdfviewer: 0.11.1
  - files_sharing: 0.12.0
  - files_texteditor: 2.3.0
  - files_trashbin: 0.9.1
  - files_versions: 1.3.0
  - firstrunwizard: 1.2.0
  - gallery: 16.1.1
  - market: 0.5.0
  - notifications: 0.5.0
  - onlyoffice: 4.0.1
  - provisioning_api: 0.5.0
  - systemtags: 0.3.0
  - updatenotification: 0.2.1
Disabled:
  - external
  - user_external

Les applications tierces – c’est-à-dire toutes celles qui ne sont pas supportées officiellement – doivent impérativement être désactivées avant la mise à jour. Malheureusement, elles ne sont pas identifiables en tant que telles dans la console. Voici la liste des applications installées et activées par défaut dans OwnCloud.

  • comments
  • configreport
  • dav
  • federatedfilesharing
  • federation
  • files
  • files_external
  • files_mediaviewer
  • files_sharing
  • files_trashbin
  • files_versions
  • firstrunwizard
  • market
  • notifications
  • provisioning_api
  • systemtags
  • updatenotification

On utilisera cette liste pour identifier et désactiver une par une les applications tierces.

$ sudo -u apache php occ app:disable activity
activity disabled
$ sudo -u apache php occ app:disable encryption
encryption disabled
$ sudo -u apache php occ app:disable files_pdfviewer
files_pdfviewer disabled
$ sudo -u apache php occ app:disable files_texteditor
files_texteditor disabled
$ sudo -u apache php occ app:disable gallery
gallery disabled
$ sudo -u apache php occ app:disable onlyoffice
onlyoffice disabled

L’application Market peut poser problème pendant la mise à jour.

$ sudo -u apache php occ app:disable market
market disabled

Renommer l’installation existante et installer la mise à jour.

$ cd /var/www/bsco-owncloud/
$ sudo mv -v html/ html.bak
« html/ » -> « html.bak »
$ tar -xjf ~/webapps/owncloud/owncloud-10.4.1.tar.bz2
$ mv -v owncloud/ html
« owncloud/ » -> « html »

Copier la configuration existante vers la nouvelle installation.

$ sudo cp -av html.bak/config/config.php html/config/
« html.bak/config/config.php » -> « html/config/config.php »

Déménager les données vers la nouvelle installation.

$ sudo mv -v html.bak/data/ html/
« html.bak/data/ » -> « html/data »

Définir des permissions provisoires « à la louche » pour la mise à jour.

$ sudo chown -R apache:apache html/

Démarrer la mise à jour interne.

$ sudo -u apache php html/occ upgrade

Voilà ce que l’on obtient dans la console.

Mise à jour OwnCloud 10.4.1

ImportantIl se peut que l’on obtienne un avertissement html/apps-external not found. Dans ce cas, il suffit de créer le répertoire manuellement et de relancer la commande de mise à jour comme ceci.

$ sudo mkdir html/apps-external
$ sudo chown apache:apache html/apps-external
$ sudo -u apache php html/occ upgrade

Rétablir les permissions normales pour OwnCloud. N’oubliez pas que nous avons déjà effectué la mise à jour.

$ sudo ./owncloud.sh
Do you want to upgrade an existing installation (y/N)? n
Do you want to use ln instead of mkdir for creating directories (y/N)? n
Do you also want to chmod/chown these links (y/N)? n

Creating or linking possible missing directories
mkdir /var/www/bsco-owncloud/html/data

mkdir /var/www/bsco-owncloud/html/apps-external

chmod files and directories excluding data and apps-external directory
chmod data and apps-external directory (mkdir)

chown files and directories excluding data and apps-external directory
chown apps directory
chown config directory
chown updater directory
chown data and apps-external directories (mkdir)

chmod occ command to make it executable
chmod/chown .htaccess

Info Le script shell fourni avec la version 10.4 est identique à celui de la version 10.3. Nous pouvons donc réutiliser sereinement celui que nous avons utilisé pour l’installation ou la précédente mise à jour.

À présent, nous pouvons quitter le mode maintenance.

$ cd /var/www/bsco-owncloud/html/
$ sudo -u apache php occ maintenance:mode --off
ownCloud is in maintenance mode - no apps have been loaded
Maintenance mode disabled

Supprimer l’ancienne installation.

$ cd /var/www/bsco-owncloud/
$ sudo rm -rf html.bak/

Rétablir les tâches automatiques.

$ sudo crontab -u apache -e
*/15 * * * * /usr/bin/php /var/www/bsco-owncloud/html/occ system:cron
  1. Ouvrir l’interface web, aller dans Paramètres > Administration > Généraux et vérifier si l’installation a réussi tous les tests d’intégrité.
  2. Ouvrir Administration > Applications et cliquer sur Montrer les applications désactivées.
  3. Dans un premier temps, il faut réactiver l’application Market.
  4. Enfin, ouvrir l’application Market et restaurer toutes les applications tierces.

ImportantCurieusement, je n’ai pas réussi à retrouver l’application Encryption dans la liste des applications Market. En revanche, j’ai pu l’activer à la main.

$ cd /var/www/bsco-owncloud/html/
$ sudo -u apache php occ app:enable encryption
encryption enabled

La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.

 

Catégories : Serveur

3 commentaires

S · 5 mai 2020 à 7 h 55 min

Merci pour cette article.

Attention, cette mise à jour est à éviter sur debian stretch. La 10.4 de owncloud impose l’utilisation de php 7.3. Hors, seul php 7.0 est disponible sur debian stretch. Il faut donc faire un upgrade de debian stretch vers debian buster (nouvelle stable) pour pouvoir installer php7.3 et permettre de sereinnement mettre à jour owncloud.

    kikinovak · 5 mai 2020 à 9 h 02 min

    Sous RHEL/CentOS, il suffit d’utiliser les dépôts SCLo pour installer n’importe quelle version activement maintenue de PHP 7.x.

    Albirew · 5 mai 2020 à 11 h 55 min

    il y a aussi le dépôt packages.sury.org/php/ qui sert php7.3 pour les versions antérieures de debian

Répondre à kikinovak Annuler la réponse

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *