FROM debian:jessie
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
#RUN groupadd -r www-data && useradd -r --create-home -g www-data www-data
ENV HTTPD_PREFIX
/usr/local/apache2
ENV PATH $PATH:$HTTPD_PREFIX
/bin
RUN
mkdir
-p
"$HTTPD_PREFIX"
\
&&
chown
www-data:www-data
"$HTTPD_PREFIX"
WORKDIR $HTTPD_PREFIX
# install httpd runtime dependencies
# https://httpd.apache.org/docs/2.4/install.html#requirements
RUN apt-get update \
&& apt-get
install
-y --no-
install
-recommends \
libapr1 \
libaprutil1 \
libaprutil1-ldap \
libapr1-dev \
libaprutil1-dev \
libpcre++0 \
libssl1.0.0 \
&&
rm
-r
/var/lib/apt/lists/
*
ENV HTTPD_VERSION 2.4.20
ENV HTTPD_BZ2_URL https:
//www
.apache.org
/dist/httpd/httpd-
$HTTPD_VERSION.
tar
.bz2
RUN buildDeps=' \
ca-certificates \
curl \
bzip2
\
gcc \
libpcre++-dev \
libssl-dev \
make
\
' \
set
-x \
&& apt-get update \
&& apt-get
install
-y --no-
install
-recommends $buildDeps \
&&
rm
-r
/var/lib/apt/lists/
* \
\
&& curl -fSL
"$HTTPD_BZ2_URL"
-o httpd.
tar
.bz2 \
&& curl -fSL
"$HTTPD_BZ2_URL.asc"
-o httpd.
tar
.bz2.asc \
# see https://httpd.apache.org/download.cgi#verify
&&
export
GNUPGHOME=
"$(mktemp -d)"
\
&& gpg --keyserver ha.pool.sks-keyservers.net --recv-keys A93D62ECC3C8EA12DB220EC934EA76E6791485A8 \
&& gpg --batch --verify httpd.
tar
.bz2.asc httpd.
tar
.bz2 \
&&
rm
-r
"$GNUPGHOME"
httpd.
tar
.bz2.asc \
\
&&
mkdir
-p src \
&&
tar
-xvf httpd.
tar
.bz2 -C src --strip-components=1 \
&&
rm
httpd.
tar
.bz2 \
&&
cd
src \
\
&& .
/configure
\
--prefix=
"$HTTPD_PREFIX"
\
--
enable
-mods-shared=reallyall \
&&
make
-j
"$(nproc)"
\
&&
make
install
\
\
&&
cd
.. \
&&
rm
-r src \
\
&&
sed
-ri \
-e
's!^(\s*CustomLog)\s+\S+!\1 /proc/self/fd/1!g'
\
-e
's!^(\s*ErrorLog)\s+\S+!\1 /proc/self/fd/2!g'
\
"$HTTPD_PREFIX/conf/httpd.conf"
\
\
&& apt-get purge -y --auto-remove $buildDeps
COPY httpd-foreground
/usr/local/bin/
EXPOSE 80
CMD [
"httpd-foreground"
]