WSGIScriptAlias im Apache

german
integration

#1

Hallo,
ich habe eine Python Applikation, die ich UCS-ready machen möchte und die als WSGI im Apache läuft. Um diese in einem Unterverzeichnis laufen zu lassen, konfiguriert man das üblicher Weise wie folgt im Apachen:

WSGIPythonHome /opt/privacyidea/privacyidea-venv
WSGIScriptAlias /privacyidea      /etc/privacyidea/piapp.wsgi
WSGIDaemonProcess privacyidea processes=1 threads=15 display-name=%{GROUP} user=privacyidea
WSGIProcessGroup privacyidea
WSGIPassAuthorization On

Die Direktive WSGIScriptAlias möchte gerne in der ServerConfig oder in einem Virtual Host residieren.
WSGIPythonHome sogar nur in der server config und gibt sich mit einem VIrtual Host nicht zufrieden.

Wie ist für solche Fälle das korrekte Vorgehen?
Ist es legitim eine

    /etc/apache2/sites-available/privacyidea

einfach mit dem o.a. Inhalt zu erzeugen und zu enablen?

Vielen Dank und Gruß
Cornelius


#2

Hallo,

Ja, das ist vollkommen in Ordnung.

Viele Grüße
Dirk Wiesenthal


#3

OK. Das mach ich so.

Nebeneffekt ist natürlich, wenn eine andere App ein anderes WSGIPythonHome braucht, dann kracht’s, da es die Direktive nur einmal im VirtualHost geben kann.

Gibt es Möglichkeiten, das in der App abzufangen?
Oder ist das dann einfach Schicksal, wenn man meint 70 Apps auf einem System parallel installieren zu müssen :wink:

Schönen Gruß
Cornelius


#4

Hallo,

man kann in der ini-Datei einer App angeben, mit welchen anderen Apps man sich nicht verträgt:

ConflictedApps=app1,app2

So kann man ausschließen, dass sich die Konfigurationen in die Quere kommen. Allerdings müsste man dazu die genaue Funktionsweise der Apps kennen. Zur Not kann man dieses Feld auch noch nachtragen, vielleicht findet man dann im speziellen Fall aber auch einen anderen Workaround. Ich würde vorschlagen, zunächst einmal einfach /etc/apache2/sites-available/privacyidea anzulegen.

Viele Grüße
Dirk Wiesenthal


#5

Hallo,

klingt sinnvoll.
Die meisten großen Applikationen verwenden ja, wenn ich das richtig sehe, sowieso PHP oder Perl (OTRS, kivitendo).

Das müsste ja eigentlich übersichtlich sein.
Ich suche mir mal die Dinge raus, die dann wirklich python machen.

Vielen Dank und Gruß
Cornelius
(Wie markiert man einen thread als gelöst?)