Http 405 dans DAVx5 avec nextcloud

Mon serveur YunoHost

Matériel: VPS acheté en ligne
Version de YunoHost: 4.2.7
J’ai accès à mon serveur : En SSH | Par la webadmin
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non

Description du problème

Bonjour,

En raison d’un changement de disque, j’ai :

  • mis à jour mon serveur yunohost
  • sauvegardé mes applications (dont nextcloud) via l’interface d’administration de yunohost
    procédé au changement de disque
  • tout réinstallé
  • tenté de restaurer l’application nextcloud

J’obtiens le message suivant : "Cette sauvegarde ne peut pas être restaurée car elle provient d’une version trop ancienne de YunoHost. "

En fouillant dans l’archive tar, je ne trouve pas mon calendrier ni mes contacts.

J’espère pouvoir tout récupérer en réinstallant les servers caldav et cardav dans nextcloud, puis en synchonisant mon smartphone android, à la synchornisation de davx5, j’obtien une erreur http 405.

Avez-vous un idée de ce que je pourrais faire pour retrouver mon agenda et mes contacts ? J’ai pourtant bien retrouvé tous mes fichiers.

Cordialement.
Guillaume

Si je ne me trompe pas, tout ça est en base de données, il doit y avoir un fichier .sql quelquepart dans la sauvegarde je pense.
Par contre, je ne sais pas comment le ristaurer, ça doit être faisable mais je n’ai jamais essayé.

Vous avez bien renseigné davx5 l’adresse de votre serveur :

https://yourserver/nextcloud/remote.php/dav

Bonjour,

En fait, mon smartphone était déjà réglé avec mon compte caldav/cardav sur le serveur nextcloud. J’espérais qu’après avoir recréé un nouveau serveur, il m’aurait suffit de synchroniser mon agenda existant sur le smartphone pour que tout revienne sur le serveur (idem pour mes contacts). Mais c’est à ce moment là que je tombe sur l’erreur http 405.

J’utilise bien une adresse du type https://yourserver/nextcloud/remote.php/dav. Elle n’a pas changé avec l’installation du nouveau nextcloud.

Concernant le fichier sql, je vais voirsi je peux le trouver quelque part dans l’archive.

Merci.
Guillaume

Bonjour,

Après investigation, le seul fichier sql que je trouve a été produit par mariaDB, et ne contient pas mon agenda ni mes contact.

D’autres idées ?

J’ai eu un problème similaire (à l’erreur 405) récemment, et avec les logs de Davx5 je pourrais te dire si c’est exacement le même.

Je peux en tout cas te dire la solution qui a marché pour moi: pour une raison que je n’ai pas élucidé, la config nginx de nextcloud créée par yunohost ne contenait pas les déclarations pour .well-known/carddav et .well-known/caldav.
Tu peux vérifier si tu as le même problème en regardant sur ton server dans /etc/nginx/conf.d/<domaine-de-nextcloud>/nextcloud.conf si tu as ces 2 lignes:

  location = /.well-known/carddav     { return 301 /remote.php/dav/; }
  location = /.well-known/caldav      { return 301 /remote.php/dav/; }

Si elles n’y sont pas, essaye de régénerer la conf ou de les ajouter à la main dans le bloc location ^~ /.well-known {, au dessus de la ligne try_files

Bonjour Djizeus,

J’ai bien les 2 lignes dans mon fichier. Comment fais-tu pour régénérer la conf ?

Bonsoir,
C’est certainement lié à ce bout de code extrait de ce lien:

# Check if .well-known is available for this domain
if is_url_handled --domain="$domain" --path="/.well-known/caldav" || is_url_handled --domain="$domain" --path="/.well-known/carddav"
then
    ynh_print_warn --message="Another app already uses the domain $domain to serve a caldav/carddav feature. You may encounter issues when dealing with your calendar or address book."

    # Remove lines about .well-known/carddav and caldav with sed.
    sed --in-place --regexp-extended '/location = \/\.well\-known\/(caldav|carddav)/d' "../conf/nginx.conf"
fi

Après je ne comprends pas vraiment la raison, j’ai également été confronté au retrait de ces lignes suite à une restauration d’une sauvegarde alors que je n’ai rien ajouté de plus qu’avant la migration sur une nouvelle machine.

@GuillaumeLACAN

On ne peut pas regénérer la conf d’une app mais uniquement celle des fichiers natifs de Yunohost avec yunohost tools regen-conf. Mais il n’y a pas de raison que la conf Nginx de nextcloud soit mauvaise, en dehors de la spécificité de /.well-known mentionnée ci-dessus sauf si tu l’as modifiée manuellement.

@metyun Bien vu ! Dans mon cas ce n’était pas une restauration de sauvegarde mais un changement de domaine de nextcloud. Donc si ce bout de code est exécuté alors que la conf nextcloud est encore sur l’ancien domaine, ceci explique cela.

Du coup j’ai pas d’autres idées pour toi Guillaume…

Bonjour,

Pas d’autres idées ?

Cordialement.
Guillaume