J’évite autant que faire ce peut les GUI pour la réalisation de mes tâches d’administration. Je préfère la simplicité et la lisibilité d’une bonne veille ligne de commande. Depuis la version 10, les développeurs de Nextcloud ont mis en place l’application Updater qui permet de mettre à jour automatiquement Nextcloud lorsqu’une version mineure est publiée, mais nous laisse la main pour migrer sur une version majeur le tout réalisable depuis l’interface web d’administration. En ce jour de mise à jour majeure j’ai eu envie de passer par le terminal.
Vérifier les droits
Il est important que les droits sur le répertoire d’installation de Nextcloud soient configurés correctement. Par sécurité seul l’utilisateur web doit pouvoir modifier ces fichiers. C’est pour cela qu’il est recommandé d’exécuter la commande de mise à jour via cet utilisateur. A noter qu’il est possible d’effectuer la mise à jour en root mais il faudra par la suite réaffecter les droits correctement. Pour vérifier les droits sous Debian :
ls -la /var/www/nextcloud total 160 drwxr-xr-x 14 www-data www-data 4096 oct. 11 10:31 . drwxr-xr-x 16 www-data www-data 4096 oct. 9 11:24 .. drwxr-xr-x 32 www-data www-data 4096 oct. 11 10:31 3rdparty drwxr-xr-x 48 www-data www-data 4096 oct. 11 10:36 apps -rw-rw---- 1 www-data www-data 12063 oct. 11 10:31 AUTHORS drwxr-xr-x 2 www-data www-data 4096 oct. 11 10:35 config -rw-rw---- 1 www-data www-data 3805 oct. 11 10:31 console.php -rw-rw---- 1 www-data www-data 34520 oct. 11 10:31 COPYING drwxr-xr-x 23 www-data www-data 4096 oct. 11 10:31 core -rw-rw---- 1 www-data www-data 4986 oct. 11 10:31 cron.php -rw-rw---- 1 www-data www-data 2478 oct. 11 10:35 .htaccess -rw-rw---- 1 www-data www-data 156 oct. 11 10:31 index.html -rw-rw---- 1 www-data www-data 3172 oct. 11 10:31 index.php drwxr-xr-x 6 www-data www-data 4096 oct. 11 10:31 lib -rwxr-xr-x 1 www-data www-data 283 oct. 11 10:31 occ drwxr-xr-x 2 www-data www-data 4096 oct. 11 10:31 ocm-provider drwxr-xr-x 2 www-data www-data 4096 oct. 11 10:31 ocs drwxr-xr-x 2 www-data www-data 4096 oct. 11 10:31 ocs-provider -rw-rw---- 1 www-data www-data 2951 oct. 11 10:31 public.php -rw-rw---- 1 www-data www-data 5139 oct. 11 10:31 remote.php drwxr-xr-x 4 www-data www-data 4096 oct. 11 10:31 resources -rw-rw---- 1 www-data www-data 26 oct. 11 10:31 robots.txt drwxr-xr-x 12 www-data www-data 4096 oct. 11 10:31 settings -rw-rw---- 1 www-data www-data 2232 oct. 11 10:31 status.php drwxr-xr-x 3 www-data www-data 4096 oct. 11 10:31 themes drwxr-xr-x 2 www-data www-data 4096 févr. 27 2019 updater -rw-rw---- 1 www-data www-data 101 oct. 11 10:31 .user.ini -rw-rw---- 1 www-data www-data 362 oct. 11 10:31 version.php
Si ce n’est pas le cas il faut les accorder à l’utilisateur web, sous Debian cela donne :
sudo chown -R www-data:www-data /var/www/nextcloud sudo chmod -R 775 /var/www/nextcloud/
Mettre à jour
Toujours dans le répertoire Nextcloud /var/www/nextcloud
:
sudo -u www-data php updater/updater.phar
A cet instant le processus est lancé.
Pour terminer le programme vous demande si vous souhaitez garder le mode maintenance activé ou non.
Applications Tierces
A cette même occasion il est possible de mettre à jour les applications tierces téléchargées depuis le dépôt.
Vérifier les mises à jour.
sudo -u www-data php occ update:check Update for files_rightclick to version 0.15.1 is available. 1 update available
Mettre à jour
sudo -u www-data php occ app:update --all files_rightclick new version available: 0.15.1 files_rightclick updated
Il est possible de mettre à jour une application en particulier.
sudo -u www-data php occ app:update <nom_de_l'application>
Problème rencontré
Durant la mise à jour j’ai rencontré le message d’erreur suivant :
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
En fouillant le forum Nextcloud j’ai trouvé la solution à mon problème.
sudo mysql -u root -p MariaDB [(none)]> use nextcloud; MariaDB [nextcloud]> set global innodb_large_prefix=on; MariaDB [nextcloud]> set global innodb_file_format=Barracuda; sudo -u www-data php occ maintenance:repair