#!/bin/bash # Zielpfad für das Full-Chain-Zertifikat FULLCHAIN_CERT="/tmp/fullchain.crt" HOST_FQDN=$(hostname -f) HOST_NORMAL=$(hostname -s) DOMAIN=$(hostname -d) # Name der Zertifikatsdateien ROOT_CERT="CERT_HEIMLAN_RootCA.crt" SUBCA_CERT="CERT_HEIMLAN_SubCA.crt" SERVER_CERT="CERT_${HOST_FQDN}.crt" SERVER_KEY="KEY_${HOST_FQDN}.pem" TMP="" KEY="" KEY_DIR="" LDAP_PASS="P@SSW0RD" # LDAP-Serverinformationen für mehrere Domänen (LDAPS) LDAP_SERVERS=( "HEIM.LAN|ldaps://dc.heim.lan|dc=heim,dc=lan|CN=Administrator,CN=Users,DC=heim,DC=lan|${LDAP_PASS}" "IOT.HEIM.LAN|ldaps://ipa.iot.heim.lan|dc=domain2,dc=com|uid=admin,cn=users,cn=accounts,dc=iot,dc=heim,dc=lan|${LDAP_PASS}" ) # Funktion zum Kopieren der Zertifikate in die richtigen Pfade je nach Derivat und Typ copy_certificates() { echo "Kopieren der Zertifikate in die richtigen Pfade..." # Betriebssystem erkennen if grep -q -i "ubuntu\|debian" /etc/os-release; then distro="Debian" elif grep -q -i "centos\|rhel\|red hat" /etc/os-release; then distro="CentOS"w else echo "Nicht unterstütztes Betriebssystem." exit 1 fi case $distro in Debian) SSL_DIR="/etc/nginx/ssl" TMP="/usr/local/share/ca-certificates" KEY="/etc/ssl/private/" echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Eforderlichen Pakete werden installiert..... *********************************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" sudo apt update sudo apt install -y nginx openldap-clients sudo apt install -y wget gnupg2 ca-certificates lsb-release sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g-dev libssl-dev sudo apt install -y git echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Zusaetzlichen Pakete von GIT werden heruntergeladen...... *********************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.20.2.tar.gz sudo tar -zxvf nginx-1.20.2.tar.gz sudo git clone https://github.com/kvspb/nginx-auth-ldap.git echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Zusaetzlichen Pakete von GIT wird installiert...... *+++++********************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" sudo yum install -y epel-release sudo yum groupinstall -y "Development Tools" sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel sudo yum install -y git echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Sie sind auf einen Debian \ Ubuntu System...... ******************************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" ;; CentOS) SSL_DIR="/etc/nginx/ssl" TMP="/etc/pki/ca-trust/source/anchors/" KEY="/etc/pki/tls/private/" echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Eforderlichen Pakete werden installiert..... *********************************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" sudo yum install -y epel-release sudo yum install -y nginx openldap-clients openldap-servers sudo yum install -y epel-release sudo yum groupinstall -y "Development Tools" sudo yum install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel sudo yum install -y git echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Zusaetzlichen Pakete von GIT werden heruntergeladen...... *********************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.20.2.tar.gz sudo tar -zxvf nginx-1.20.2.tar.gz sudo git clone https://github.com/kvspb/nginx-auth-ldap.git echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Zusaetzlichen Pakete von GIT wird installiert...... *+++++********************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" cd nginx-1.20.2 sudo ./configure --add-module=/usr/local/src/nginx-auth-ldap sudo make sudo make install echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Sie sind auf einen Red Hat \ CentOS System...... *****************************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" ;; *) echo "*************************************************************************************************************" echo "*************************************************************************************************************" echo "***************** Sie fuehren dieses SCRIPT auf ein nicht dafür Ausgelegen System aus..... *****************" echo "***************** Bitte wenden Sie Sich an einen System Administrator..... *********************************" echo "***************** Dieses Script ird jetzt beendet..... *****************************************************" echo "*************************************************************************************************************" echo "*************************************************************************************************************" ;; esac # Verzeichnisse erstellen, falls nicht vorhanden mkdir -p $SSL_DIR # Zertifikate kopieren cp "$TMP/$ROOT_CERT" "$SSL_DIR/$ROOT_CERT" cp "$TMP/$SUBCA_CERT" "$SSL_DIR/$SUBCA_CERT" cp "$TMP/${SERVER_CERT}" "$SSL_DIR/${SERVER_CERT}" cp "$KEY/$SERVER_KEY}" "$SSL_DIR/${SERVER_KEY}" echo "Zertifikate wurden nach $SSL_DIR kopiert." } # Funktion zur Erstellung der LDAP-Serverkonfiguration create_ldap_config() { echo "Erstellen der LDAP-Konfigurationsdatei..." LDAP_CONF="/etc/nginx/conf.d/ldap.conf" sudo tee $LDAP_CONF > /dev/null < /dev/null <