Dockerfile 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. FROM alpine:latest
  2. RUN apk --no-cache add php7-apache2 phpldapadmin
  3. ENV LDAP_SERVER='ldaps:\/\/ldap.slurm.ch:636'
  4. ENV LDAPROOT=dc=slurm,dc=ch
  5. ENV LDAP_PORT=0
  6. ENV LDAP_TLS=false
  7. ENV LDAP_SERVER_NAME="Slurm Data Center"
  8. # Link the LDAP gui from the install dir to the Apache default HTML directory
  9. RUN mkdir -p /run/apache2 &&\
  10. rm -rf /var/www/localhost/htdocs &&\
  11. ln -sf /usr/share/webapps/phpldapadmin/htdocs/ /var/www/localhost/
  12. # Change the default config. Key points:
  13. # - Config the server, the bind_id
  14. # - TLS must be false for ldaps://
  15. # - Allow .htaccess in Apache2.
  16. RUN cp /etc/phpldapadmin/config.php.example /etc/phpldapadmin/config.php &&\
  17. sed -i "/'server','host','127.0.0.1'/ s#// ##" /etc/phpldapadmin/config.php && \
  18. sed -i "s/127.0.0.1/${LDAP_SERVER}/" /etc/phpldapadmin/config.php && \
  19. sed -i "/'server','base'/ s/array('')/array('${LDAPROOT}')/" /etc/phpldapadmin/config.php && \
  20. sed -i "/'server','port'/ s/389/${LDAP_PORT}/" /etc/phpldapadmin/config.php && \
  21. sed -i "/'login','bind_id'/ s/''/'cn=Manager,${LDAPROOT}'/" /etc/phpldapadmin/config.php && \
  22. sed -i "/'server','tls'/ s/false/${LDAP_TLS}/" /etc/phpldapadmin/config.php && \
  23. sed -i "s/My LDAP Server/${LDAP_SERVER_NAME}/" /etc/phpldapadmin/config.php && \
  24. sed -i "s#AllowOverride none#AllowOverride All#" /etc/apache2/httpd.conf
  25. # Tell the ldap client about the self-signed TLS CA certificate
  26. RUN echo "TLS_CACERT /etc/ssl/certs/CAself-cert.pem" >> /etc/openldap/ldap.conf
  27. CMD ["httpd","-D","FOREGROUND"]