Radicale + nginx

Bien, je tente “l’aventure” radicale … couplé à nginx, qui dans ce cas-là, sert de proxy !

Facile à installer, bien, c’est un bon point !

Si quelqu’un avait un peu plus d’informations, j’apprécierai …

En terme d’authentification [auth] par htpasswd fonctionne ; mais j’aimerais comprendre le fonctionnement des autres, et particulièrement des quatre dernières :

# Value: None | htpasswd | IMAP | LDAP | PAM | courier | http | remote_user | custom

J’avoue que l’authentification htpasswd est fonctionnelle mais ne me satisfait pas car non “transparent”.
Même dans Thunderbird, il faut à chaque ouverture, ressaisir le couple ID/pass nécessaire …

L’authentification LDAP, n’ayant pas de serveur LDAP, ne m’est pas un choix.
Peut-être l’authentification IMAP, si le serveur Gandi.net, chez qui j’ai mon hébergement mail, l’accepte - à tester !

Je ne maîtrise pas PAM, mais si je comprends bien cela nécessite la création d’un user sur le serveur, n’est-ce pas ?

Quant aux 4 autres, quid ?


Le problème suivant est la gestion des droits :

# Value: None | authenticated | owner_only | owner_write | from_file | custom

L’url suivante en donne une certaine explication …

Je comprends les trois dernières ‘owner_only | owner_write | from_file’ ; j’aimerais avoir plus de clarifications sur ‘authenticated’.

Quelqu’un serait ?


Dernier point :

Mon serveur nginx est configuré en tant que proxy …

 location /radicale {

    auth_basic "radicale tant qu'à faire !";
    auth_basic_user_file .ht_file;

    proxy_buffering on;
    proxy_pass https://localhost:5232;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $host;
}

La variable proxypass est déclarée en https, car le domaine lié est en SSL :wink:

Dans les logs, j’ai remarqué que je devais autoriser les entêtes HTTP de style suivante :
(GET|HEAD|PROPFIND|PUT) …

Et, pourtant quand je pointe sur mon domaine, tel que https://domaine.net/radicale/userx/calendar.ics/, l’authentification htpasswd se fait, mais ensuite j’ai le droit à la belle erreur 404, “ressource inexistante”.

Sur le serveur, dans le système de fichier, les fichiers ont l’air de s’être crée, basiquement j’ai l’impression :

z@s:~/Administration$ ll /dir_radicale/
total 12
drwxr-xr-x 3 radicale radicale 4096 avril 22 00:51 ./
drwxr-xr-x 5 root     root     4096 avril 21 19:23 ../
drwxrwxrwx 3 radicale radicale 4096 avril 22 00:51 collections/

z@s:~/Administration$ ll /dir_radicale/collections/
total 20
drwxrwxrwx 3 radicale radicale 4096 avril 22 00:51 ./
drwxr-xr-x 3 radicale radicale 4096 avril 22 00:51 ../
drwxr-xr-x 7 radicale radicale 4096 avril 22 00:51 .git/
-rw-rw-rw- 1 radicale radicale   90 avril 21 20:25 userx
-rw-rw-rw- 1 radicale radicale   20 avril 21 20:25 userx.props

z@s:~/Administration$ cd /dir_radicale/collections/

z@s:/dir_radicale/collections$ cat userx
BEGIN:VCALENDAR
PRODID:-//Radicale//NONSGML Radicale Server//EN
VERSION:2.0
END:VCALENDAR

z@s:/dir_radicale/collections$ cat userx.props 
{"tag": "VCALENDAR"}

Donc, à-priori, ce n’est pas un problème de droits, au niveau du système de fichiers …

Je sèche :sunny:

Je suis en authentification htpasswd et j’ai juste demandé à Thunderbird d’enregistrer mon login/MDP (j’ai un password maître pour ouvrir Thunderbird).

Pour éliminer un problème avec le proxy, ça donne quoi si tu entres directement l’adresse en :5232 ?

Pour pouvoir utiliser CalDavZap (client web), j’ai dû ajouter ça comme en-têtes supplémentaires :

# Additional HTTP headers
[headers]
Access-Control-Allow-Origin = *
Access-Control-Allow-Methods = GET, POST, OPTIONS, PROPFIND, PROPPATCH, REPORT, PUT, MOVE, DELETE, LOCK, UNLOCK
Access-Control-Allow-Headers = User-Agent, Authorization, Content-type, Depth, If-match, If-None-Match, Lock-Token, Timeout, Destination, Overwrite, X-client, X-Requested-With
Access-Control-Expose-Headers = Etag

J’ai eu beau cliqué l’option, il me le redemande, lors de l’ouverture suivante :frowning:

Dans l’immédiat, “connexion échouée”, ce qui est normal puisque j’ai paramétré radicale, pour n’écouter que localhost … autrement, il faut en plus que je “retouche” le firewal sur le serveur, et autorise aussi sur mon parefeu !
Pour tester, je peux le permettre mais sincèrement pas trop envie d’ouvrir une porte.
Bref, tu comprends le bins ? :stuck_out_tongue:


Sinon, merci pour les informations headers, c bon à savoir !

J’ai finalement réussi !
Pffff, je viens d’y passer toute ma nuit !!!

Y’a vraiment une logique à choper …
promis, je restituerais un max d’informations une fois bien reposé !

Mais ça marche correctement au-travers de l’authentification htpasswd, avec flux SSL … vers mon nom de domaine et SSL aussi entre le serveur HTTPS et le serveur Radicale …

J’ai sérieusement galéré, jusqu’au moment où j’ai compris que je pouvais tester la connexion en localhost, le serveur radicale, pour une raison inconnue, répondait qu’il y avait une erreur …
J’ai supprimé la version du dépôt et installé la version python par pip, qui est à jour, elle !
(v.1.1.1 vs 0.8) - cela a nécessité quelques suppressions de bout de code à droite, ou à gauche…

Attention, à la redondance d’authentification, entre d’une part htpasswd par le serveur nginx, et celle d’autre part par Radicale !

Voilà, pour un bref topo … qui sera plus explicite, promis, plus tard … maintenant : :bed:

Bon, je teste depuis ma station Linux Mint, avec Thunderbird :

  • le calendrier, c’est bon …
  • le carnet d’addresses, non - pourtant installé Lightning + SOGOconnector

Avec mon Droidophone (4.4.2), je test avec DAVDroid (v1.0.7), c’est choux blanc !
SSLHandshake Failure <= normal, il cherche à se connecter en SSLv3, qui est refusé par mon serveur ! Booo
(si j’ai bien compris son long message d’erreur)

Selon leur fofo, un utilisateur a exactement le même problème, bien que lui soit Siou, et moi, MoteurX :


La réponse est de diminuer la sécurité SSL - bien vue la joie, booo !
Désolé, mais pour moi, ce n’est pas une solution valable :frowning: :’(

Pour le client CardDAV+Sync gratuit, c’est pareil, même échec, même raison !

Tsss, c’est désespérant !
Grrrr; il ne va quand même pas falloir que je diminue la qualité SSL, purée, quoi ! ?
C’est délire :frowning: