diff --git a/Dockerfile.slim.apache b/Dockerfile.slim.apache index 822e93f..b50f33e 100644 --- a/Dockerfile.slim.apache +++ b/Dockerfile.slim.apache @@ -14,6 +14,8 @@ ARG PHP_VERSION ARG TARGETOS ARG TARGETARCH ARG BLACKFIRE_VERSION=1 +ARG APACHE_PORT=80 +ARG APACHE_PORT_HTTPS=443 ONBUILD ARG TARGETOS=${TARGETOS} ONBUILD ARG TARGETARCH=${TARGETARCH} ONBUILD ARG BLACKFIRE_VERSION=${BLACKFIRE_VERSION} @@ -22,6 +24,8 @@ ENV TARGETOS=${TARGETOS} ENV TARGETARCH=${TARGETARCH} ENV BLACKFIRE_VERSION=${BLACKFIRE_VERSION} ENV PHP_VERSION=${PHP_VERSION} +ENV APACHE_PORT=${APACHE_PORT} +ENV APACHE_PORT_HTTPS=${APACHE_PORT_HTTPS} # |-------------------------------------------------------------------------- # | Main PHP extensions @@ -207,7 +211,7 @@ STOPSIGNAL SIGWINCH COPY utils/apache2-foreground /usr/local/bin/ -EXPOSE 80 +EXPOSE ${APACHE_PORT} ${APACHE_PORT_HTTPS} ENV APACHE_DOCUMENT_ROOT= diff --git a/Dockerfile.slim.cli b/Dockerfile.slim.cli index 6e83f27..e01cf8a 100644 --- a/Dockerfile.slim.cli +++ b/Dockerfile.slim.cli @@ -14,6 +14,8 @@ ARG PHP_VERSION ARG TARGETOS ARG TARGETARCH ARG BLACKFIRE_VERSION=1 +ARG APACHE_PORT=80 +ARG APACHE_PORT_HTTPS=443 ONBUILD ARG TARGETOS=${TARGETOS} ONBUILD ARG TARGETARCH=${TARGETARCH} ONBUILD ARG BLACKFIRE_VERSION=${BLACKFIRE_VERSION} @@ -22,6 +24,8 @@ ENV TARGETOS=${TARGETOS} ENV TARGETARCH=${TARGETARCH} ENV BLACKFIRE_VERSION=${BLACKFIRE_VERSION} ENV PHP_VERSION=${PHP_VERSION} +ENV APACHE_PORT=${APACHE_PORT} +ENV APACHE_PORT_HTTPS=${APACHE_PORT_HTTPS} # |-------------------------------------------------------------------------- # | Main PHP extensions diff --git a/Dockerfile.slim.fpm b/Dockerfile.slim.fpm index 69ae603..a4c75e4 100644 --- a/Dockerfile.slim.fpm +++ b/Dockerfile.slim.fpm @@ -14,6 +14,8 @@ ARG PHP_VERSION ARG TARGETOS ARG TARGETARCH ARG BLACKFIRE_VERSION=1 +ARG APACHE_PORT=80 +ARG APACHE_PORT_HTTPS=443 ONBUILD ARG TARGETOS=${TARGETOS} ONBUILD ARG TARGETARCH=${TARGETARCH} ONBUILD ARG BLACKFIRE_VERSION=${BLACKFIRE_VERSION} @@ -22,6 +24,8 @@ ENV TARGETOS=${TARGETOS} ENV TARGETARCH=${TARGETARCH} ENV BLACKFIRE_VERSION=${BLACKFIRE_VERSION} ENV PHP_VERSION=${PHP_VERSION} +ENV APACHE_PORT=${APACHE_PORT} +ENV APACHE_PORT_HTTPS=${APACHE_PORT_HTTPS} # |-------------------------------------------------------------------------- # | Main PHP extensions diff --git a/utils/Dockerfile.slim.blueprint b/utils/Dockerfile.slim.blueprint index fd50d14..5d3bece 100644 --- a/utils/Dockerfile.slim.blueprint +++ b/utils/Dockerfile.slim.blueprint @@ -13,6 +13,8 @@ ARG PHP_VERSION ARG TARGETOS ARG TARGETARCH ARG BLACKFIRE_VERSION=1 +ARG APACHE_PORT=80 +ARG APACHE_PORT_HTTPS=443 ONBUILD ARG TARGETOS=${TARGETOS} ONBUILD ARG TARGETARCH=${TARGETARCH} ONBUILD ARG BLACKFIRE_VERSION=${BLACKFIRE_VERSION} @@ -21,6 +23,8 @@ ENV TARGETOS=${TARGETOS} ENV TARGETARCH=${TARGETARCH} ENV BLACKFIRE_VERSION=${BLACKFIRE_VERSION} ENV PHP_VERSION=${PHP_VERSION} +ENV APACHE_PORT=${APACHE_PORT} +ENV APACHE_PORT_HTTPS=${APACHE_PORT_HTTPS} # |-------------------------------------------------------------------------- # | Main PHP extensions @@ -206,7 +210,7 @@ STOPSIGNAL SIGWINCH COPY utils/apache2-foreground /usr/local/bin/ -EXPOSE 80 +EXPOSE ${APACHE_PORT} ${APACHE_PORT_HTTPS} ENV APACHE_DOCUMENT_ROOT= diff --git a/utils/README.blueprint.md b/utils/README.blueprint.md index 3298830..29c3c18 100644 --- a/utils/README.blueprint.md +++ b/utils/README.blueprint.md @@ -242,6 +242,17 @@ APACHE_DOCUMENT_ROOT=public/ APACHE_DOCUMENT_ROOT=/var/www/html/public ``` +## Changing Apache default ports + +For the *apache* variant, you can change the default ports of Apache by using the `APACHE_PORT` and `APACHE_PORT_HTTPS` variables: + +```bash +# The default port of Apache is 80 +APACHE_PORT=8080 +# The default SSL port of Apache is 443 +APACHE_PORT_HTTPS=8443 +``` + ## Enabling/disabling Apache extensions You can enable/disable Apache extensions using the `APACHE_EXTENSION_[extension_name]` environment variable. diff --git a/utils/docker-entrypoint-as-root.sh b/utils/docker-entrypoint-as-root.sh index 70f2eb8..8e95244 100755 --- a/utils/docker-entrypoint-as-root.sh +++ b/utils/docker-entrypoint-as-root.sh @@ -147,6 +147,16 @@ else export ABSOLUTE_APACHE_DOCUMENT_ROOT="/var/www/html/$APACHE_DOCUMENT_ROOT" fi +if [[ "$APACHE_PORT" != "80" ]]; then + sudo sed -i 's/Listen 80/Listen \${APACHE_PORT}/g' /etc/apache2/ports.conf && \ + sudo sed -i 's/VirtualHost *:80/VirtualHost *:\${APACHE_PORT}/g' /etc/apache2/sites-available/000-default.conf +fi + +if [[ "$APACHE_PORT_HTTPS" != "443" ]]; then + sudo sed -i 's/Listen 443/Listen \${APACHE_PORT_HTTPS}/g' /etc/apache2/ports.conf && \ + sudo sed -i 's/VirtualHost _default_:443/VirtualHost _default_:\${APACHE_PORT_HTTPS}/g' /etc/apache2/sites-available/default-ssl.conf +fi + # We should run the command with the user of the directory... (unless this is Apache, that must run as root...) if [[ "$@" == "apache2-foreground" ]]; then /usr/local/bin/apache-expose-envvars.sh;