====== Ldap ====== Nginx kann mit LDAP (also auch Active Directory) kommunizieren. Es gibt allerdings aktuell kein offizielles LDAP-Modul für Nginx. Hier habe ich es mit einem Drittanbieter Modul dargestellt, wie man den Webserver dazu bringt dennoch gegen ADS zu Authentifizieren. ===== Install ===== Zunächst benötigt man die Nginx und die Modul Quelle. Diese Quellen werden dann kompiliert und schließlich installiert. (Dies kann auch erfolgen wenn der Nginx bereits per "apt-get" installiert wurde) cd /usr/local/src apt-get install libldap2-dev wget http://nginx.org/download/nginx-.tar.gz git clone https://github.com/kvspb/nginx-auth-ldap.git Die Nginx Quellen entpacken und kompilieren (Pfade sind auf die Ubuntu Installation ausgelegt) tar xfz nginx-.tar.gz cd nginx- ./configure --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --error-log-path=/var/log/nginx/error.log --user=www-data --group=www-data --add-module=../nginx-auth-ldap --http-client-body-temp-path=/var/lib/nginx/body --http-proxy-temp-path=/var/lib/nginx/proxy --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --http-scgi-temp-path=/var/lib/nginx/scgi --with-debug --with-http_ssl_module make Nach dem Kompilieren schließlich die Nginx Binary installieren service nginx stop cp /usr/local/src/nginx-1.2.5/objs/nginx /usr/sbin service nginx start Wenn Nginx soweit gut startet, dann kann fortgefahren werden. ===== LDAP-Anbindung ===== Das LDAP-Modul fragt den LDAP Server nach verschiedenen Informationen. Dies können wir auch einfach in der Konsole testen. apt-get install ldap-utils Nun einfach einen Suchbefehl ausführen. ldapsearch -x -H ldap:// -D @ -W -b OU=,dc= "(sAMAccountname=)" Hier sollten nun div. Informationen, über den angegebenen Domänen-Benutzer angezeigt werden. ===== Nginx-config ===== Hier nun eine einfach Konfiguration des Nginx. server { access_log ; error_log ; #Hier evtl. noch hinter dem Pfad 'debug' setzten root /var/www; index index.html index.htm index.php; server_name .; auth_ldap_url ldap://,DC=,DC=?sAMAccountName?sub?(objectClass=*); auth_ldap_binddn CN=,OU=,DC=,DC=; auth_ldap_binddn_passwd ; auth_ldap_group_attribute uniquemember; # default 'member' auth_ldap_group_attribute_is_dn on; # default on location / { auth_ldap "Closed content"; #auth_ldap_require valid_user; #auth_ldap_require user 'cn=Super User,ou=user,dc=example,dc=com'; #auth_ldap_require group 'cn=admins,ou=group,dc=example,dc=com'; #auth_ldap_require group 'cn=user,ou=group,dc=example,dc=com'; auth_ldap_require user 'CN=,OU=,DC=;DC='; auth_ldap_satisfy any; index index.html index.htm; } } Jetzt einfach den Webserver neu starten und sich anmelden.