Baikal et roundcube

Bonsoir,
Je viens d’installer baikal pour gérer mes contacts et l’intégrer à roundcube.
Je n’ai pas accès à baikal dans roundcube malgré le passage de cette commande:

yunohost app upgrade roundcube

L’application roundcube étant déjà à jour

Merci d’avance de votre aide

Nino

Bonsoir,
J’ai recuperé le script ugrade et je l’ai purgé pour ne configurer que roundcube avec le plugin carddav. Il fait parfaitement le boulot.

Tout est ok les fichiers de conf, la base de données, mais rien dans roundcube, je perd mon latin:

Je precise que baikal est operationnel, je l’ai testé avec un client android.

Voici le script allegé:

#!/bin/bash

domain=$(sudo yunohost app setting roundcube domain)
path=$(sudo yunohost app setting roundcube path)

deskey=$(dd if=/dev/urandom bs=1 count=200 2> /dev/null | tr -c -d '[A-Za-z0-9]' | sed -n 's/\(.\{24\}\).*/\1/p')
db_user=roundcube
db_pwd=$(sudo yunohost app setting roundcube mysqlpwd)
db_file=../sources/SQL/mysql/$(ls -tr -1 ../sources/SQL/mysql | head -1)


final_path=/var/www/roundcube

# Install rcmcarddav if baikal is detected
sudo yunohost app list -f baikal --json | grep '"installed": true'
if [ "$?" -eq 0 ]; then
  echo "Detected Baikal"

  caldavdomain=$(sudo yunohost app setting baikal domain)
  caldavpath=$(sudo yunohost app setting baikal path)
  caldavpath=${caldavpath%/}

  sed -i "s@yuno_baikal_domain@$caldavdomain@g" ../conf/rcmcarddav.config.inc.php
  sed -i "s@yuno_baikal_path@$caldavpath@g" ../conf/rcmcarddav.config.inc.php
  sudo cp ../conf/rcmcarddav.config.inc.php $final_path/plugins/carddav/config.inc.php

  sudo sed -i "s@yuno_enable_carddav@True@g" $final_path/config/main.inc.php

  mysql -u $db_user -p$db_pwd $db_user < ../sources/plugins/carddav/dbinit/mysql-drop.sql
  mysql -u $db_user -p$db_pwd $db_user < ../sources/plugins/carddav/dbinit/mysql.sql
else
  mysql -u $db_user -p$db_pwd $db_user < ../sources/plugins/carddav/dbinit/mysql-drop.sql
  sudo sed -i "s@yuno_enable_carddav@False@g" $final_path/config/main.inc.php
fi


sudo service php5-fpm restart
sudo service nginx reload
sudo yunohost app ssowatconf

voici la section modifiée dans /var/www/roundcube/config/main.inc.php

// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('http_authentication', 'archive', 'new_user_identity', 'managesieve', 'markasjunk', 'new_user_dialog', 'contextmenu', 'automatic_addressbook', 'ldapAliasSync');

if (**True**) {
  array_push($rcmail_config['plugins'], 'carddav');
}

Voici la section modifiée dans /var/www/roundcube/plugins/carddav/config.inc.php

prefs['baikal'] = array(
        // required attributes
        'name'         =>  'CardDAV',
        // will be substituted for the roundcube username
        'username'     =>  '%u', 
        // will be substituted for the roundcube password
        'password'     =>  '%p',
        // %u will be substituted for the CardDAV username
        'url'          =>  'https://mondomamoi.fr/baikal/card.php/addressbooks/%u/default/',

        'active'       =>  true,
        'readonly'     =>  false,
        'refresh_time' => '00:05:00',

        'fixed'        =>  array( 'username', 'password' ),
        'hide'        =>  false,

Dans Rouncube --> “Carnet d’adresses”, tu n’as pas un “Groupe” nommé “CardDAV” ?

Non, hélas :frowning:

Nino

Tu as essayé de désinstaller Roundcube puis de le réinstaller ?

Ca m’ennuie un peu, j’ai peur de perdre les paramètres que mes utilisateurs ont configurés dans l’interface de roundcube

Nino

Pourquoi as-tu “purgé” le script d’upgrade ?
Je doute qu’on puisse bien t’aider si tu fais des modifications du package.

Peut-être n’as tu pas les sources du plugin installées au bon endroit ?
As tu un répertoire /var/www/roundcube/plugins/carddav contenant les sources du plugin ?
Que disent tes logs nginx ? php5-fpm ?

Bonjour Juju,

je vais donc reprendre la genèse de mon problème.
Comme indiqué dans le début de mon post, impossible de faire l’intégration de baikal dans roundcube car roundcube était déjà up to date avant l’installation de baikal.
J’ai donc posté et attendu.

Comme mon problème ne semblait pas connu.
J’ai regardé dans les scripts et sur plusieurs tutos, comment intégrer le plugins carddav dans roundcube.

3 points à prendre en compte:

  • la mise à jour de la base mysql roundcube
  • la configuration du plugin avec le lien vers les contacts baikal
  • la configuration de roundcube avec l’activation du plugin

Avec pour être sur, un redémarrage de php et nginx

Finalement le plus simple et, me semble t’il le plus propre, était de faire exactement comme un upgrade de roundcube.
Le script upgrade étant suffisamment clair, je n’ai conservé que la section installation carddav.

J’ai bien entendu vérifié que le plugin était présent et lui aussi up to date.

J’ai donc passé la portion de script qui configure les fichiers de config php du plugins carddav, roundcube et qui met à jour la base de donnée.

Ce qui semble t’il, fait exactement ce qui est nécessaire.

Je ne trouve aucune référence à carddav dans les log nginx et php5fpm.

Nino

J’ai enregistré ce problème dans une issue côté Yunohost, car c’est effectivement une limitation.

Pour le reste je ne vois pas dsl.
Quand j’avais cette erreur c’était un probleme de configuration…

Mais j’insiste : il serait préférable que tu lances le “vrai” script d’upgrade. Je ne comprends toujours pas ton besoin de le modifier. Typiquement je ne vois rien concernant les permissions des fichiers installés.

Juju,
Ce n’est pas une envie irrépressible de le modifier, mais juste de la prudence :smile:
Les commandes déjà utilisées par la mise à jour roundcube précédente ne me semblait pas judicieuses à repasser sans risque.

Mais j’ai donc suivi ton conseil et passé le script original sans résultat :frowning:, mais effectivement sans danger.

Nino

Peux tu lancer :

curl -L https://tondomain.tld

depuis le fameux serveur (important) et donner les résultats ici ?

Voila
( Pas mal de soucis avec l’affichage, désolé …)

 <!DOCTYPE html> <html> <head>   <meta charset="utf-8">   <meta
   name="format-detection" content="telephone=no" />   <meta
   name="viewport" content="user-scalable=no, width=device-width,
   height=device-height" />   <title>YunoHost Portal</title>   <meta
   name="robots" content="noindex, nofollow">   <link rel="stylesheet"
   href="assets/css/artichaut.css">   <link rel="stylesheet"
   href="assets/css/artichaut-col.css">   <link rel="stylesheet"
   href="assets/css/artichaut-messages.css">   <link rel="stylesheet"
   href="assets/css/artichaut-buttons.css">   <link rel="stylesheet"
   href="assets/css/fonts.css">   <link rel="stylesheet"
   href="assets/css/ynh-style.css">   <link rel="shortcut icon"
   href="assets/icons/favicon.ico">   <link rel="apple-touch-icon"
   sizes="57x57" href="assets/icons/apple-touch-icon-57x57.png">   <link
   rel="apple-touch-icon" sizes="114x114"
   href="assets/icons/apple-touch-icon-114x114.png">   <link
   rel="apple-touch-icon" sizes="72x72"
   href="assets/icons/apple-touch-icon-72x72.png">   <link
   rel="apple-touch-icon" sizes="144x144"
   href="assets/icons/apple-touch-icon-144x144.png">   <link
   rel="apple-touch-icon" sizes="60x60"
   href="assets/icons/apple-touch-icon-60x60.png">   <link
   rel="apple-touch-icon" sizes="120x120"
   href="assets/icons/apple-touch-icon-120x120.png">   <link
   rel="apple-touch-icon" sizes="76x76"
   href="assets/icons/apple-touch-icon-76x76.png">   <link
   rel="apple-touch-icon" sizes="152x152"
   href="assets/icons/apple-touch-icon-152x152.png">   <link rel="icon"
   type="image/png" href="assets/icons/favicon-196x196.png"
   sizes="196x196">   <link rel="icon" type="image/png"
   href="assets/icons/favicon-160x160.png" sizes="160x160">   <link
   rel="icon" type="image/png" href="assets/icons/favicon-96x96.png"
   sizes="96x96">   <link rel="icon" type="image/png"
   href="assets/icons/favicon-16x16.png" sizes="16x16">   <link
   rel="icon" type="image/png" href="assets/icons/favicon-32x32.png"
   sizes="32x32">   <meta name="msapplication-TileColor"
   content="#41444f">   <meta name="msapplication-TileImage"
   content="/mstile-144x144.png"> </head> <body class="">
   
     <h1 id="logo" class="logo">
         <img src="assets/img/logo-ynh-white.svg"/><span class="element-invisible">Yunohost</span>   </h1>
   
     <div class="overlay">
       <div class="wrapper messages info">Please log in to access to this content</div>
       <div class="wrapper login"> <form class="login-form" name="input" action="" method="post">   <div class="form-group">
       <label class="icon icon-user" for="user"><span class="element-invisible">Username</span></label>
       <input id="user" type="text" name="user" placeholder="Username" class="form-control form-text" required>   </div>   <div
   class="form-group">
       <label class="icon icon-lock" for="password"><span class="element-invisible">Password</span></label>
       <input id="password" type="password" name="password" placeholder="Password" class="form-control form-text" required>  
   </div>   <input type="submit" value="Login" class="btn classic-btn
   large-btn"> </form> </div>   </div>   <script
   src="assets/js/global.js"></script> </body> </html>

OK donc tu n’as pas de problème de hairpinning…

Non, je suis sur VM hebergée …

Question bête, as-tu pensé à déconnecter ton user et à te reconnecter ?

Également, as-tu essayé de rajouter dans rouncube le carddav ?
L’adresse de base et est : https://domain.tld/baikal/card.php/addressbooks/username/default

Enfin, tu peux essayer de te rendre sur http://domain.tld/baikal/admin et de renseigner le mot de passe admin de baikal (indiqué à l’installation et probablement disponible dans /etc/yunohost/apps/baikal/) et voir si tes utilisateurs sont bien créés dans baikal avec calendrier et carnet d’adresse.

Également, comme mentionné plus haut, je te conseille tout simplement de supprimer rouncube, supprimer baikal, puis réinstaller baikal et ensuite réinstaller roundcube.

Si tu as beaucoup d’utilisateurs, à toi de voir comment gérer la situation (e-mail pour les prévenir et expliquer pourquoi tu fais ça, etc)

Juste pour info si tu souhaites ajouter la calendrier via caldav dans ton smartphone (ou thunderbird) en plus de carddav:
https://domain.tld/baikal/cal.php/calendars/username/default

Tiens nous au jus,

Maxime

Bonjour Maxime,
Merci de ton retour.
Mes réponses directement dans ton post

Nino

Si tout le reste fonctionne, je crois que malheureusement il ne te reste plkus qu’à supprimer roundcube et réinstaller ensuite.

Tes utilisateurs ne vont pas perdre leur emails, “juste” leur config de roundcube.

Maxime

Je vais réinstaller, mais ça m’énerve de ne pas trouver la raison…
Mais effectivement dans mon cas il vaut mieux être pragmatique, j’ai passé assez de temps sur ce problème.
Nino

Bonjour,
J’ai reinstallé bailkal et roundcube, mon probléme est réglé
Nino

Cool.

J’espère que ça n’a pas fait trop de soucis avec tes utilisateurs !