@@ -27,13 +27,21 @@ if [ ! -e "$FIRST_START_DONE" ]; then
2727 cp -R /var/www/phpldapadmin_bootstrap/* /var/www/phpldapadmin
2828 rm -rf /var/www/phpldapadmin_bootstrap
2929
30+ echo " link /container/service/phpldapadmin/assets/config.php to /var/www/phpldapadmin/config/config.php"
31+ ln -s /container/service/phpldapadmin/assets/config.php /var/www/phpldapadmin/config/config.php
32+
3033 get_salt () {
3134 salt=$( < /dev/urandom tr -dc ' 1324567890#<>,()*.^@$% =-_~;:/{}[]+!`azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN' | head -c64 | tr -d ' \\' )
3235 }
3336
3437 # phpLDAPadmin cookie secret
3538 get_salt
36- sed -i " s|{{ PHPMYADMIN_CONFIG_BLOWFISH }}|${salt} |g" /var/www/phpldapadmin/config/config.php
39+ sed -i " s|{{ PHPLDAPADMIN_CONFIG_BLOWFISH }}|${salt} |g" /var/www/phpldapadmin/config/config.php
40+
41+ append_to_servers () {
42+ TO_APPEND=$1
43+ sed -i " s|{{ PHPLDAPADMIN_SERVERS }}|${TO_APPEND} \n{{ PHPLDAPADMIN_SERVERS }}|g" /var/www/phpldapadmin/config/config.php
44+ }
3745
3846 print_by_php_type () {
3947
@@ -81,12 +89,12 @@ if [ ! -e "$FIRST_START_DONE" ]; then
8189 # the value contain a not empty variable
8290 elif [ -n " ${! value} " ]; then
8391 local php_value=$( print_by_php_type ${! value} )
84- echo " \$ servers->setValue($to_print '$key ',$php_value );" >> /var/www/phpldapadmin/config/config.php
92+ append_to_servers " \$ servers->setValue($to_print '$key ',$php_value );"
8593
8694 # it's just a not empty value
8795 elif [ -n " $value " ]; then
8896 local php_value=$( print_by_php_type $value )
89- echo " \$ servers->setValue($to_print '$key ',$php_value );" >> /var/www/phpldapadmin/config/config.php
97+ append_to_servers " \$ servers->setValue($to_print '$key ',$php_value );"
9098 fi
9199 }
92100
@@ -98,46 +106,48 @@ if [ ! -e "$FIRST_START_DONE" ]; then
98106 # host var contain a variable name, we access to the variable value and cast it to a table
99107 infos=(${! host} )
100108
101- echo " \$ servers->newServer('ldap_pla');" >> /var/www/phpldapadmin/config/config.php
109+ append_to_servers " \$ servers->newServer('ldap_pla');"
102110
103111 # it's a table of infos
104112 if [ " ${# infos[@]} " -gt " 1" ]; then
105- echo " \$ servers->setValue('server','name','${! infos[0]} ');" >> /var/www/phpldapadmin/config/config.php
106- echo " \$ servers->setValue('server','host','${! infos[0]} ');" >> /var/www/phpldapadmin/config/config.php
113+ append_to_servers " \$ servers->setValue('server','name','${! infos[0]} ');"
114+ append_to_servers " \$ servers->setValue('server','host','${! infos[0]} ');"
107115 host_infos " " ${infos[1]}
108116
109117 # it's just a host name
110118 # stored in a variable
111119 elif [ -n " ${! host} " ]; then
112- echo " \$ servers->setValue('server','name','${! host} ');" >> /var/www/phpldapadmin/config/config.php
113- echo " \$ servers->setValue('server','host','${! host} ');" >> /var/www/phpldapadmin/config/config.php
120+ append_to_servers " \$ servers->setValue('server','name','${! host} ');"
121+ append_to_servers " \$ servers->setValue('server','host','${! host} ');"
114122
115123 # directly
116124 else
117- echo " \$ servers->setValue('server','name','${host} ');" >> /var/www/phpldapadmin/config/config.php
118- echo " \$ servers->setValue('server','host','${host} ');" >> /var/www/phpldapadmin/config/config.php
125+ append_to_servers " \$ servers->setValue('server','name','${host} ');"
126+ append_to_servers " \$ servers->setValue('server','host','${host} ');"
119127 fi
120128 done
121129
122- if [ " ${PHPLDAPADMIN_LDAP_CLIENT_TLS,,} " == " true " ] ; then
130+ sed -i " /{{ PHPLDAPADMIN_SERVERS }}/d " /var/www/phpldapadmin/config/config.php
123131
124- # check certificat and key or create it
125- /sbin/ssl-helper " /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME} " " /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME} " --ca-crt=/container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME} --gnutls
132+ fi
126133
127- # ldap client config
128- sed -i " s,TLS_CACERT.*,TLS_CACERT /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME} ,g" /etc/ldap/ldap.conf
129- echo " TLS_REQCERT $PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT " >> /etc/ldap/ldap.conf
134+ if [ " ${PHPLDAPADMIN_LDAP_CLIENT_TLS,,} " == " true" ]; then
130135
131- www_data_homedir=$( getent passwd " www-data" | cut -d: -f6 )
136+ # check certificat and key or create it
137+ /sbin/ssl-helper " /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME} " " /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME} " --ca-crt=/container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME} --gnutls
132138
133- [[ -f " $www_data_homedir /.ldaprc" ]] && rm -f $www_data_homedir /.ldaprc
134- touch $www_data_homedir /.ldaprc
135- echo " TLS_CERT /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME} " >> $www_data_homedir /.ldaprc
136- echo " TLS_KEY /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME} " >> $www_data_homedir /.ldaprc
139+ # ldap client config
140+ sed -i " s,TLS_CACERT.*,TLS_CACERT /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CA_CRT_FILENAME} ,g" /etc/ldap/ldap.conf
141+ echo " TLS_REQCERT $PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT " >> /etc/ldap/ldap.conf
137142
138- chown www-data:www-data -R /container/service/phpldapadmin/assets/ldap-client/certs/
139- fi
143+ www_data_homedir=$( getent passwd " www-data" | cut -d: -f6 )
144+
145+ [[ -f " $www_data_homedir /.ldaprc" ]] && rm -f $www_data_homedir /.ldaprc
146+ touch $www_data_homedir /.ldaprc
147+ echo " TLS_CERT /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME} " >> $www_data_homedir /.ldaprc
148+ echo " TLS_KEY /container/service/phpldapadmin/assets/ldap-client/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME} " >> $www_data_homedir /.ldaprc
140149
150+ chown www-data:www-data -R /container/service/phpldapadmin/assets/ldap-client/certs/
141151 fi
142152
143153 # fix file permission
0 commit comments