Die Installation des FreeIPA-Servers schlägt aufgrund eines Kodierungsfehlers fehl

Die Installation des FreeIPA-Servers schlägt aufgrund eines Kodierungsfehlers fehl

Ich versuche, den FreeIPA-Server auf einem CentOS 7-Knoten zu installieren. Ich beginne mit einem sauberen Image und führe den folgenden Code aus (einige nicht verwandte Teile sind nicht enthalten):

        echo 'LANG=en_US.utf-8' >> /etc/environment
        echo 'LC_ALL=en_US.utf-8' >> /etc/environment

        yum -y install epel-release npm wget net-tools patch sbt python36u python36u-devel krb5-devel
        yum -y install python36u-pip

        yum install -y ipa-server

        systemctl start named
        systemctl enable named

        ln -s /bin/pip3.6 /bin/pip
        pip install --upgrade pip
        pip install kdcproxy ipaplatform gssapi ipalib

        ipa-server-install -p directoryManagerAdmin -a kerberosAdmin --ip-address=$ipaddress -n test.hadoop.com -r TEST.HADOOP.COM --mkhomedir -U

Die Installation des IPA-Servers funktioniert bis zu dem Teil, in dem versucht wird, die Web-API zu verwenden, ordnungsgemäß. An diesem Punkt schlägt die Installation aufgrund eines internen Serverfehlers fehl. Beim Betrachten der Protokolle unter /var/log/httpd/error_log habe ich festgestellt, dass der folgende Fehler mehrfach repliziert wurde.

[Thu Jul 25 19:26:30.952879 2019] [wsgi:error] [pid 2934] mod_wsgi (pid=2934): Failed to exec Python script file '/usr/share/ipa/wsgi.py'.
[Thu Jul 25 19:26:30.952929 2019] [wsgi:error] [pid 2934] mod_wsgi (pid=2934): Exception occurred processing WSGI script '/usr/share/ipa/wsgi.py'.
[Thu Jul 25 19:26:30.953372 2019] [wsgi:error] [pid 2934] Traceback (most recent call last):
[Thu Jul 25 19:26:30.953402 2019] [wsgi:error] [pid 2934]   File "/usr/share/ipa/wsgi.py", line 48, in <module>
[Thu Jul 25 19:26:30.953406 2019] [wsgi:error] [pid 2934]     api.bootstrap(context='server', confdir=paths.ETC_IPA, log=None)
[Thu Jul 25 19:26:30.953414 2019] [wsgi:error] [pid 2934]   File "/lib/python3.6/site-packages/ipalib/plugable.py", line 494, in bootstrap
[Thu Jul 25 19:26:30.953417 2019] [wsgi:error] [pid 2934]     raise errors.SystemEncodingError(encoding=fse)
[Thu Jul 25 19:26:30.953432 2019] [wsgi:error] [pid 2934] ipalib.errors.SystemEncodingError: System encoding must be UTF-8, 'ascii' is not supported. Set LC_ALL="C.UTF-8", or LC_ALL="" and LC_CTYPE="C.UTF-8".

Ich habe versucht, LC_ALL und LANG einzustellen (wie im Skript zu sehen), aber es kommt immer noch. Was muss ich tun, um das Problem zu beheben, damit die Web-API für den Server ordnungsgemäß funktioniert?

BEARBEITEN: Gemäß den Vorschlägen von @abbra @michael-hampton habe ich meine Korrekturen für die Python-Probleme rückgängig gemacht. Unten finden Sie den neuen Befehlssatz, den ich ausführe, sowie einen der Fehler, die ich in httpd/error_log sehe. Beachten Sie, dass ich auch andere Pakete vermisse, aber sie sind alle ähnlich.

        yum -y install epel-release npm wget net-tools patch sbt krb5-devel

        yum install -y ipa-server

        systemctl start named
        systemctl enable named

Ausgabe in /var/log/httpd/error_log:

[Fri Jul 26 14:20:03.334411 2019] [wsgi:error] [pid 2894] mod_wsgi (pid=2894): Failed to exec Python script file '/usr/share/ipa/wsgi.py'.
[Fri Jul 26 14:20:03.334456 2019] [wsgi:error] [pid 2894] mod_wsgi (pid=2894): Exception occurred processing WSGI script '/usr/share/ipa/wsgi.py'.
[Fri Jul 26 14:20:03.334675 2019] [wsgi:error] [pid 2894] Traceback (most recent call last):
[Fri Jul 26 14:20:03.334697 2019] [wsgi:error] [pid 2894]   File "/usr/share/ipa/wsgi.py", line 43, in <module>
[Fri Jul 26 14:20:03.334701 2019] [wsgi:error] [pid 2894]     from ipaplatform.paths import paths
[Fri Jul 26 14:20:03.334716 2019] [wsgi:error] [pid 2894] ModuleNotFoundError: No module named 'ipaplatform'

Antwort1

Sie haben wahrscheinlich IUS-Repositorys aktiviert. Sie stellen Pakete bereit, die Standard-CentOS-Builds überschreiben und erweitern. Infolgedessen machen sie (in diesem speziellen Fall) Ihr System inkompatibel mit den Anforderungen für IPA-Serverpakete. Wenn Sie python36u-mod_wsgi entfernen, wird ein Original (auf Python2 basierend) übernommen.

Ich garantiere nicht, dass diese Konfiguration (CentOS + IUS-Pakete) überhaupt für FreeIPA funktioniert, da sie niemand getestet hat.

verwandte Informationen