-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
58 lines (49 loc) · 2.26 KB
/
Dockerfile
File metadata and controls
58 lines (49 loc) · 2.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
FROM httpd:2.4.66
LABEL org.opencontainers.image.title="httpd"
LABEL org.opencontainers.image.description="Opinionated httpd 2.4 container for development including SSL and PHP-FPM support"
LABEL org.opencontainers.image.authors="acceseo Projects S.L."
LABEL org.opencontainers.image.url="https://github.com/acceseo/httpd"
LABEL org.opencontainers.image.licenses="MIT"
ENV HTTPD_SERVERNAME=localhost
ENV HTTPD_APP_DIRECTORY=/app
ENV HTTPD_FPM_HANDLER=php.local:9000
ENV HTTPD_TIMEOUT=60
ENV TZ=Europe/Madrid
RUN mkdir -p ${HTTPD_APP_DIRECTORY}
RUN apt-get update && apt-get install -y ssl-cert
RUN sed -i \
# Load httpd-default.conf
-e 's/^#\(Include .*httpd-default.conf\)/\1/' \
# Load httpd-mpm.conf
-e 's/^#\(Include .*httpd-mpm.conf\)/\1/' \
# Enable SSL
-e 's/^#\(Include .*httpd-ssl.conf\)/\1/' \
-e 's/^#\(LoadModule .*mod_ssl.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_socache_shmcb.so\)/\1/' \
# Enable rewrite
-e 's/^#\(LoadModule .*mod_rewrite.so\)/\1/' \
# Enable FCGI
-e 's/^#\(LoadModule .*mod_proxy.so\)/\1/' \
-e 's/^#\(LoadModule .*mod_proxy_fcgi.so\)/\1/' \
# Disable autoindex
-e 's/^\(LoadModule .*mod_autoindex.so\)/#&/' \
-e 's/DirectoryIndex index.html/DirectoryIndex index.php/' \
# Set ServerName
-e 's/^#ServerName www.example.com:80/ServerName \${HTTPD_SERVERNAME}:80/' \
# Set app directory
-e 's/\/usr\/local\/apache2\/htdocs/\${HTTPD_APP_DIRECTORY}/' \
conf/httpd.conf
RUN sed -i \
# Set ServerName
-e 's/^ServerName www.example.com:443/ServerName \${HTTPD_SERVERNAME}:443/' \
# Set app directory
-e 's/\/usr\/local\/apache2\/htdocs/\${HTTPD_APP_DIRECTORY}/' \
# Set certificate path
-e 's/\/usr\/local\/apache2\/conf\/server.key/\/etc\/ssl\/private\/ssl-cert-snakeoil.key/' \
-e 's/\/usr\/local\/apache2\/conf\/server.crt/\/etc\/ssl\/certs\/ssl-cert-snakeoil.pem/' \
conf/extra/httpd-ssl.conf
COPY httpd-fpm.conf /usr/local/apache2/conf/extra/httpd-fpm.conf
RUN echo "Include conf/extra/httpd-fpm.conf" >> /usr/local/apache2/conf/httpd.conf
COPY httpd-directory.conf /usr/local/apache2/conf/extra/httpd-directory.conf
RUN echo "Include conf/extra/httpd-directory.conf" >> /usr/local/apache2/conf/httpd.conf
RUN echo 'TimeOut ${HTTPD_TIMEOUT}' >> conf/httpd.conf