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.
Vous n'avez pas encore défini ou vérifié la configuration de votre serveur de messagerie.
- 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é.
Votre installation n’a pas de préfixe de région par défaut.
- Nextcloud n'aime pas non plus quand ajoute pas son préfixe de région par défaut.
Votre installation n’a pas de préfixe de région par défaut.
Sans éditer le fichier config.php (recommandé car plus facile).
Tapez cette commande:
sudo docker exec --user www-data -it nextcloud php occ config:system:set default_phone_region --value=“BE”
Veillez à remplacer BE par le code de votre pays.
En éditant manuellement le fichier config.php:
- 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 nextcloud
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 https://.
Ce qui donne au final:
Cette instance ne dispose pas de plusieurs modules PHP recommandés.
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
occ db:add-missing-indices
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”
Le serveur n'a pas aucune heure de début de fenêtre de maintenance configurée
Pour cette erreur:
Il suffit de taper cette commande:
sudo docker exec --user www-data -it nextcloud php occ config:system:set maintenance_window_start --type=integer --value=1
occ maintenance:repair --include-expensive
Merci à softseba de m'avoir fourni la solution sur un plateau!
Pour cette erreur:
En théorie il suffirait de faire cette commande:
sudo docker exec --user www-data -it nextcloud php occ maintenance:repair --include-expensive
Mais l'erreur va persister malgré tout. Ce qu'il faut faire c'est éditer le fichier RepairMimeTypes.php qui se trouve, si vous avez suivi mon tutoriel, dans:
/html/lib/private/Repair
Donc on va éditer RepairMimeTypes.php:
sudo nano RepairMimeTypes.php
Faites ctrl+w pour rechercher 30.0.0.0 et remplacer 30.0.0.0 par 29.0.5.0.
Redémarrez Nextcloud et faites maintenant la commande:
sudo docker exec --user www-data -it nextcloud php occ maintenance:repair --include-expensive
Ce qui donne:
Si vous constatez d'autres alertes, n'hésitez pas à m'en faire part.