D'ownCloud à Nextcloud
Trace écrite de mon passage d'ownCloud 7.0.4 installé depuis les répertoires officiels Debian à Nextcloud 9.0.50 installé manuellement.
Notes en vrac au fil de l'eau
- pour le passage du 7.x à 8.0.x : suivre procédure manuelle décrite.
- pour 8.0.X à 8.1.x :
- passer par l'updater interne à OC;
- ajouter le 'ca-bundle.crt' depuis le .zip téléchargé (data/updater_backups) de la version 8.1.x dans le dossier de config pour répondre à l'exeption levée;
- testé non approuvé: mise à jour manuelle.
-
8.1.x à 8.2.x : réalisé en 'automatique' (i.e. depuis l'interface web d'OC, de façon analogue à la MAJ précédente).
- problème : "Possible CSRF attack. Connection will be closed." lors du lancement de la MAJ proprement dite. Résolu en faisant la MAJ depuis la racine de l'installation. Nota: pour cela il faut modifier le fichier 'occ' pour le rendre exécutable, soit donc 'chmod u+x occ' puis './occ upgrade' sous l'identité www-data;
-
8.2.x à NC : ne fonctionne pas => on remet les fichiers du 8.2.5 => l'authentification ne fonctionne plus => téléchargement de la 8.2.5 pour MAJ manuelle => réponse: "Skipping major upgrades or downgrades not authorized" ou un truc du genre => on retente sa chance avec la version 9, en soupçonnant qu'il croit que je downgrade => game over, impossible de restaurer la 8.1.x, 8.2.x ou 9.0.x => fichiers du 8.2.5 cassant l'auth + tentative d'upgrade vers 9 => echec => restauration de l'état initial, dans l'idée de tout recommencer, puis de passer à la version 9 avant de migrer à NC, tout en vérifiant à la version 8.2.5 que l'authentification est ok
-
En refaisant tout depuis le début, après restauration de l'état initial: c'est le passage en 8.2.5 qui casse l'authentification => on recommence en choississant la version la plus petite possible pour la 8.2.x => Exception: Updates between multiple major versions and downgrades are unsupported. => on a l'air d'être obligé de passer par l'updater interne?? => on refait tout depuis le début, arrivé à la fin de la MAJ vers 8.1.x backup et tests de plusieurs solutions (autres versions, réslution des problèmes de sécurité, vérification des logs,...)
- utilisation du HSTS (? i.e. Strict Transport Security), voir ici pour l'implémentation lighttpd => ok, ça marche du premier coup, disparition du warning => la MAJ depuis l'interface web fonctionne maintenant sans soucis, plus de warning sur la "Possible CSRF attack." => la redirection vers le compte admin ne fonctionne pas cette fois ci, et la première connexion avec un compte usuel prend plus de temps (mais la seconde connexion, la première avec un autre compte, prend un temps habituel), ce qui suggère que la méthode d'authentificatino a été changée à un niveau et requiert le HSTS (conforté par l'item 'Hardening Security' dans le changelog de la version 8.2.0) => MAJ vers Nextcloud conformément aux instructions habituelles
- "Exception: Updates between multiple major versions and downgrades are unsupported." => MAJ vers la 9 d'OC avant la MAJ vers NC : MAJ faite par l'interface web, en choississant le canal "beta" plutôt que stable => ce n'est pas le problème, ce message d'erreur survient car j'ai copié/collé mon fichier config.php issu de mon installation en 7.0.4, qui contient ce numéro de version : il faut copier le config.php de la dernière version (8.2.5) pour le remettre dans le nouveau jeu de fichiers, cela résout le problème.
- utilisation du HSTS (? i.e. Strict Transport Security), voir ici pour l'implémentation lighttpd => ok, ça marche du premier coup, disparition du warning => la MAJ depuis l'interface web fonctionne maintenant sans soucis, plus de warning sur la "Possible CSRF attack." => la redirection vers le compte admin ne fonctionne pas cette fois ci, et la première connexion avec un compte usuel prend plus de temps (mais la seconde connexion, la première avec un autre compte, prend un temps habituel), ce qui suggère que la méthode d'authentificatino a été changée à un niveau et requiert le HSTS (conforté par l'item 'Hardening Security' dans le changelog de la version 8.2.0) => MAJ vers Nextcloud conformément aux instructions habituelles
Remarque: j'ai désinstallé le paquet 'owncloud' : sans incidence sur le caractère fonctionnel de l'instance
- à l'installation de Nextcloud, il se plaint de la présence de certaines tables ('oc_addressbooks' notamment); celles-ci sont certainement issues des essais précédents, dans la mesure où je vidait les tables plutôt que de les supprimer quand je restaurais une version 8.1.8. => Suppression de toutes les tables, import du backup SQL pour la 8.1.8, restauration des fichiers de la 8.1.8, upgrade vers 8.2.5, upgrade vers Nextcloud => VICTOIRE! (seulement un message, signifiant la séactivation des plugins pour lecture des vidéos dans le navigateur, et le module de MAJ interne)
Synthèse: si je devais recommencer
- backup du dossier entier d'owncloud et de la base de données SQL
- MAJ manuelle de 7.0.4 à 8.0.13 (RAS)
- désinstallation du paquet owncloud (étape non testée à ce stade mais présumée non dangereuse)
- MAJ de 8.0.13 à 8.1.8 via l'interface web, en mettant à la main le ca-bundle.crt manquant dans le fichier de config
- accès de l'instance par HSTS (Strict Transport Security) : modification de la configuration du serveur web
- MAJ de 8.1.8 vers 8.2.5 depuis l'interface web
- MAJ de OC 8.2.5 vers NC 9.0.50 manuellement, en faisant bien attention de prendre le fichier de config issu de l'installation en 8.2.5 et non celui de l'instance initiale
Bonus
Activer les applications 'Contacts' et 'Calendrier' depuis l'interface admin.
Mettre à jour le client sur ordinateur, la version 1.7.0 fonctionnait bien avec un serveur en 7.0.4, mais plus avec un serveur en 9.0.50. L'installation de la version 2.1.1 depuis les backports de jessie ou encore depuis stretch (distribution 'testing' à ce jour) permet de retrouver un client fonctionnel:
apt-get install --reinstall -t=testing owncloud-client=2.1.1+dfsg-1~bpo8+1 libowncloudsync0=2.1.1+dfsg-1~bpo8+1