-
Notifications
You must be signed in to change notification settings - Fork 0
Apache
WIP
apt-get -y -qq install \
apache2 \
apache2-bin \
apache2-data \
apache2-utils
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_balancer
a2enmod lbmethod_byrequests
a2enmod headers
This can be used to validate configs etc, Apache is not running as a service in Docker!
apachectl restart
Apache runs as www-data in Ubuntu. To check access to dirs: sudo -u www-data ls /src.
OGo WebServerResources should be served by a web server :-)
The default Ubuntu Apache config is in /etc/apache2, a vhost in /etc/apache2/sites-available/000-default.conf.
The port the server is running on is set in /etc/apache2/ports.conf (defaults to 80, might be better to set to sth else for Docker, e.g. 12000).
The virtual host needs:
<Directory "/src/OpenGroupware.org/Themes/WebServerResources/">
Require all granted
</Directory>
Alias /OpenGroupware55.woa/WebServerResources/ \
/src/OpenGroupware.org/Themes/WebServerResources/
Test: http://localhost:12000/OpenGroupware55.woa/WebServerResources/English.lproj/OGo.css
WIP
RequestHeader add x-webobjects-server-protocol http
RequestHeader add x-webobjects-server-url http://localhost:12000
RequestHeader add x-webobjects-server-port 12000
RequestHeader add x-webobjects-server-name localhost
Header add Set-Cookie "OGOROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
<Proxy balancer://mycluster>
BalancerMember http://localhost:12001 route=1
ProxySet stickysession=OGOROUTEID
</Proxy>
ProxyPass /OpenGroupware balancer://mycluster/OpenGroupware
ProxyPassReverse /OpenGroupware balancer://mycluster/OpenGroupware
ProxyPass /OpenGroupware.woa balancer://mycluster/OpenGroupware.woa
ProxyPassReverse /OpenGroupware.woa balancer://mycluster/OpenGroupware.woa
ProxyPass /OpenGroupware55.woa balancer://mycluster/OpenGroupware55.woa
ProxyPassReverse /OpenGroupware55.woa balancer://mycluster/OpenGroupware55.woa
ProxyPass /ogo-webui-5 balancer://mycluster/ogo-webui-5
ProxyPassReverse /ogo-webui-5 balancer://mycluster/ogo-webui-5
ProxyPass /ogo-webui-5.woa balancer://mycluster/ogo-webui-5.woa
ProxyPassReverse /ogo-webui-5.woa balancer://mycluster/ogo-webui-5.woa
That is an own proxy module, but it shouldn't be required anymore w/ mod_proxy/mod_balancer and the improved HTTP backend of gstep-base/SOPE.
It was setting some special "WebObjects" request headers, which might be useful to emulate in mod_proxy (via e.g. RequestHeader add x-webobjects-server-protocol https).
Headers (w/ the Apache API they used):
-
x-webobjects-server-protocol,r->protocol:http/https -
x-webobjects-remote-addr:r->connection->remote_ip -
x-webobjects-remote-host:r->connection->remote_host, ip as fallback -
x-webobjects-auth-type:r->ap_auth_type -
x-webobjects-adaptor-prefix: mod_ngobjweb configuration (appPrefix) x-webobjects-server-name-
x-webobjects-server-port:r->server->port -
x-webobjects-server-url:ap_http_method(r),r->server->server_hostname,r->server->port -
x-webobjects-https-enabled:apr_table_get(env, "HTTPS") -
x-webobjects-clients-cert:apr_table_get(env, "SSL_CLIENT_CERT") -
x-webobjects-https-keysize:apr_table_get(env, "SSL_CIPHER_USEKEYSIZE")
-
SetAppPort"the path of the Unix domain address to use (eg /tmp/.OGo)" -
SetAppPrefix"any prefix that is before the app name (eg /MyDir with /MyDir/MyApp.woa)" -
SetSNSPort(for snsd, proprietary, "the path of the Unix domain address to use (eg /tmp/.snsd)") -
SNSUseHTTP"use HTTP protocol to query snsd (on,off)
- old Apache 1.3 OGo docs w/ mod_ngobjweb: http://www.opengroupware.org/en/install/apache13.html