Retour d'expérience : installation sur un sheevaplug, avec sous-domaines et pb baïkal

Pour ceux que cela intéresse, voici la narration de mon installation de YunoHost sur un sheevaplug.

Installation initiale :
Je passe l’installation du système, dont ce n’est pas le sujet ici. Je commence donc sur une installation de Debian Wheezy toute neuve…
Je garde une image de la carte sd aux étapes importantes, pour pouvoir y revenir si quelque chose se passe mal, sans avoir à refaire tout ce qui précède.
(sur mon PC, la carte est /dev/sdd. À adapter avant de refaire)
$ sudo dd if=/dev/sdd of=~/plug/etape1.dd

Une première installation ayant montré un problème avec le paquet python-twisted-words, je recommence par un :
# apt-get install python-twisted-words

Puis je suis les indications données par [la page d’install de YunoHost][1] :
# apt-get install git # git clone https://github.com/YunoHost/install_script /tmp/install_script # cd /tmp/install_script && sudo ./install_yunohostv2

Je continue avec les indications de la [post-installation][2], j’indique mon domaine (mondomaine.fr (non, c’est pas celui-là en vrai)) et mon mot de passe.

Sous-domaines
Pour l’installation des applications, j’ai choisi plutôt de créer des sous-domaines. Je ne savais pas comment faire, alors j’ai essayé. Dans «domaines», j’ai créé webmail.mondomaine.fr et owncloud.mondomaine.fr.

J’ai demandé l’installation de roundcube à la racine du «domaine» webmail.mondomaine.fr : yunohost m’avertit que je ne pourrai installer aucune autre application dans ce (sous-)domaine. OK.
De même, j’installe owncloud à la racine du (sous-)domaine owncloud.mondomaine.fr et valide l’avertissement.

Ça fonctionne ! Je suis heureux ! Un grand merci aux développeurs !

Baïkal
Pour le partage de calendriers et carnets d’adresses, j’ai eu plus de mal. L’installation de baikal échouait et m’indiquait :
Please, execute “composer install” in the folder where you installed Baïkal.

Hélas, je n’avais pas les bons outils :
bash: composer: command not found

Il faut d’abord commencer par pouvoir exécuter du php en ligne de commande, donc :
# apt-get install php5-cli
dans un premier temps, j’avais une erreur unrecoverable fatal error, aborting: files list file for package 'klibc-utils' contains empty filename. Je ne sais pas si ça concerne spécifiquement l’installation de YunoHost, mais j’explique comment je l’ai résolue… Ce sera peut-être utile à quelqu’un…
1/ éditer le fichier /var/lib/dpkg/status :
# nano /var/lib/dpkg/status
2/ supprimer les lignes suivantes :
Code: Package: klibc-utils Status: install ok installed Priority: required Section: libs Installed-Size: 367 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: amd64 Source: klibc Version: 1.5.25-1ubuntu2 Depends: libklibc (= 1.5.25-1ubuntu2) Description: small utilities built with klibc for early boot This package contains a collection of programs that are linked against klibc. These duplicate some of the functionality of a regular Linux toolset, but are typically much smaller than their full-function counterparts. They are intended for inclusion in initramfs images and embedded systems. Original-Maintainer: maximilian attems <maks@debian.org>
3/ réparer les dependances et installer :
# dpkg --configure -a # apt-get -f install # apt-get install php5-cli

Voilà l’erreur réparée, continuons l’installation…
Installation de l’outil composer :
$ curl -sS https://getcomposer.org/installer | php $ mv composer.phar /usr/local/bin/composer

Je n’ai pas exécuté la commande composer install dans le dossier Baïkal, mais j’ai désinstallé l’application puis réinstallé, et cette fois, ça a marché !
Baïkal is running allright.

Pour finir, j’ai découvert les “well-known” URLs, que je me suis empressé de mettre en œuvre. Elles permettent à des outils, comme l’appli [DAVdroid][3], de trouver les carnets d’adresses et agenda automatiquement, et d’avoir un seul compte pour les 2. Pour cela, il faut que URL mondomaine/.well-known/carddav et mondomaine/.well-known/caldav renvoient sur baikal.
Il faut donc modifier le fichier /etc/nginx/conf.d/mondomaine.fr.conf et ajouter les lignes suivantes (juste avant la dernière accolade) :
location / { rewrite ^/.well-known/carddav /baikal/card.php redirect; rewrite ^/.well-known/caldav /baikal/cal.php redirect; }

Il a aussi fallu que je me batte avec les certificats, car mon téléphone refusait le cerficat de mon site qui n’avait pas basic constraints: CA:true. Il a fallu que je régénère des certificats adéquats.

Mais ça y est, j’ai mon serveur, et mon calendrier synchronisé avec mon téléphone !

Pour la suite, j’ai encore des choses à faire et des questions à poser, mais ce sera pour un prochain épisode…

Excellent retour d’expérience. Tu en as eu du courage pour Baïkal !

En tout cas c’est bien d’avoir soulevé ce problème, on a maintenant une trace écrite pour @juju

Content de voir que YunoHost fonctionne sur SheevaPlug, un de plus à ajouter à la liste :slight_smile:

Pour le pb d’install de Baikal, ce que je lis me laisse penser que c’est juste l’install de php5-cli qui n’a pas fonctionné.

Il faudrait idéalement essayer de reproduire : juste après une post-install de yunohost, tenter un apt-get install php5-cli
composer est installé temporairement pendant l’install de baikal, tu n’as pas besoin de l’installer toi-même :

Pour les well-known urls je comptais bien les intégrer directement à l’install de baikal. Merci beaucoup pour le test/la confirmation que ça marche/la conf nginx.

Pour l’install de php5-cli, oui, je ne sais pas ce qui a manqué. Pour l’instant, ça fonctionne, alors je ne vais pas essayer de le reproduire ;-), mais si j’ai un jour besoin de réinstaller, je te tiendrai au courant.

Pour les well-known urls, ça marche pour l’agenda. Pour les contacts en revanche, je n’ai pas réussi, mais je ne sais pas si c’est du à mon installation, à baikal, ou à mes clients android et sogo pour thunderbird… J’ai aussi eu un peu de mal à les configurer, alors maintenant que c’est tombé en marche, je ne vais pas trop les chatouiller.

Tu as des infos supplémentaires au sujet de la regénération de certifs ?
Ca c’est possible que ce soit un bug dans yunohost, et il y a d’autres utilisateurs qui ont eu ce problème. Chez moi ça marche (android 4.4 + davdroid) et je n’ai pas regénéré les certs, je comprends pas trop mais idem, maintenant j’évite de le titiller.

J’ai le même problème avec le certificat, sauf que je sais pas comment en générer de nouveaux =s
On peut m’indiquer un tuto ?