4. Configuration Nextcloud 29
Important : A partir d’ici, toutes les commandes seront exécutées en tant que root.
1. Configuration de Pretty URLs :
sudo -u www-data php /var/www/nextcloud/occ config:system:set htaccess.RewriteBase --value="/"
sudo -u www-data php /var/www/nextcloud/occ maintenance:update:htaccess
Pretty URLs permet de supprimer le « index.php » dans la barre d’adresse.
On peut aussi ajouter cette ligne dans le fichier config.php du dossier config de nextcloud
sudo nano /var/www/nextcloud/config/config.php
'htaccess.IgnoreFrontController' => true,
3. Gestion des fichiers supprimés (Corbeille) :
L’application Deleted files installée par défaut gère les fichiers supprimés en fonction du paramètre trashbin_retention_obligation du fichier config.php
.
3.1 Vérification du paramètre trashbin_retention_obligation :
sudo -u www-data php /var/www/nextcloud/occ config:system:get \trashbin_retention_obligation
Si aucune valeur n’est retournée, la configuration par défaut sera utilisée.
3.2 Modification du paramètre trashbin_retention_obligation :
sudo -u www-data php /var/www/nextcloud/occ config:system:set \trashbin_retention_obligation --value="auto, 15"
Les fichiers seront définitivement supprimés au bout de 15 jours.
Si la taille de l’ensemble des fichiers supprimés dépassent la limite autorisée (par défaut 50% de l’espace libre), l’application Deleted files supprimera les fichiers les plus anciens jusqu’à descendre en dessous de la limite autorisée.
3.3 Forcer la suppression définitive des fichiers supprimés ne respectant plus les conditions de rétention :
sudo -u www-data php /var/www/nextcloud/occ trashbin:expire
3.4 Forcer la suppression définitive de tous les fichiers supprimés :
sudo -u www-data php /var/www/nextcloud/occ trashbin:cleanup --all-users
Il est possible de remplacer --all-users par le nom des utilisateurs séparés par des espaces. Pour un utilisateur provenant de l'annuaire LDAP, il faudra utiliser son ID.
Pour aller plus loin : Nextcloud – Deleted Items (trash bin) et Nextcloud – Occ Trashbin
4. Tâches de fond
Pour son bon fonctionnement, Nextcloud exécute régulièrement des tâches de fond (Jobs).
Exemple de tâche : Scan à la recherche de nouveaux fichiers.
Par défaut, ces tâches sont exécutées à chaque chargement de page.
Cependant, si personne ne visite le site, aucune tâche ne sera exécutée.
Il est donc recommandé d’utiliser Cron afin d’exécuter ces tâches de manière régulière sans intervention humaine.
4.1 Création de la tâche Cron :
sudo crontab -u www-data -e
Ajouter la ligne suivante à la fin du fichier :
*/5 * * * * php -f /var/www/nextcloud/cron.php
Le fichier cron.php contenant les tâches Nextcloud sera exécuté toutes les 5 minutes.
Cet intervalle peut être modifié en remplaçant le 5 par une autre valeur.
4.2 Configuration du type de tâche dans Nextcloud :
sudo -u www-data php /var/www/nextcloud/occ background:cron
Pour aller plus loin, vous pouvez consulter la page Background jobs de la documentation officielle.
5. Réglage de la Taille limite de téléchargement :
Édition du fichier php.ini :
sudo nano /etc/php/8.3/fpm/php.ini
sudo sed -i -e "s/^;* *upload_max_filesize *= *.*$/upload_max_filesize=16G/g" /etc/php/8.3/fpm/php.ini
sudo sed -i -e "s/^;* *post_max_size *= *.*$/post_max_size=16G/g" /etc/php/8.3/fpm/php.ini
Vérification :
cat /etc/php/8.3/fpm/php.ini | egrep "^;* *upload_max_filesize *=|^;* *post_max_size *="
Résultat :
Redémarrer :
reboot
6. Ajout d'index manquants :
La mémoire c’est OK, le cache c’est OK, maintenant il reste encore quelques messages concernant la base de données et quelques index manquants.
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.
Alors nous allons devoir ajouter nous-mêmes ces index manquants. Pour ça, aller dans le répertoire de nexcloud :
cd /var/www/nextcloud/
Lancer la commande suivante qui devrait ajouter les index manquants :
sudo -u www-data php occ db:add-missing-indices