Une Postinstallation sur Raspberry (Jessie) en erreur

Bonjour

J’ai fait plusieurs tentative pour installer Yunohost sur un Raspberry PI modele B+ et à chaque fois j’ai des problèmes pour dérouler le “postinstall” et ce que ce soit avec une installation manuelle ou à partir d’un fichier image.

Le problème semble ce concentrer autour de la moulinette, python et le module m18n. Je n’ai pas eu d’échec ni message d’erreur lors de l’installation

J’ai aussi suivi ce sujet pour essayer d’avancer, mais sans succès.
forum.yunohost. org/t/installation-on-a-fresh-jessie-vps-fails/3849

Apache et bind ne sont pas installés, les ports sont bien ouverts et correctement natés sur mon routeur.

Résultat du postinstall.sh (à peu de chose près, les mêmes erreurs pour un yunohost tools update ou un app install)

yunohost tools postinstall --debug
1162 DEBUG loading actions map namespace 'yunohost'
1169 DEBUG generating cache for actions map namespace 'yunohost'
10209 DEBUG extra parameter classes loaded: ['ask', 'password', 'required', 'pattern']
10215 DEBUG initializing base actions map parser for cli
10240 DEBUG registering new callback action 'yunohost.utils.packages.ynh_packages_version' to ['-v', '--version']
Main domain: <domain>.nohost. me
New administration password: 
Confirm new administration password: 
82116 DEBUG lock has been acquired
84145 INFO processing action [3672.1]: yunohost. tools. postinstall with args={'domain': '<domain>.nohost. me', 'password': '<password>', 'ignore_dyndns': False}
84226 INFO Starting new HTTPS connection (1): dyndns.yunohost. org
84858 DEBUG "GET /domains HTTP/1.1" 200 23
84893 INFO Starting new HTTPS connection (1): dyndns.yunohost. org
85744 DEBUG "GET /test/<domain>.nohost.me HTTP/1.1" 200 44
85782 DEBUG action [3672.1] ended after 1.631s
85796 DEBUG lock has been released
Traceback (most recent call last):
 File "/usr/bin/yunohost", line 217, in <module>
   timeout=opts.timeout,
  File "/usr/lib/python2.7/dist-packages/moulinette/__init__.py", line 136, in cli
    moulinette.run(args, output_as=output_as, password=password, timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/cli.py", line 390, in run
    ret = self.actionsmap.process(args, timeout=timeout)
  File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 495, in process
    return func(**arguments)
  File "/usr/lib/moulinette/yunohost/tools.py", line 212, in tools_postinstall
    logger.info(m18n.n('yunohost_installing'))
 NameError: global name 'm18n' is not defined



yunohost service status
avahi-daemon: 
  loaded: enabled
  status: running
dnsmasq: 
  loaded: enabled
  status: running
dovecot: 
  loaded: enabled
  status: running
fail2ban: 
  loaded: enabled
  status: running
glances: 
  loaded: enabled
  status: running
metronome: 
  loaded: enabled
  status: running
mysql: 
  loaded: enabled
  status: running
nginx: 
  loaded: enabled
  status: running
nslcd: 
  loaded: enabled
  status: running
nsswitch: 
  loaded: not-found
  status: inactive
php5-fpm: 
  loaded: enabled
  status: running
postfix: 
  loaded: enabled
  status: running
redis-server: 
  loaded: enabled
  status: running
rmilter: 
  loaded: enabled
  status: inactive
rspamd: 
  loaded: enabled
  status: inactive
slapd: 
  loaded: enabled
  status: running
ssh: 
  loaded: enabled
  status: running
ssl: 
  loaded: not-found
  status: inactive
udisks2: 
  loaded: not-found
  status: inactive
yunohost-api: 
  loaded: enabled
  status: running
yunohost-firewall: 
  loaded: disabled
  status: inactive

J’ai Dovecot et NGinx qui ne veulent pas démarrer :

service postfix restart
root@YunoHost:~# service dovecot restart
Job for dovecot.service failed. See ‘systemctl status dovecot.service’ and ‘journalctl -xn’ for details.
root@YunoHost:~# service metronome restart
root@YunoHost:~# service nginx reload
Job for nginx.service failed. See ‘systemctl status nginx.service’ and ‘journalctl -xn’ for details.

yunohost version
Traceback (most recent call last):
File “/usr/bin/yunohost”, line 206, in
m18n.load_namespace(‘yunohost’)
NameError: name ‘m18n’ is not defined

more /var/log/yunohost/yunohost-api.log 
2017-12-17 19:49:29,266 INFO     geventwebsocket.handler log_request - 127.0.0.1 - - [2017-
12-17 19:49:29] "GET /version?locale=fr HTTP/1.1" 200 232 6.191923
2017-12-17 19:49:29,325 ERROR    moulinette.core init_authenticator - unable to load authen
ticator vendor 'ldap'
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/moulinette/core.py", line 487, in init_authenticat
or
    f.write(str(os.getpid()))
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/moulinette/authenticators/__init__.py", line 7, in
 <module>
    from moulinette import m18n
ImportError: cannot import name m18n
2017-12-17 19:49:29,355 INFO     geventwebsocket.handler log_request - 127.0.0.1 - - [2017-
12-17 19:49:29] "GET /users?locale=fr HTTP/1.1" 400 204 0.071378

Salut,

effectivement…

Est-ce que tu n’aurais pas fait un apt-get upgrade par hasard ? (Au lieu de dist-upgrade)

Sinon, quelles sont les versions de yunohost et moulinette installées ? Tu devrais pouvoir les voirs avec :

dpkg --list | grep yunohost
dpkg --list | grep moulinette

Effectivement, je fais le “combo” habituel apt-get update et apt-get upgrade ; presque jamais de dist-upgrade.

Quant aux versions yunohost et moulinette, je ne pourrais regarder que ce soir en récupérant la connexion ssh.

Ça se présente un peu mieux au niveau des versions après le dist-upgrade, mais lui même n’est pas très propre

dpkg --list | grep yunohost
ii  yunohost                     2.5.3.1              all          manageable and configured self-hosting server
ii  yunohost-admin               2.5.0                all          web administration interface for yunohost

root@YunoHost:~# dpkg --list | grep moulinette
ii  moulinette                   2.7.5                all          prototype interfaces with ease in Python


First installation detected...
Checking NSS setup...
Setting up rsync (3.1.1-3+deb8u1) ...
Setting up yunohost (2.7.5) ...
config file testing succeeded
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
dpkg: error processing package yunohost (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of yunohost-admin:
 yunohost-admin depends on yunohost (>= 2.7.1); however:
  Package yunohost is not configured yet.

dpkg: error processing package yunohost-admin (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.19-18+deb8u10) ...
Errors were encountered while processing:
 yunohost
 yunohost-admin
[master 37c130c] committing changes in /etc after apt run
 15 files changed, 82 insertions(+), 62 deletions(-)
E: Sub-process /usr/bin/dpkg returned an error code (1)


dpkg --list | grep yunohost
iF  yunohost                       2.7.5                  all          manageable and configured self-hosting server
iU  yunohost-admin                 2.7.5                  all          web administration interface for yunohost

dpkg --list | grep moulinette
ii  moulinette                     2.7.5                  all          prototype interfaces with ease in Python

Hm okay, visiblement le package ne s’est pas bien configuré :confused:

Si tu fais nginx -t, ça raconte quoi ?

Par contre, je n’ai plus d’accès à l’administration. Il ne me reste qu’une connexion ssh. :frowning:

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Hm ben, dans ce cas tu devrais pouvoir faire un : service nginx restart

Pas de message de retour, mais toujours pas d’accès autre que ssh

J’airedémarré Postfix, Dovecot et NGinx, ça avance un peu. J’ai un accès à l’admin avec le domaine local (pas avec l’IP), mais j’ai une erreur interne :

Action
    GET /users
     {}

 Trace
    Traceback (most recent call last):
      File "/usr/lib/python2.7/dist-packages/moulinette/interfaces/api.py", line 406, in process
        ret = self.actionsmap.process(arguments, timeout=30, route=_route)
      File "/usr/lib/python2.7/dist-packages/moulinette/actionsmap.py", line 495, in process
        return func(**arguments)
    TypeError: user_list() got an unexpected keyword argument 'filter'

Ok, ca ressemble à yunohost-admin qui n’est pas à jour ? Est-ce que tu peux tenter de le mettre à jour via genre un apt-get install yunohost-admin ?

yunohost-admin is already the newest version

C’est p’tet metronome qui n’a pas suivi la mise à jour des paquets yunohost. Je venais de le redémarrer et l’erreur interne n’apparaît plus. J’ai a priori récupéré une interface d’admin complète.

Du coup, le apt-get dist-upgrade avant ou après yunohost tools postinstall ? avec ou sans reboot entre les deux ?

Hm je dirais : avant la postinstall, sans reboot nécessaire

Merci Aleks

Ça fonctionne en local, mais pas avec le domaine nohost.me, ou pas encore.

Pour récapituler,

  • il a fallu mettre à la main une ip du DNS google dans /etc/resolv.conf (ou plutôt resolvconf.conf)
  • ouvrir les ports qui vont bien sur mon routeur
  • à ce moment les mises à jour ont commencé à fonctionner
  • (je passe les nombreux reset de postinstall)
  • faire les mises à jour via apt-get update et apt-get dist-upgrade (pas de apt-get upgrade ?)
  • faire la configuration de postinstallation
  • redémarrer nginx (voire postfix, dovecot et metronome)

pour enfin obtenir l’accès à une interface d’administration utilisable. Il me reste maintenant à comprendre cette histoire de domaine et comment le changer, mais ça fera sûrement l’objet d’autres recherches ou d’un autre topic.