Page 1 sur 2

[RESOLU] installation sur Rocky Linux

Publié : 04 mai 2022 - 16:29
par bkeller
Bonjour,

j'essaie d'installer WAPT sur une VM RockyLinux 8.5, mais je rencontre des difficultés :

J'ai suivi la documentation ici
https://www.wapt.fr/en/doc/wapt-server- ... based.html
les prérequis installés sont les suivants

Code : Tout sélectionner

nginx.x86_64         1:1.21.6-1
postgresql.x86_64         10.17-2
Tout se passe bien jusqu'à la partie "post conf", j'ai le message d'erreur suivant pendant l’exécution du script "postconf.py"

Code : Tout sélectionner

[root@wapt ~]# /opt/wapt/waptserver/scripts/postconf.sh --force-https
not supported, exiting
En regardant un peu le code (setuphelpers_linux.py) j'ai vue que RockyLinux semble bien pris en charge

Code : Tout sélectionner

def type_redhat():
	return linux_distribution is not None and linux_distribution[0].lower() in ('rhel', 'centos', 'fedora', 'oracle','almalinux','rocky linux')
Dans la documentation, je ne vois pas ou sont précisés les prérequis techniques pour nginx et postgresql ?
Est-ce un problème avec la détection de la distrib ou de la version de la distrib ?
Est-ce un problème avec la version de postgresql ou Nginx ?
Est il possible de débuguer le script "postconf.py" ?

Merci

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 10:57
par dcardon
Bonjour bkeller,

quelle version de wapt (cf. forum rules)? Ca a déjà été corrigé il y a quelque temps (erreur de typo "rocky linux" vs "rocky" tout cours)
Il faut une version postgres >=9.6 (pour le support json), donc la version par défaut dans rockylinux8 est ok, pas besoin de l'upgrader (à l'inverse, la version postgres 9.4 fournit par CentOS7 à l'inverse doit être upgradé). Idem pour le nginx.

Cordialement,

Denis

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 13:02
par bkeller
Bonjour Denis,

Ça m'a échappé, je corrige :

version WAPT

Code : Tout sélectionner

[root@wapt ~]# dnf list *wapt*
Last metadata expiration check: 0:29:31 ago on Thu 05 May 2022 12:22:19 PM CEST.
Installed Packages
tis-waptserver.x86_64                   2.2.1.11899-2d82654e.el8           @wapt
tis-waptsetup.noarch                    2.2.1.11899-2d82654e               @wapt
Available Packages
tis-waptagent.x86_64                    2.2.1.11899-2d82654e.el8           wapt
tis-waptsetup-linux-mac.noarch          2.2.1.11899-2d82654e               wapt

version OS

Code : Tout sélectionner

[root@wapt ~]# uname -a
Linux wapt.sieeen.fr 4.18.0-348.el8.0.2.x86_64 #1 SMP Sun Nov 14 00:51:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[root@wapt ~]# cat /etc/*release
Rocky Linux release 8.5 (Green Obsidian)
NAME="Rocky Linux"
VERSION="8.5 (Green Obsidian)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="8.5"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Rocky Linux 8.5 (Green Obsidian)"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:rocky:rocky:8:GA"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky Linux"
ROCKY_SUPPORT_PRODUCT_VERSION="8"
Rocky Linux release 8.5 (Green Obsidian)
Rocky Linux release 8.5 (Green Obsidian)
Rocky Linux release 8.5 (Green Obsidian)
waptserver 2.2.1.11899 est bien la dernière version ?


Cordialement

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 13:33
par bkeller
en modifiant les lignes 71 et 74 du fichier setuphelpers_linux.py comme ceci

Code : Tout sélectionner

def type_redhat():
    return linux_distribution is not None and linux_distribution[0].lower() in ('rhel', 'centos', 'fedora', 'oracle','almalinux','rocky')

def type_rhel():
    return linux_distribution is not None and linux_distribution[0].lower() in ('rhel', 'centos', 'oracle','almalinux','rocky')
Le script postconf.py se lance correctement !

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 13:42
par bkeller
par contre en fin de script configuration nginx, il y a un souci

Code : Tout sélectionner

Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 648, in main
    print(restart_nginx())
  File "/opt/wapt/waptserver/scripts/postconf.py", line 278, in restart_nginx
    return run('systemctl restart nginx')
  File "/opt/wapt/waptutils.py", line 2123, in run
    raise CalledProcessErrorOutput(proc.returncode, cmd, ''.join(output))
waptutils.CalledProcessErrorOutput: Command b'systemctl restart nginx' returned non-z                                                           ero exit status 1.
Output:Job for nginx.service failed because the control process exited with error cod                                                           e.
See "systemctl status nginx.service" and "journalctl -xe" for details.


During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/wapt/waptserver/scripts/postconf.py", line 761, in <module>
    main()
  File "/opt/wapt/waptserver/scripts/postconf.py", line 654, in main
    'errno = ' + str(cpe.returncode) + ', output: ' + cpe.output.decode('utf-8')
AttributeError: 'str' object has no attribute 'decode'
et en regardant effectivement un problème de version de module nginx

Code : Tout sélectionner

[root@wapt ~]# nginx -t
nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_auth_spnego_module.so" version 1018000 instead of 1021006 in /usr/share/nginx/modules/mod-http-auth-spnego.conf:1
nginx: configuration file /etc/nginx/nginx.conf test failed
[root@wapt ~]# dnf list *spnego*
Last metadata expiration check: 1:16:01 ago on Thu 05 May 2022 12:22:19 PM CEST.
Installed Packages
nginx-mod-http-auth-spnego.x86_64                                             1.18.0-tis1.1.0                                              @wapt

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 14:22
par dcardon
Bonjour bkeller,

votre version est la bonne, c'est moi qui me suis embrouillé. Pour des raisons historiques il y avait deux endroits où est défini la fonction def type_redhat(), et qu'une des deux avait été corrigée. Il y a du refactoring en cours, ça devrait disparaitre :-) . Merci pour la remonté, je corrige directement.

Pour le nginx, c'est un autre problème, ça dépend du canal dnf sélectionné (il y a plusieurs version de nginx dispo en parallèle). Mais il semble que maintenant ça soit la 1.20 qui arrive par défaut. Les extensions nginx ne sont pas ABI compatible entre les versions et il faut recompiler le module kerberos pour chaque version dispo... Je vais voir pour fixer la version à 1.20 dans le .spec et uploader le module kerberos correspondant pour éviter le soucis. Pour l'instant, vous pouvez désactiver la partie kerberos (ou downgrader le nginx en 1.18).

Cordialement,

Denis

Re: installation sur Rocky Linux

Publié : 05 mai 2022 - 14:47
par dcardon
rebonjour,

pour info, pour downgrader la version nginx il faut:

dnf remove nginx* # note : ça va aussi désinstallation le serveur wapt à cause des dépendances
dnf module reset nginx -y
dnf module enable nginx:1.18 -y
dnf install nginx
dnf install tis-waptserver

après vous devriez pouvoir activer le module kerberos

Je vais rajouter dans la doc de fixer la version nginx à 1.18 en attendant qu'on upload le module compilé pour 1.20

Cordialement,

Denis

Re: [RESOLU] installation sur Rocky Linux

Publié : 05 mai 2022 - 15:22
par bkeller
Merci pour toutes les infos

De mon côté je voulais vous signalé que j'ai activé le module nginx comme ceci

Code : Tout sélectionner

dnf module enable nginx:mainline
et que c'est la version 1.21.x qui est installée

Code : Tout sélectionner

[root@wapt ~]# nginx -v
nginx version: nginx/1.21.6
Je sais que RH backport les patchs de sécurité sur les versions maintenues dans leur dépôt, mais si on peut utiliser une version à jour...

Proposerez-vous le paquet nginx-mod-http-auth-spnego compatible avec nginx 1.21.x ?

Merci
Cordialement

Re: [RESOLU] installation sur Rocky Linux

Publié : 05 mai 2022 - 19:18
par dcardon
Bonjour bkeller,

on va préparer le module pour la version 1.20, par contre je déconseillerai fortement de mettre nginx:mainline comme module dnf, car à la prochaine upgrade de l'os vous pouvez avoir un passage en 1.22 et alors le nginx ne redémarrera pas car l'ABI du module spnego ne sera plus considéré comme compatible.

Je rappelle que nginx est assez spécial par rapport à cela, même les modules chargés dynamiquement doivent être compilé en même temps que le binaire lui même avec exactement (j'ai bien dit exactement) les mêmes flags de compilation. Et ce même si en fait il n'y a rien qui a changé au niveau de l'ABI...

Cordialement,

Denis

Re: [RESOLU] installation sur Rocky Linux

Publié : 06 mai 2022 - 09:01
par dcardon
Bonjour bkeller,

je viens de vérifier la doc, et il est bien mentionné dans [1]

Code : Tout sélectionner

dnf module enable nginx:1.18 -y
c'était peut être là pour quelque chose... Et je répète, utiliser nginx:mainline c'est pas une bonne pratique si on utilise des modules complémentaire (ce qui est le cas ici avec le module spnego). Et que d'après le site nginx[2], "Mainline is the active development branch", ce qui n'est pas forcément le meilleur choix pour un serveur de prod :-)

Si vous voulez/devez absolument avoir la toute dernière version de dev de nginx, vous pouvez recompiler le module, le code source est dispo ici [3] (mais ce n'est pas supporté).

Cordialement,

Denis

[1] https://www.wapt.fr/fr/doc/wapt-server- ... based.html
[2] https://www.nginx.com/blog/nginx-1-18-1-19-released/
[3] https://github.com/stnoonan/spnego-http ... inx-module