Raspbian: phpLDAPadmin mit nginx installieren und konfigurieren

Geschrieben von Georg Lassnig
Hauptkategorie: E67-ITS Blog
on 23 September 2016
Zugriffe: 2040
Hardware: Raspberry Pi 3 - OS: Raspbian (basierend auf Debian 8 „Jessie“)
Wenn man einen LDAP-Server verwendet, möchte man diesen natürlich auf eine benutzerfreundliche Weise verwalten. Dazu empfiehlt sich die Installation von phpLDAPadmin.
 
Alle benötigten Pakete installieren wir mit folgender Eingabe:
apt-get install php5-fpm php5-cli php5-ldap php-apc phpldapadmin nginx
 
Anpassen der /etc/phpldapadmin/config.php
nano /etc/phpldapadmin/config.php
 
Zeile suchen
$servers→setValue('server','host','127.0.0.1');
ersetzen durch
$servers->setValue('server','host','raspi04.myhome.tld');
 
Zeile suchen
$servers->setValue('server','base',array('dc=example,dc=com'));
und an die eigenen Bedürfnisse anpassen
$servers->setValue('server','base',array('dc=myhome,dc=tld'));
 
Zeile suchen
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');
und an die eigenen Bedürfnisse anpassen
$servers→setValue('login','bind_id','cn=admin,dc=myhome,dc=tld');
Anschließend die Datei speichern.
 
Nun noch den Server nginx konfigurieren, in dem die Datei /etc/nginx/sites-available/default
bearbeitet wird:
nano /etc/nginx/sites-available/default
In der Datei den vorhandenen Block
Server {
...
...
...
}
löschen und durch diesen ersetzen
server {
root /usr/share/phpldapadmin/htdocs;
index index.php index.html;
server_namelocalhost;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php; include fastcgi_params;
}
}
Dann die Datei speichern und nginx neu starten.
service nginx restart
Im Browser die folgende URL aufrufen:
http://[Raspberry-Pi-Adresse oder IP-Nummer>]/index.php
 

Troubleshooting nginx

Ein klassischer Fehler bei der Konfiguration von nginx mit php-fpm ist die Ausgabe einer weißen Seite von jedem PHP-Script. Gerade Anfänger kommen hier häufig nicht weiter, da man in der Standardkonfiguration keinerlei Hinweis bekommt, wodurch dieses Problem verursacht wird.
Der Grund ist eine wichtige fastcgi-Variable, die in der Standard-Konfiguration fehlt. PHP benötigt bestimmte Infos des aktuellen Scripts, wie etwa dessen Pfad auf dem Dateisystem. Diese muss nginx weiterleiten. Und genau diese Variable namens $fastcgi_script_name fehlt, wenn dieser Fehler auftritt. PHP findet das Script schlicht und einfach nicht und macht daher einfach mal nichts.
Daher bearbeiten wir die Datei /etc/nginx/fastcgi_params:
nano /etc/nginx/fastcgi_params
und fügen Folgende Zeile in die Datei ein:
fastcgi_param SCRIPT_FILENAME $request_filename;
 
In dem Beitrag Raspbian: LDAP Server/Client installieren und konfigurieren widmen wir uns der Installation und Konfiguration des LDAP Verzeichnisdienstes.
Hoch