Sign inSign up

ubleipzig/httpd

By ubleipzig

•Updated about 8 years ago

web-server for several applications developed at UBL

Image
0

1.3K

ubleipzig/httpd repository overview

⁠httpd

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.

⁠supported tags

⁠Usage of the image

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.

⁠advanced startup

By providing additional start options several features can be used

⁠SSL

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.

⁠Debug

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.

⁠Shibboleth

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

⁠Advanced configuration

  • 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.

Tag summary

Content type

Image

Digest

Size

59.3 MB

Last updated

about 8 years ago

docker pull ubleipzig/httpd