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