Installation des Oracle HTTP Server mit mod_plsql

Der Apache Webserver mit mod_plsql ist vor allem für APEX-Installationen mit Zugriff aus dem Internet oder für solche mit höheren Anforderungen an die Möglichkeiten des Webservers geeignet. So können mit URL Rewriting des Apache Webservers "sprechende URL" eingerichtet werden, virtuelle Hosts, Proxy-Server und andere Optionen sind kein Thema. Allerdings ist das mod_plsql, welches die eigentliche Verbindung zwischen APEX und dem Apache Webserver herstellt, nur im Apache-Server von Oracle (Oracle HTTP Server, OHS) verfügbar - es kann nicht in eine andere Apache-Variante integriert werden. Insbesondere bei standardisierten Infrastrukturen wird daher vielfach ein zweiter Webserver benötigt, da für den OHS keine Betriebskonzepte vorliegen. Solange der OHS nur für APEX genutzt wird und auf der gleichen Maschine läuft, sind keine separaten Lizenzen erforderlich. Wird der OHS dagegen auf einem anderen Rechner installiert, so sind für diesen Rechner Oracle Fusion Middleware-Lizenzen erforderlich.

Architektur von Application Express mit dem Apache Webserver und mod_plsql

Abbildung 1: Architektur von Application Express mit dem Apache Webserver und mod_plsql

Download und Installation

Der Apache Webserver wird separat heruntergeladen und installiert. Der Download-Link ist auf der OTN-Seite der Oracle-Datenbank enthalten Abbildung 2 zeigt den Link für den Oracle HTTP Server auf der Download-Seite von Oracle11g Release 2 für Windows. Im Gegensatz zu früher trägt das Paket nun den Namen Oracle Fusion Middleware Webtier - der Apache Webserver ist darin enthalten. Allerdings ist die OHS-Version von der Datenbankversion völlig unabhängig, da er in ein eigenes ORACLE_HOME installiert wird. Sie können also durchaus den OHS, den Sie von der Oracle11g-Seite heruntergeladen haben, mit einer Oracle10g-Datenbank verwenden.

Download Oracle HTTP Server (Apache mit mod_plsql)

Abbildung 2: Download Oracle HTTP Server (Apache mit mod_plsql)

Zur Installation des OHS rufen Sie das Installationsprogramm (runInstaller oder setup.exe) im Unterverzeichnis Disk1 auf. Der Installer meldet sich zunächst mit einem Dialog zur Auswahl des Oracle Inventory, danach geht es weiter mit den Installationsarten (Abbildung 3). Wählen Sie dort Install and Configure aus.

Installationsvarianten Fusion Middleware Webtier

Abbildung 3: Installationsvarianten für Fusion Middleware Webtier

Nachdem die Überprüfung der Systemvoraussetzungen erfolgreich war, werden Sie aufgefordert, ein ORACLE_HOME- und ein Oracle Middleware Home Verzeichnis anzugeben. Das Middleware Home ist das Wurzelverzeichnis der gesamten Installation. Der Oracle HTTP Server wird dann ins darunter liegende ORACLE_HOME (in Abbildung 4: Oracle_WT1) installiert. Wichtig: Geben Sie hier nicht das ORACLE_HOME der Datenbank an, sondern ein neues Verzeichnis.

Festlegung von ORACLE_HOME und Oracle Middleware HOME

Abbildung 4: Festlegung von ORACLE_HOME und Oracle Middleware HOME

Im nächsten Dialog, welcher die zu installierenden Komponenten festlegt, wählen Sie nur den Oracle HTTP Server aus - wählen Sie alle anderen Komponenten ab (Abbildung 5).

Zu installierende Komponenten

Abbildung 5: Zu installierende Komponenten

Beim darauf folgenden Dialog wählen Sie Auto Port Configuration aus. Ob Sie danach den Configuration Manager einrichten und das MyOracle Support-Passwort hinterlegen möchten, bleibt Ihnen überlassen - zum Betrieb nötig ist es nicht. Bestätigen Sie schließlich mit Finish die Angaben und warten Sie ab, bis der Installer alle Komponenten installiert und eingerichtet hat (Abbildung 6).

Die Installation wird durchgeführt
Die Installation ist abgeschlossen

Abbildung 6: Die Installation wird durchgeführt

Nach Abschluß der Installation sollte der Oracle HTTP Server auf dem Port 7777 laufen. Das können Sie testen (Abbildung 7).

Test des Oracle HTTP Server

Abbildung 7: Test des Oracle HTTP Server

Einrichten des mod_plsql für APEX

Nach der Installation des Oracle HTTP Server ist das mod_plsql allerdings noch nicht für APEX konfiguriert. Navigieren Sie nun zunächst ins Oracle Middleware Home (Abbildung 4) und dann ins ORACLE_HOME. Alle relevanten Konfigurationsdateien und Startup-Skripte sind im darin befindlichen Unterverzeichnis instances enthalten.

Oracle_WT1
|-- instances 
|   |-- instance1
|   |   |-- OHS
|   |   |-- auditlogs
|   |   |-- bin
|   |   |-- config
|   |   |   |-- OHS
|   |   |   |   `-- apex-ohs
|   |   |   |       |-- admin-bin
:   :   :   :       :   :
|   |   |   |       |-- mime.types
|   |   |   |       |-- mod_plsql
|   |   |   |       |   `-- dads.conf
|   |   |   |       |-- moduleconf
|   |   |   |       |-- proxy-wallet

Navigieren Sie zur Datei dads.conf - dort wird (wie immer) das mod_plsql eingerichtet.

Alias /i/ "/pfad/zum/Verzeichnis/mit/den/Bilddateien/aus/der/APEX/Installation/"

AddType text/xml xbl
AddType text/x-component htc

<Location /apex>
   SetHandler pls_handler
   Order deny,allow
   Allow from all
   AllowOverride None
   PlsqlDatabaseUsername      APEX_PUBLIC_USER
   PlsqlDatabasePassword      password_apex_publicuser_geheim
   PlsqlDatabaseConnectString database-host:1521:orcl
   PlsqlDefaultPage           apex
   PlsqlDocumentTablename     wwv_flow_file_objects$
   PlsqlDocumentPath          docs
   PlsqlDocumentProcedure     wwv_flow_file_manager.process_download
   PlsqlAuthenticationMode    Basic
   PlsqlNLSLanguage           GERMAN_GERMANY.AL32UTF8
</Location>

Natürlich müssen die Bilder und JavaScript-Dateien für den HTTP Server verfügbar gemacht werden. Der in der ersten Zeile definierte Alias /i/ muss auf das Verzeichnis images im heruntergeladenen APEX-Archiv zeigen.

Damit ist die Minimalkonfiguration fertig. Starten Sie den Oracle HTTP Server neu - lokalisieren Sie dazu die ausführbare Datei opmnctl.

Oracle_WT1/
|-- OPatch
:   :
|-- instances
|   `-- instance1
|       |-- OHS
|       |-- auditlogs
|       |-- bin
|       |   `-- opmnctl
|       |-- config
:       :

Starten Sie die Prozesse danach neu ...

$ opmnctl stopall
opmnctl stopall: stopping opmn and all managed processes...

$ opmnctl startall
opmnctl stopall: starting opmn and all managed processes...

$ opmnctl status

Processes in Instance: apex-wt-inst
---------------------------------+--------------------+---------+---------
ias-component                    | process-type       |     pid | status
---------------------------------+--------------------+---------+---------
apex-ohs                         | OHS                |    7160 | Alive

Damit sind Sie fertig. Wenn Sie den Oracle HTTP Server weiter konfigurieren möchten, so finden Sie unterhalb von instances/.../config/OHS die bekannten Dateien zum Einrichten von URL Rewriting, Proxy-Modulen und anderen Apache-Features.

Zurück