web-server for several applications developed at UBL
1.3K
httpd is a webserver container, which delivers file-requests and passes requests through to the php-service. the image is based on debian:stretch-slim.
The image is extended by shibboleth-support which depends on a running container based on ubleipzig/shibboleth though. Furthermore a self-signed certificate was added to the image to provide ssl-reguests.
The image can be used in connection with an application server which can be accessed via proxy-fcgi. The user is responsible for a specific configuration for that, i.e. by creating a new inheriting image, such as ubleipzig/vufind-httpd, which uses the application server (ubleipzig/vufind-php) of VuFind
out-of-the-box the server is only delivering static content. To start the webserver do as follows:
$# docker run --name httpd \
-v /path/to/static/files:/var/www/html \
-p 8:80 \
ubleipzig/httpd
Be aware that the httpd-daemon needs read-access to the files it has to serve.
By providing additional start options several features can be used
To start containers with ssl-support enabled use the following startup command:
$# docker run --name httpd \
-v /path/to/static/files:/var/www/html \
-p 8:80 \
-p 443:443 \
ubleipzig/httpd \
apache2 -D FOREGROUND -D ssl
The files for key and certificate are located under /etc/ssl/private/ssl-cert-snakeoil.key and /etc/ssl/certs/ssl-cert-snakeoil.pem. If you want to provide a real certificate, you have to overwrite these files or create a custom configuration.
To prevent timeouts in debug-sessions the httpd-daemon can be started as follows:
$# docker run --name httpd \
-v /path/to/static/files:/var/www/html \
-p 8:80 \
ubleipzig/httpd \
apache2 -D FOREGROUND -D debug
By this the directive ProxyTimeout 3600 is set, which increases the timeout for (FCGI-)Proxy-Requests to one hour.
In order to use shibboleth we depend on a configured up and running shibboleth-authenticator - accessable at /var/run/shibd.sock. You can get one for example by creating a container based on the image ubleipzig/shibboleth and link it into the httpd-container at startup:
$# docker run --name httpd \
-v /path/to/static/files:/var/www/html \
-p 8:80 \
--volumes-from shibboleth \
ubleipzig/httpd \
apache2 -D FOREGROUND -D shibboleth
SHIB_HANDLER_URL=/Shibboleth.sso: where apache's sibboleth-handler listens. only with -D shibboleth.APACHE_RUN_DIR=/var/run/apache2: the working directory of the httpd-daemon. almost always unnecessary to change. know, what you do.APACHE_RUN_USER=www-data: the user the httpd-daemon runs with. almost always unnecessary to change. know, what you do.APACHE_RUN_GROUP=www-data: the group the httpd-daemon runs with. almost always unnecessary to change. know, what you do.APACHE_DOC_ROOT=/var/www/html: the document root of the content to deliver.Content type
Image
Digest
Size
59.3 MB
Last updated
about 8 years ago
docker pull ubleipzig/httpd