APPLICATION_ENV

Mit Hilfe der Environmentvariable APPLICATION_ENV kann OPUS zwischen Konfigurationen für unterschiedliche Umgebungen umgeschaltet werden. Die Konfigurationsdateien, wie config.ini und application.ini (intern genutzt) enthalten mehrere Bereiche mit Einstellungen für unterschiedliche Umgebungen. Die unterstützen Umgebungen sind:

Wert Beschreibung
production Normalbetrieb einer Instanz (default)
staging Produktive “Testinstanz”
development Spezielle Einstellungen für die Entwicklung
testing Einstellungen für Tests, insbesondere Continuous Integration

Im Normalfall läuft OPUS 4 im production Modus für Instanzen die sich im produktiven Betrieb befinden.

Alle anderen Modi erben die Einstellungen aus production, modifizieren aber die einige Optionen. Zum Beispiel sind im testing Modus die Sicherheitsprüfungen abgeschaltet. Dieser sollte also nicht für normale Instanzen verwendet werden.

Die Einstellungen staging und development werden momentan nicht weiter verwendet. Für normale Instanzen wird production verwendet. In der Entwicklung in der Regel testing.

Es kann nicht einfach eine weitere Umgebungen zur config.ini hinzugefügt werden. Die verfügbaren Umgebungen müssen in allen verwendeten Konfigurationsdateien gleich sein, da es sonst zu Fehlern beim laden der Dateien kommt. In der Regel sollten die vier verschiedenen Modi für jede Instanz ausreichend sein.

Umgebung ändern

Die Einstellung kann in der Apache2 Konfiguration (z.B. apacheconf/apache.conf) geändert werden in folgender Zeile das Kommentarzeichen entfernt und der Wert editiert wird.

# SetEnv APPLICATION_ENV testing

Diese Einstellung greift aber nur bei Requests durch den Webserver. Dieser muss nach einer Änderung neu gestartet werden. Zum Beispiel mit:

$ sudo service apache2 restart

Um die Umgebung für die OPUS Skripte, die auf der Console ausgeführt werden, zu ändern, muss entweder folgende Datei editiert werden

scripts/common/bootstap.php

oder es muss die Umgebungsvariable mit dem selben Namen gesetzt werden, z.B. in der .bashrc Datei.

export APPLICATION_ENV = testing

Bei allen Einstellungen außer production wird die Kopfzeile der Webseiten rot hervorgehoben mit der Mitteilung, daß die Instanz nicht mit den Produktiveinstellungen läuft. Das soll verhindern, daß eine Instanz ausversehen mit den falschen Einstellung und somit z.B. ohne Sicherheitsfunktionen läuft.