====== Nettoyage de Nextcloud ====== Se rendre dans le répertoire de nextcloud cd /var/www/html/nextcloud Puis : sudo -u www-data php occ versions:cleanup sudo -u www-data php occ trashbin:cleanup --all-users sudo -u www-data php occ files:cleanup Ou pour tout faire à la fois : sudo -u www-data php occ versions:cleanup && sudo -u www-data php occ trashbin:cleanup --all-users && sudo -u www-data php occ files:cleanup ===== MAJ sans passer par le webupdater et sans passer par l'étape "backup" particulièrement chronophage (et sans interaction : ne pose aucune question) ===== sudo -u www-data php /path/to/nextcloud/updater/updater.phar --no-backup --no-interaction ===== Ajout d'index manquant suite à MAJ ===== La base de données a quelques index manquants. L'ajout d'index dans de grandes tables peut prendre un certain temps. Elles ne sont donc pas ajoutées automatiquement. En exécutant "occ db:add-missing-indices", ces index manquants pourront être ajoutés manuellement pendant que l'instance continue de tourner. Une fois les index ajoutés, les requêtes sur ces tables sont généralement beaucoup plus rapides. sudo -u www-data php occ db:add-missing-indices ===== Activer le mode maintenance ===== Si besoin seulement (après un update pour une conversion de type de champ en BDD par exemple) : sudo -u www-data php occ maintenance:mode --on sudo -u www-data php occ maintenance:mode --off ====== Ajout de fichiers directement sur le serveur ====== sudo rsync -av --stats --progress --delete /source /dest/nextcloud/data/UserName/files/Dossier/ Remplacer : * source : par le dossier contenant les fichiers à ajouter * UserName : par le compte qui recevra les fichiers * Dossier : par le dossier de destination sur ce compte UserName Puis lancer un scan avec OCC : sudo -u www-data php occ files:scan UserName Ou pour tous les utilisateurs : sudo -u www-data php occ files:scan --all Ou pour un chemin spécifique : sudo -u www-data php occ files:scan --path="/UserName/files/Dossier" ====== Miniatures (application "Preview Generator") ====== ===== Générer toutes les miniatures **la première fois** ===== sudo -u www-data php occ preview:generate-all -vvv Important: pour activer la génération d'image il faut ensuite ajouter un cronjob : crontab -e */30 3 * * * sudo -u www-data php -f /PATH_TO_OCC/occ preview:pre-generate ===== Créer les miniatures pour un utilisateur ou un dossier spécifique ===== En remplaçant $USER et $DOSSIER sudo -u www-data php occ preview:generate-all --path="$USER/files/$DOSSIER" -v On peut même liste plusieurs répertoires chez plusieurs utilisateurs comme ceci : sudo -u www-data php occ preview:generate-all --path="$USER/files/$DOSSIER " -v && sudo -u www-data php occ preview:generate-all --path="$USER2/files/$DOSSIER2 " -v ===== Créer les miniatures pour ce qui a été ajouté depuis le dernier lancement du cron ===== sudo -u www-data php occ preview:pre-generate ======= Maps - Photos ======= Trouvé sur : https://github.com/nextcloud/maps/issues/880 Pour ajouter les photos sur la carte si cela ne s'est pas fait correctement : En le planifiant (plus long mais plus respectueux des ressources du serveur): maps:scan-photos ou en le forçant en ligne de commande avec "--now" (plus efficace et je n'ai pas eu de problème malgré les +200k de photos traitées en +/- 2H). maps:scan-photos --now ======= Erreurs ImagickException ======= Trouvé sur : https://wiki.sitnikov.ga/doku.php?id=howto:nextcloud&s%5B%5D=imagickexception#solutions_for_imagickexceptions_in_nextcloudlog En cas de lignes d'erreurs "ImagickException: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/421" dans le logfile (/var/nc_data/nextcloud.log , ou sur $SERVER/settings/admin/logging ) : On fait un backup de la config avant de la modifier : cp /etc/ImageMagick-6/policy.xml /etc/ImageMagick-6/policy.xml.bak && vi /etc/ImageMagick-6/policy.xml J'ai juste modifié les droits de "none" à "read|write" pour la ligne pattern="PDF" comme ceci : [...] [...] Puis on relance apache : sudo /etc/init.d/apache2 restart ======= Erreur de synchronisation "date de modification incorrecte" ======= Perso j'ai fait : touch -m --date=now '/PATH_TO_FILE/file.ext' (pour mettre une date à NOW) ou encore touch -m --date='20210204' '/PATH_TO_FILE/file.ext' (pour définir une date) Suivi d'un : sudo -u www-data php occ files:scan --all -vvv Pour traiter les fichiers par lot "plus ancien que 1971-01-01", il existe un script proposé sur : https://help.nextcloud.com/t/client-desktop-mac-change-date-to-01-01-1970-after-download/129765/8 #!/bin/sh IFS=$'\n' FILES=$( find . -type f ! -newermt "1971-01-01" ) for FILE in $FILES; do NEWTIME=$( stat -c %z "$FILE" ) echo "Setting '$FILE' to '$NEWTIME'" touch -m --date="$NEWTIME" "$FILE" done ====== Supprimer "index.php" des URL ====== https://help.nextcloud.com/t/removing-index-php-from-the-nextcloud-uri/13055/14 La solution peut aussi être trouvée dans la doc officielle de nextcloud : [[https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/config_sample_php_parameters.html#proxy-configurations|Proxy Configurations 67]] - Ajouter cette ligne dans [diossier racine de nextcloud]/config/config.php 'htaccess.RewriteBase' => '/', (Si l'instance Nextcloud est accessible autrement qu'à la racine comme dans "https://mycloud.org/nextcloud" alors il faudra mettre "/nextcloud". Si Nextcloud est accessible via "https://mycloud.org/" alors il faut mettre "/".) - Lancer cette commande pour mettre à jour le fichier .htaccess : sudo -u www-data php occ maintenance:update:htaccess