|
|
|
@ -1,10 +1,11 @@
|
|
|
|
|
FROM httpd:alpine
|
|
|
|
|
|
|
|
|
|
# This variable is inherited from httpd:alpine image:
|
|
|
|
|
# These variables are inherited from the httpd:alpine image:
|
|
|
|
|
# ENV HTTPD_PREFIX /usr/local/apache2
|
|
|
|
|
# WORKDIR "$HTTPD_PREFIX"
|
|
|
|
|
|
|
|
|
|
# Copy in our configuration files.
|
|
|
|
|
COPY conf/ "$HTTPD_PREFIX/conf/"
|
|
|
|
|
COPY conf/ conf/
|
|
|
|
|
|
|
|
|
|
RUN set -ex; \
|
|
|
|
|
# Create empty default DocumentRoot.
|
|
|
|
@ -16,35 +17,35 @@ RUN set -ex; \
|
|
|
|
|
\
|
|
|
|
|
# Enable DAV modules.
|
|
|
|
|
for i in dav dav_fs; do \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "conf/httpd.conf"; \
|
|
|
|
|
done; \
|
|
|
|
|
\
|
|
|
|
|
# Make sure authentication modules are enabled.
|
|
|
|
|
for i in authn_core authn_file authz_core authz_user auth_basic auth_digest; do \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "conf/httpd.conf"; \
|
|
|
|
|
done; \
|
|
|
|
|
\
|
|
|
|
|
# Make sure other modules are enabled.
|
|
|
|
|
for i in alias headers mime setenvif; do \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
sed -i -e "/^#LoadModule ${i}_module.*/s/^#//" "conf/httpd.conf"; \
|
|
|
|
|
done; \
|
|
|
|
|
\
|
|
|
|
|
# Run httpd as "www-data" (instead of "daemon").
|
|
|
|
|
for i in User Group; do \
|
|
|
|
|
sed -i -e "s|^$i .*|$i www-data|" "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
sed -i -e "s|^$i .*|$i www-data|" "conf/httpd.conf"; \
|
|
|
|
|
done; \
|
|
|
|
|
\
|
|
|
|
|
# Include enabled configs and sites.
|
|
|
|
|
printf '%s\n' "Include conf/conf-enabled/*.conf" \
|
|
|
|
|
>> "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
>> "conf/httpd.conf"; \
|
|
|
|
|
printf '%s\n' "Include conf/sites-enabled/*.conf" \
|
|
|
|
|
>> "$HTTPD_PREFIX/conf/httpd.conf"; \
|
|
|
|
|
>> "conf/httpd.conf"; \
|
|
|
|
|
\
|
|
|
|
|
# Enable dav and default site.
|
|
|
|
|
mkdir -p "$HTTPD_PREFIX/conf/conf-enabled"; \
|
|
|
|
|
mkdir -p "$HTTPD_PREFIX/conf/sites-enabled"; \
|
|
|
|
|
ln -s ../conf-available/dav.conf "$HTTPD_PREFIX/conf/conf-enabled"; \
|
|
|
|
|
ln -s ../sites-available/default.conf "$HTTPD_PREFIX/conf/sites-enabled"; \
|
|
|
|
|
mkdir -p "conf/conf-enabled"; \
|
|
|
|
|
mkdir -p "conf/sites-enabled"; \
|
|
|
|
|
ln -s ../conf-available/dav.conf "conf/conf-enabled"; \
|
|
|
|
|
ln -s ../sites-available/default.conf "conf/sites-enabled"; \
|
|
|
|
|
# Install openssl if we need to generate a self-signed certificate.
|
|
|
|
|
apk add --no-cache openssl
|
|
|
|
|
|
|
|
|
|