OSGi kann über den Http-Service einen eigenen Webserver anbieten. Dieser ist über einen eigenen (konfigurierbaren) Port erreichbar. Damit der OSGi Http-Service direkt ohne Angabe des Ports erreichbar ist, muss Apache dazu gebracht werden als Proxy hierfür zu arbeiten. Dazu sind folgende Schritte auszuführen:
Das Beispiel gilt für die Domain service.communitymashup.net mit dem OSGi Http-Service auf Port 8088.
Apache Proxy Modul zur Apache-Konfiguration hinzufügen
a2enmod proxy a2enmod proxy_http
In den Apache-Sites für eine bestimmte Domäne den Proxy konfigurieren
Verzeichnis: /etc/apache2/sites-available:
- Neue Datei domain.conf anlegen (z.B. mashup.cscwlab.de.conf)
Inhalt:
ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://localhost:8088/ ProxyPassReverse / http://localhost:8088/ <Location /> Order allow,deny Allow from all </Location>
Enable site
a2esite mashup.cscwlab.de.conf
Konfiguration testen
- Abschliessend die Syntax der Apache Konfiguration httpd.conf überprüfen
apache2ctl configtest
Apache neu starten
- Mit dem Neustart wird der Proxy der vhost.conf aktiviert
service apache2 restart