Dans ce tutoriel, nous allons voir comment migrer Nextcloud version 15 vers la version 16 sur Ubuntu 16.04. La particularité de la version 16 de Nextcloud, c’est d’utiliser PHP à partir de la version 7.1.
Nextcloud est passé en V16 pendant l’été. Il n’est pas utile toute suite de migrer vos serveurs de productions. Il est préférable d’attendre quelques releases avant. Aujourd’hui au 14/09/2019 nous sommes à la version 16.0.4.
Si vous êtes sur Ubuntu 16 avec une version de PHP <7.1, alors NextCloud vous indique l’existence d’une mise à jour mais sans pouvoir la réaliser.
Mettre à jour PHP 7.0 vers 7.1 sous Ubuntu 16.04
Si vous ne souhaitez pas passer votre version 18 LTS de Ubuntu, vous devrez utiliser des dépôts non-officiel pour mettre à jour PHP. Voici la procédure à vos risques et périls.
La première chose à faire c’est de connaitre votre version de PHP avec la commande suivante :
php -v
Ensuite, vu que les paquets PHP V7.1 n’existe pas officiellement dans les dépôts Ubuntu, nous allons devoir utiliser d’autres dépôts, ceux du célèbre Ondřej Surý.
Pour installer un nouveau dépôt, il faut utiliser les commandes suivantes :
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
A partir de maintenant vous pouvez installer PHP V7.1 ainsi que ses dépendances pour notre instance Nextcloud..
Après avoir installé les modules supplémentaires, nous allons activer 2 modules pour que PHP 7.1 soit actif dans la configuration d’Apache.
a2enmod proxy_fcgi setenvif
a2enconf php7.1-fpm
Enfin on redémarre le serveur Apache
systemctl reload apache2
Vérifications de la version de PHP utilisée.
Maintenant pour nous assurer que nous utilisons bien la bonne version de PHP, nous allons utiliser plusieurs commandes :
php --ini |grep Loaded
La sortie de cette commande doit être ceci :
php -v
Migrer Nextcloud vers la version 16.
Une fois la mise à jour de PHP effectuée, retourner sur votre instance Nextcloud puis aller dans Paramètres -> Administration -> Vue d’ensemble -> Version.
Le bouton pour effectuer la mise à jour Ouvrir le système de mise à jour, est maintenant disponible. Vous pouvez, enfin, mettre à jour votre Nextcloud sur une Ubuntu 16.04.
Attention !!! Afin d’optimiser votre instance de Nextcloud, il sera nécessaire d’exécuter la commande suivante : occ db:add-missing-indice, afin de rajouter des index dans plusieurs tables. L’ajout d’index dans de grande table peut être long mais une fois rajouté, les requêtes sur ces tables seront beaucoup plus rapides.
php occ db:add-missing-indices
Astuce !!! A la fin de chaque mise à jour, je vous conseille de regarder dans Paramètres -> Administration -> Vue d’ensemble ->Avertissement de sécurité & configuration. Dans cette rubrique vous verrez tous les avertissements de configuration qu’il faut corriger pour avoir une configuration optimale de Nextcloud.
Par exemple ici, nous voyons que nous avons une alerte sur la limite de mémoire de PHP. Nous devons corriger le problème rapidement afin que notre Nextcloud ne soit pas trop lent.
Cette erreur arrive fréquemment lorsqu’on change de version de PHP, car on utilise un php.ini différent.
Pour modifier cette valeur il faut éditer les fichiers php.ini qui se trouvent dans /etc/php/7.1/ vous devez modifier les fichiers dans /cli et /apache2
Modifier ces 2 valeurs :
memory_limit à 1G
upload_max_filesize à 1G
Ensuite penser à redémarrer le serveur apache avec la commande ci-dessous :