Skip to content

Commit d3875df

Browse files
committed
docs + allow --copy-service
1 parent 528dc09 commit d3875df

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ but setting your own config.php is possible. 2 options:
6868

6969
docker run -v /data/my-config.php:/container/service/phpldapadmin/assets/config.php --detach osixia:phpldapadmin:0.6.7
7070

71-
- Add your config file by extentending or cloning this image, please refer to the [Advanced User Guide](#advanced-user-guide)
71+
- Add your config file by extending or cloning this image, please refer to the [Advanced User Guide](#advanced-user-guide)
7272

7373
### HTTPS
7474

image/service/ldap-client/startup.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
55
log-helper level eq trace && set -x
66

7-
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-ldap-client-first-start-done"
7+
www_data_homedir=$( getent passwd "www-data" | cut -d: -f6 )
88

9+
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-ldap-client-first-start-done"
910
# container first start
1011
if [ ! -e "$FIRST_START_DONE" ]; then
1112

@@ -17,17 +18,20 @@ if [ ! -e "$FIRST_START_DONE" ]; then
1718
# ldap client config
1819
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
1920
echo "TLS_REQCERT $PHPLDAPADMIN_LDAP_CLIENT_TLS_REQCERT" >> /etc/ldap/ldap.conf
20-
21-
www_data_homedir=$( getent passwd "www-data" | cut -d: -f6 )
21+
cp -f /etc/ldap/ldap.conf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/ldap.conf
2222

2323
[[ -f "$www_data_homedir/.ldaprc" ]] && rm -f $www_data_homedir/.ldaprc
2424
echo "TLS_CERT ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_CRT_FILENAME}" > $www_data_homedir/.ldaprc
2525
echo "TLS_KEY ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/${PHPLDAPADMIN_LDAP_CLIENT_TLS_KEY_FILENAME}" >> $www_data_homedir/.ldaprc
26+
cp -f $www_data_homedir/.ldaprc ${CONTAINER_SERVICE_DIR}/ldap-client/assets/.ldaprc
2627

2728
chown www-data:www-data -R ${CONTAINER_SERVICE_DIR}/ldap-client/assets/certs/
2829
fi
2930

3031
touch $FIRST_START_DONE
3132
fi
3233

34+
ln -sf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/.ldaprc $www_data_homedir/.ldaprc
35+
ln -sf ${CONTAINER_SERVICE_DIR}/ldap-client/assets/ldap.conf /etc/ldap/ldap.conf
36+
3337
exit 0

image/service/phpldapadmin/startup.sh

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
# https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/log-helper
55
log-helper level eq trace && set -x
66

7-
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-phpldapadmin-first-start-done"
87

8+
FIRST_START_DONE="${CONTAINER_STATE_DIR}/docker-phpldapadmin-first-start-done"
99
# container first start
1010
if [ ! -e "$FIRST_START_DONE" ]; then
1111

@@ -45,21 +45,19 @@ if [ ! -e "$FIRST_START_DONE" ]; then
4545

4646
cp -R /var/www/phpldapadmin_bootstrap/* /var/www/phpldapadmin
4747
rm -rf /var/www/phpldapadmin_bootstrap
48-
49-
log-helper debug "copy ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php to /var/www/phpldapadmin/config/config.php"
50-
cp -f ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php /var/www/phpldapadmin/config/config.php
48+
rm -f /var/www/phpldapadmin/config/config.php
5149

5250
get_salt() {
5351
salt=$(</dev/urandom tr -dc '1324567890#<>,()*.^@$% =-_~;:/{}[]+!`azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN' | head -c64 | tr -d '\\')
5452
}
5553

5654
# phpLDAPadmin cookie secret
5755
get_salt
58-
sed -i "s|{{ PHPLDAPADMIN_CONFIG_BLOWFISH }}|${salt}|g" /var/www/phpldapadmin/config/config.php
56+
sed -i "s|{{ PHPLDAPADMIN_CONFIG_BLOWFISH }}|${salt}|g" ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php
5957

6058
append_to_file() {
6159
TO_APPEND=$1
62-
sed -i "s|{{ PHPLDAPADMIN_SERVERS }}|${TO_APPEND}\n{{ PHPLDAPADMIN_SERVERS }}|g" /var/www/phpldapadmin/config/config.php
60+
sed -i "s|{{ PHPLDAPADMIN_SERVERS }}|${TO_APPEND}\n{{ PHPLDAPADMIN_SERVERS }}|g" ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php
6361
}
6462

6563
append_value_to_file() {
@@ -81,7 +79,7 @@ if [ ! -e "$FIRST_START_DONE" ]; then
8179
fi
8280
}
8381

84-
# phpLDAPadmin servers config
82+
# phpLDAPadmin host config
8583
host_info(){
8684
local to_print=$1
8785

@@ -120,16 +118,25 @@ if [ ! -e "$FIRST_START_DONE" ]; then
120118
fi
121119
done
122120

123-
sed -i "/{{ PHPLDAPADMIN_SERVERS }}/d" /var/www/phpldapadmin/config/config.php
121+
sed -i "/{{ PHPLDAPADMIN_SERVERS }}/d" ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php
124122
fi
125123

126124
touch $FIRST_START_DONE
127125
fi
128126

127+
# if there is no config file link service config
128+
if [ ! -e "/var/www/phpldapadmin/config/config.php" ]; then
129+
log-helper debug "link ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php to /var/www/phpldapadmin/config/config.php"
130+
ln -sf ${CONTAINER_SERVICE_DIR}/phpldapadmin/assets/config.php /var/www/phpldapadmin/config/config.php
131+
fi
132+
129133
# fix file permission
130134
find /var/www/ -type d -exec chmod 755 {} \;
131135
find /var/www/ -type f -exec chmod 644 {} \;
132-
chmod 400 /var/www/phpldapadmin/config/config.php
133136
chown www-data:www-data -R /var/www
134137

138+
# symlinks special (chown -R don't follow symlinks)
139+
chown www-data:www-data /var/www/phpldapadmin/config/config.php
140+
chmod 400 /var/www/phpldapadmin/config/config.php
141+
135142
exit 0

0 commit comments

Comments
 (0)