Phpldapadmin nginx: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Die Seite wurde neu angelegt: „= phpLDAPadmin mit nginx unter Debian 13 = == Voraussetzungen installieren == Zuerst müssen alle notwendigen Pakete installiert werden: <syntaxhighlight la…“) |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 11: | Zeile 11: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | == PHP-FPM konfigurieren == | + | == [[PHP-FPM]] konfigurieren == |
PHP-FPM muss gestartet und aktiviert werden: | PHP-FPM muss gestartet und aktiviert werden: | ||
| Zeile 142: | Zeile 142: | ||
== Zusätzliche Sicherheitsmaßnahmen == | == Zusätzliche Sicherheitsmaßnahmen == | ||
| + | == auf bestimmte Netzwerke beschränken == | ||
| + | <syntaxhighlight lang="bash"> | ||
| + | server { | ||
| + | listen 80; | ||
| + | server_name your-domain.com; | ||
| + | |||
| + | # Nur diese IPs/Netzwerke erlauben | ||
| + | allow 192.168.1.0/24; # Lokales Netzwerk | ||
| + | allow 10.0.0.0/8; # Privates Netzwerk | ||
| + | allow 172.16.0.0/12; # Privates Netzwerk | ||
| + | allow 203.0.113.5; # Spezifische IP | ||
| + | deny all; # Alle anderen blockieren | ||
| + | |||
| + | # Rest der Konfiguration... | ||
| + | } | ||
| + | </syntaxhighlight> | ||
=== Log-Dateien überprüfen === | === Log-Dateien überprüfen === | ||
Aktuelle Version vom 26. August 2025, 05:42 Uhr
phpLDAPadmin mit nginx unter Debian 13
Voraussetzungen installieren
Zuerst müssen alle notwendigen Pakete installiert werden:
# Nginx, PHP und notwendige Pakete installieren
sudo apt install nginx php-fpm php-ldap php-xml php-mbstring phpldapadmin -y
PHP-FPM konfigurieren
PHP-FPM muss gestartet und aktiviert werden:
# PHP-FPM Status prüfen
sudo systemctl status php8.4-fpm
# Bei Bedarf starten und aktivieren
sudo systemctl enable php8.4-fpm
sudo systemctl start php8.4-fpm
Nginx Virtual Host konfigurieren
Konfigurationsdatei erstellen
Erstellen Sie eine neue Nginx-Konfigurationsdatei:
sudo nano /etc/nginx/sites-available/phpldapadmin
Virtual Host Konfiguration
Fügen Sie folgende Konfiguration in die Datei ein:
server {
listen 80;
server_name your-domain.com; # Ersetzen Sie durch Ihre Domain
root /usr/share/phpldapadmin/htdocs;
index index.php index.html index.htm;
# Sicherheitsheader
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# Verhindern des Zugriffs auf sensible Dateien
location ~ /\. {
deny all;
}
location ~* \.(htaccess|htpasswd|ini|log|sh|sql|conf)$ {
deny all;
}
}
Site aktivieren und nginx konfigurieren
# Site aktivieren
sudo ln -s /etc/nginx/sites-available/phpldapadmin /etc/nginx/sites-enabled/
# Standard-Site deaktivieren (optional)
sudo rm /etc/nginx/sites-enabled/default
# Nginx-Konfiguration testen
sudo nginx -t
# Nginx neu laden
sudo systemctl reload nginx
phpLDAPadmin konfigurieren
Konfigurationsdatei bearbeiten
# Konfigurationsdatei bearbeiten
sudo nano /etc/phpldapadmin/config.php
Wichtige Konfigurationseinstellungen
<?php
// LDAP-Server konfigurieren
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','Mein LDAP Server');
$servers->setValue('server','host','127.0.0.1'); // LDAP-Server IP
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=example,dc=com')); // Basis-DN anpassen
// Authentifizierung
$servers->setValue('login','auth_type','cookie');
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com'); // Admin-DN
// Sicherheitseinstellungen
$config->custom->appearance['hide_template_warning'] = true;
?>
Berechtigungen setzen
# Verzeichnisberechtigungen anpassen
sudo chown -R www-data:www-data /usr/share/phpldapadmin/
sudo chmod -R 755 /usr/share/phpldapadmin/
Services starten und testen
# Alle Services neu starten
sudo systemctl restart nginx php8.4-fpm
# Status überprüfen
sudo systemctl status nginx php8.4-fpm
Zugriff testen
Öffnen Sie Ihren Browser und navigieren Sie zu:
http://your-domain.com(oderhttps://your-domain.commit SSL)
Zusätzliche Sicherheitsmaßnahmen
auf bestimmte Netzwerke beschränken
server {
listen 80;
server_name your-domain.com;
# Nur diese IPs/Netzwerke erlauben
allow 192.168.1.0/24; # Lokales Netzwerk
allow 10.0.0.0/8; # Privates Netzwerk
allow 172.16.0.0/12; # Privates Netzwerk
allow 203.0.113.5; # Spezifische IP
deny all; # Alle anderen blockieren
# Rest der Konfiguration...
}
Log-Dateien überprüfen
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/php8.4-fpm.log