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}"
|
|
|
|
|
|
docker cp "${KAZ_BIN_DIR}/look/kaz/kaz-tete.png" "${ldapUIName}:/var/www/html/images/ltb-logo.png"
|