Lors de la mise à jour vers la version 14 de mon nextcloud j’ai fait face à deux erreurs bloquantes. Voici comment j’y est remédié.
504 Gateway Time-out
Dès les préparatifs de la mise à jour je suis tombé sur ce bel écran.

erreur !
Il s’agit du serveur nginx qui coupe délibérément la connexion. En effet comme il ne reçoit plus de données depuis la page de mise à jour, celle-ci étant en attente du téléchargement de l’archive de nextcloud, il coupe simple les ponts au bout de quelques secondes. Cela est bloquant car le processus de mise à jour ne détecte pas que l’archive est téléchargée et par conséquent reste bloqué sur l’étape du téléchargement. Pour y remédier il suffit d’ajouter la directive proxy_read_timeout dans le fichier proxy_params afin d’augmenter le temps d’attente de nginx. La mise à jour terminé j’ai désactivé cette directive par mesure de sécurité.
sudo nano /etc/nginx/proxy_params
[...]
proxy_read_timeout 6000s;
[...]
sudo systemctl restart nginx
Après le redémarrage de nginx j’ai pu passer aux étapes suivantes.
Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Cette erreur est apparue lors de la deuxième phase de la mise à jour.
Pour rétablir la mise à jour j’ai joué avec ma base mariadb. Apparemment c’est une erreur connue chez mariadb : https://www.youtube.com/watch?v=vPNU3fONY7c
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;
Validation des changement auprès de nextcloud.
sudo -u www-data php occ maintenance:repair
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
- Repair MySQL collation
- Change row format for oc_addressbooks ...
- Change collation for oc_addressbooks ...
- Change row format for oc_authtoken ...
- Change collation for oc_authtoken ...
- Change row format for oc_calendarobjects ...
- Change collation for oc_calendarobjects ...
- Change row format for oc_calendars ...
- Change collation for oc_calendars ...
- Change row format for oc_calendarsubscriptions ...
- Change collation for oc_calendarsubscriptions ...
- Change row format for oc_dav_shares ...
- Change collation for oc_dav_shares ...
- Change row format for oc_migrations ...
- Change collation for oc_migrations ...
- Change row format for oc_mimetypes ...
- Change collation for oc_mimetypes ...
- Change row format for oc_systemtag_group ...
- Change collation for oc_systemtag_group ...
- Change row format for oc_trusted_servers ...
- Change collation for oc_trusted_servers ...
- Repair mime types
- Fixed comicbook mime types
- Clean tags and favorites
- 0 tags of deleted users have been removed.
- 0 tags for delete files have been removed.
- 0 tag entries for deleted tags have been removed.
- 0 tags with no entries have been removed.
- Repair invalid shares
- Remove shares of a users root folder
- Move .step file of updater to backup location
- .step file exists
- .step file moved to .step-previous-update
- Fix potential broken mount points
- No mounts updated
- Repair invalid paths in file cache
- Add log rotate job
- Clear frontend caches
- Image cache cleared
- SCSS cache cleared
- JS cache cleared
- Add preview background cleanup job
- Queue a one-time job to cleanup old backups of the updater
- Repair pending cron jobs
- Repaired 1 pending cron job(s).
- Fix component of birthday calendars
- 2 birthday calendars updated.
- Fix broken values of calendar objects
0 [>---------------------------]
- Registering building of calendar search index as background job
- Repair step already executed
- Remove activity entries of private events
- Removed 0 activity entries
- Fix the share type of guest shares when migrating from ownCloud
- Copy the share password into the dedicated column
- Migrate binary status into separate boolean fields
- Update OAuth token expiration times
Retour sur la mise à jour, cela fonctionne !
Ma migration vers Nextcloud 15 n’attend plus que moi.