NextCloud sur OVH mutualisé

Régler Nextcloud sur OVH mutualisé :

1 Se débarrasser des erreurs

– Les Headers

Dans le fichier .htaccess à la racine de Nextcloud :
– Modifiez chaque ligne commençant par Header set en Header always set.
– Ajoutez les lignes au bloc en question :

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload"
Header always set Referrer-Policy "strict-origin"
– le cache

Éditer le fichier config/config.php et ajouter :

'memcache.local' => '\\OC\\Memcache\\ArrayCache',
– Message de non conformité

Pour ne plus voir le message disant que nous avons changé des fichiers de Nextcloud, on peut éditer le fichier config/config.php :

'integrity.check.disabled' => true
– Erreurs de tables

La base de données a quelques index manquant. 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.

    • Index “share_with_index” manquant dans la table “oc_share”.
    • Index “parent_index” manquant dans la table “oc_share”.
    • Index “fs_mtime” manquant dans la table “oc_filecache”.
Aller sur phpmyadmin et lancer successivement ces requêtes :

ALTER TABLE `oc_share` ADD KEY `share_with_index` (`share_with`) USING BTREE;
ALTER TABLE `oc_share` ADD KEY `parent_index` (`parent`) USING BTREE;
ALTER TABLE `oc_filecache` ADD KEY `fs_mtime` (`mtime`) USING BTREE;
ALTER TABLE `oc_share` ADD KEY `owner_index` (`uid_owner`) USING BTREE;
ALTER TABLE `oc_share` ADD KEY `initiator_index` (`uid_initiator`) USING BTREE;
– Reste 2 erreurs à corriger

– PHP ne semble pas être configuré de manière à récupérer les valeurs des variables d’environnement. Le test de la commande getenv(“PATH”) retourne seulement une réponse vide. Veuillez consulter la documentation d’installation ↗pour savoir comment configurer PHP sur votre serveur, en particulier en cas d’utilisation de php-fpm.

– Le PHP OPcache n’est pas correctement configuré. Pour de meilleure performance nous recommandons d’utiliser les paramètres suivant dans le php.ini :

opcache.enable=1
opcache.enable_cli=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1

2 Problème de synchronisation

Les agendas et carnets d’adresses se sont toujours bien synchronisés jusqu’à la version 13. Les versions 14 et 15 posent des problèmes avec Android. La synchro avec Thunderbird sur Linux et sur Windows fonctionne parfaitement.

Pour DavDroid et DAVx5, voici ce qui fonctionne sur mes sites.

– Éditer le fichier lib/base.php et ajouter vers la ligne 530 :

// Fallback, if csrf.optout is unset
if (!is_array($incompatibleUserAgents)) {
$incompatibleUserAgents = [
// OS X Finder
'/^WebDAVFS/',
// Windows webdav drive
'/^Microsoft-WebDAV-MiniRedir/',
// Gnome Nautilus
'/^gvfs/',
// DAVdroid
'/^DAVdroid/',
// DAVx5
'/^DAVx5/',
// OpenTasks
'/^CalDAV-Sync/',
];
}

 

Pour avoir la connexion à tous les agendas et carnets en un seul compte, il faut entrer l’adresse ainsi :
https://nextcloud.mon-domaine.fr/remote.php/dav/principals/users/mon_login et il faut choisir « Les groupes sont des catégories ».

3 Forcer la connexion en https.

Il faut éditer le fichier .htaccess situé à la racine de l’application NextCloud et ajouter les lignes suivantes en fin de fichier.

# Redirection vers https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]