Après avoir installé Nextcloud, il est tout à fait normal d'avoir des alertes de sécurité ou avertissements. Et cela peut même évoluer au fil des mises à jour. C'est parfois pénible de maintenir Nextcloud...
Cela ne veut pas dire que Nextcloud ne fonctionnera pas, mais il est conseillé de régler ces alertes pour avoir le fameux V vert.
Quand on a pas l'habitude cela peut-être déroutant. Cela se présente comme ceci:
- Nextcloud n'aime pas le HTTP, il préfère le HTTPS. Et à raison. Tout ce qui transite en HTTP passe en clair. Niveau sécurité on a vu mieux, surtout si vous exposez votre cloud sur internet. Pour cette raison il faut avoir un certificat SSL. D'une manière ou d'une autre. Je vous invite cordialement sur Discord si vous ne savez pas ce que c'est ni comment faire. Il existe plusieurs solutions comme le certificat auto signé (self-signed) ou encore un reverse proxy.
- Nextcloud n'aime pas qu'on ne configure par son serveur de messagerie... Je présume pour la récupération du mot de passe. Je ne sais pas trop. Avant ça ne valait pas une alerte. Maintenant oui. Bien que ce ne soit pas obligatoire au bon fonctionnement de Nextcloud, ça ne demande pas beaucoup d'efforts pour régler cette alerte.
Je vous invite sur cet article pour le tutoriel concernant l'ajout d'un mail Gmail, majoritairement utilisé.
- Nextcloud n'aime pas non plus quand ajoute pas son préfixe de région par défaut.
- Se connecter en SSH au serveur hébergeant Nextcloud, ensuite il faut éditer le fichier config.php dans le dossier config qui se trouve lui-même dans le dossier Nextcloud:
sudo nano /srv/appdata/nextcloud/config/config.php
- Il faudra ajouter le code de votre pays que vous pouvez trouver ici si vous l'ignorez. Dans mon cas, la Belgique c'est BE:
'default_phone_region' => 'BE',
Vous pouvez ajouter cette ligne tout en bas du fichier config.php:
Une fois terminé, vous enregistrez le fichier et redémarrez Nextcloud:
docker restart nextlcoud
well-known/caldav et well-know/cardav
Pour les erreurs:
Votre serveur web nest pas configuré correctement pour résoudre "/.well-known/caldav".
Votre serveur web nest pas configuré correctement pour résoudre "/.well-known/carddav".
Faites:
sudo nano /srv/appdata/nextcloud/html/.htaccess
Supprimez ces deux lignes:
RewriteRule ^.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^.well-known/caldav /remote.php/dav/ [R=301,L]
Et remplacez-les par ces deux lignes en remplaçant https://votredomaine.com par l'url de votre instance Nextcloud:
RewriteRule ^.well-known/carddav https://votredomaine.com/remote.php/dav/ [R=301,L]
RewriteRule ^.well-known/caldav https://votredomaine.com/remote.php/dav/ [R=301,L]
Erreur reverse-proxy
Pour régler cette erreur:
Vous accédez à votre instance via une connexion sécurisée, pourtant celle-ci génère des URLs non sécurisées. Cela signifie probablement que vous êtes derrière un reverse-proxy et que les variables de réécriture ne sont pas paramétrées correctement.
Il suffira d'éditer:
sudo nano srv/appdata/nextcloud/config/config.php
Et d'ajouter à la fin de fichier:
'trusted_proxies' =>
array (
0 => 'ip_locale',
),
'overwritehost' => 'nextcloud.ndd.tld',
'overwriteprotocol' => 'https',
Il faut donc changer ip_locale par l'ip de votre serveur et nextcloud.ndd.tld par le domaine de votre instance sans le hhtps://.
Ce qui donne au final:
EDIT 21/01/2024
Depuis peu j'ai vu un nouvel avertissement:
Cette instance ne dispose pas de plusieurs modules PHP recommandés. Il est recommandé de les installer pour améliorer les performances, et la compatibilité : bz2
Si vous avez suivi mon tuto pour installer Nextcloud, connectez vous en SSH au serveur et voilà ce qu'il faut faire, collez cette ligne de commande et validez ensuite:
docker exec -it nextcloud bash
La même pour cette ligne de commande qui va installer le module php manquant:
apt-get update && apt-get install -y libbz2-dev && docker-php-ext-install bz2
Tapez exit et validez par Enter et pour terminer, redémarrez Nextcloud:
docker compose restart nextcloud
EDIT 22/03/204
Pour l'erreur:
Server has no maintenance window start time configured. This means resource intensive daily background jobs will also be executed during your main usage time. We recommend to set it to a time of low usage, so users are less impacted by the load caused from these heavy tasks.
Faites cette commande:
sudo docker exec --user www-data -it nextcloud php occ config:system:set maintenance_window_start --value=“17”
EDIT 6/05/2024
Pour l'erreur:
occ db:add-missing-indices
Faites cette commande:
sudo docker exec --user www-data -it nextcloud php occ db:add-missing-indices
Pour l'erreur:
Le serveur n'a pas d'heure de début de fenêtre de maintenance configurée...
Faites cette commande:
sudo docker exec --user www-data -it nextcloud php occ config:system:set maintenance_window_start --value=“1”
Si vous constatez d'autres alertes, n'hésitez pas à m'en faire part.