89 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
SERV_DIR=$(cd $(dirname $0); pwd)
 | 
						|
KAZ_ROOT=$(cd $(dirname $0)/../..; pwd)
 | 
						|
. "${KAZ_ROOT}/bin/.commonFunctions.sh"
 | 
						|
setKazVars
 | 
						|
 | 
						|
cd $(dirname $0)
 | 
						|
. "${DOCKERS_ENV}"
 | 
						|
. "${KAZ_KEY_DIR}/env-${ldapServName}"
 | 
						|
. "${KAZ_KEY_DIR}/env-${ldapUIName}"
 | 
						|
 | 
						|
 | 
						|
checkDockerRunning "${ldapServName}" "LDAP" || exit
 | 
						|
 | 
						|
printKazMsg "\n  *** Premier lancement de LDAP : Mise en place"
 | 
						|
 | 
						|
LDAP_IP=$(docker inspect -f '{{.NetworkSettings.Networks.ldapNet.IPAddress}}' ldapServ)
 | 
						|
MAIL_IP=$(docker inspect -f '{{.NetworkSettings.Networks.ldapNet.IPAddress}}' mailServ)
 | 
						|
 | 
						|
docker exec ${ldapUIName} bash -c "echo '${MAIL_IP} ${smtpHost}.${domain}' >> /etc/hosts"
 | 
						|
 | 
						|
BINDDN=cn=${LDAP_ADMIN_USERNAME},${ldap_root}
 | 
						|
DC=$(echo ${ldap_root} | cut -d',' -f1 | cut -d'=' -f2)
 | 
						|
 | 
						|
for schema in `ls schemas/`
 | 
						|
do
 | 
						|
  ldapadd -H ldap://$LDAP_IP -D "cn=${LDAP_CONFIG_ADMIN_USERNAME},cn=config" -w ${LDAP_CONFIG_ADMIN_PASSWORD} -f schemas/${schema}
 | 
						|
done
 | 
						|
 | 
						|
echo "dn: ${ldap_root}
 | 
						|
objectClass: dcObject
 | 
						|
objectClass: organization
 | 
						|
dc: $DC
 | 
						|
o: Kaz" | ldapadd -H ldap://$LDAP_IP -D "${BINDDN}" -w ${LDAP_ADMIN_PASSWORD}
 | 
						|
 | 
						|
./update.sh
 | 
						|
 | 
						|
CONFIG_IHM="${DOCK_VOL}/ldap_configSSP/_data/config.inc.php"
 | 
						|
 | 
						|
updateVarInConf(){
 | 
						|
    # $1 key
 | 
						|
    # $2 val
 | 
						|
    # $3 file
 | 
						|
    # $4 : vide => la valeur sera encadré par des guillement, sinon c'est du php
 | 
						|
    if grep -q "^\s*\$$1" "$3" ; then
 | 
						|
	echo "   update ${CYAN}${BOLD}$1${NC} => $2"
 | 
						|
	# !!! les valeur ne doivent pas contenir le caractère '%'
 | 
						|
	if [ -z "$4" ]; then
 | 
						|
	    sed -i -e "s%^\s*\(\$$1\s*=\).*$%\1 \"$2\";%" "$3"
 | 
						|
	else
 | 
						|
	    sed -i -e "s%^\s*\(\$$1\s*=\).*$%\1 $2;%" "$3"
 | 
						|
	fi
 | 
						|
    else
 | 
						|
	echo "   add ${CYAN}${BOLD}$1${NC} => $2"
 | 
						|
	if [ -z "$4" ]; then
 | 
						|
	    echo "\$$1 = \"$2\";" >> "$3"
 | 
						|
	else
 | 
						|
	    echo "\$$1 = $2;" >> "$3"
 | 
						|
	fi
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
updateVarInConf "ldap_url" "${LDAPUI_URI}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "ldap_binddn" "${LDAPUI_ADMIN_BIND_DN}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "ldap_bindpw" "${LDAPUI_ADMIN_BIND_PWD}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "ldap_base" "${LDAPUI_BASE_DN}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "ldap_login_attribute" "cn" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "hash" "CRYPT" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "use_questions" "false" "${CONFIG_IHM}" "php"
 | 
						|
updateVarInConf "mail_from" "admin@${domain}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "mail_from_name" "Récupération de mot de passe Kaz" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "mail_smtp_host" "${smtpHost}.${domain}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "use_sms" "false" "${CONFIG_IHM}" "php"
 | 
						|
updateVarInConf "keyphrase" "${LDAPUI_PASSWORD}" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "lang" "fr" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "allowed_lang" "array('fr', 'br');" "${CONFIG_IHM}" "php"
 | 
						|
updateVarInConf "mail_smtp_secure" "tls" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "mail_address_use_ldap" "true" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "mail_attributes" "array(\"mailDeSecours\", \"mail\")" "${CONFIG_IHM}" "php"
 | 
						|
updateVarInConf "pwd_min_length" "10" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "pwd_min_special" "2" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "pwd_show_policy" "always" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "posthook" "/var/www/kaz/post-hook.sh" "${CONFIG_IHM}"
 | 
						|
updateVarInConf "posthook_password_encodebase64" "true" "${CONFIG_IHM}"
 | 
						|
 | 
						|
# does not work
 | 
						|
# docker cp "${KAZ_BIN_DIR}/look/kaz/kaz-tete.png" "${ldapUIName}:/var/www/html/images/ltb-logo.png"
 |