2
0

startup.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #!/bin/bash -e
  2. # set -x (bash debug) if log level is trace
  3. # https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
  4. log-helper level eq trace && set -x
  5. www_data_homedir=$( getent passwd "www-data" | cut -d: -f6 )
  6. FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-ldap-client-first-start-done"
  7. # container first start
  8. if [ ! -e "$FIRST_START_DONE" ]; then
  9. if [ "${PHPLDAPADMIN_LDAP_CLIENT_TLS,,}" == "true" ]; then
  10. # generate a certificate and key if files don't exists
  11. # https://github.com/osixia/docker-light-baseimage/blob/stable/image/service-available/:ssl-tools/assets/tool/ssl-helper
  12. ssl-helper ${LDAP_CLIENT_SSL_HELPER_PREFIX} "${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME}" "${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME}" "${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME}"
  13. # ldap client config
  14. sed -i --follow-symlinks "s,TLS_CACERT.*,TLS_CACERT ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME},g" /etc/ldap/ldap.conf
  15. echo "TLS_REQCERT $PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT" >> /etc/ldap/ldap.conf
  16. cp -f /etc/ldap/ldap.conf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/ldap.conf
  17. [[ -f "$www_data_homedir/.ldaprc" ]] && rm -f $www_data_homedir/.ldaprc
  18. echo "TLS_CERT ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME}" > $www_data_homedir/.ldaprc
  19. echo "TLS_KEY ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME}" >> $www_data_homedir/.ldaprc
  20. cp -f $www_data_homedir/.ldaprc ${CONTAINER_SERVICE_DIR}/ldap-client/assets/.ldaprc
  21. chown www-data:www-data -R ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/
  22. fi
  23. touch $FIRST_START_DONE
  24. fi
  25. ln -sf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/.ldaprc $www_data_homedir/.ldaprc
  26. ln -sf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/ldap.conf /etc/ldap/ldap.conf
  27. exit 0