LLDAP: Unterschied zwischen den Versionen
Peh (Diskussion | Beiträge) |
Peh (Diskussion | Beiträge) (Proxy-Konfig) |
||
Zeile 73: | Zeile 73: | ||
Ctrl-C | Ctrl-C | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Proxy-Konfiguration === | |||
Für den Zugriff auf das Admin-Frontend über den Browser konfiguriere ich die Domain: | |||
<syntaxhighlight lang="bash"> | |||
cd ~/doms/account.hs-example.de | |||
rm -rf subs/www subs-ssl/www htdocs-ssl | |||
ln -s $HOME/lldap/app htdocs-ssl | |||
touch htdocs-ssl/.htaccess | |||
vim htdocs-ssl/.htaccess | |||
</syntaxhighlight> | |||
Mit dem Inhalt: | |||
<syntaxhighlight lang="apache"> | |||
DirectoryIndex disabled | |||
RewriteEngine On | |||
RewriteBase / | |||
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | |||
RewriteRule .* http://127.0.0.1:33881%{REQUEST_URI} [proxy] | |||
RequestHeader set X-Forwarded-Proto "https" | |||
</syntaxhighlight> | |||
Achtung: Port 33881 wie in der Konfig-Datei anpassen! | |||
=== Links === | === Links === | ||
* [https://github.com/lldap/lldap Github Projekt LLDAP] | * [https://github.com/lldap/lldap Github Projekt LLDAP] |
Version vom 30. September 2024, 18:02 Uhr
LDAP Kontoverwaltung mit LLDAP
LLDAP ist ein LDAP Server, der in der Programmiersprache Rust implementiert ist. LLDAP verwendet eine relationale Datenbank zum Speichern der Accounts und Gruppen. LLDAP läßt sich als eigener Daemon betreiben. Er bringt ein einfaches Webfrontend für die Verwaltung der Konten und Gruppen und eine Funktion zum Passwort-Rücksetzen mit.
Vorbereitungen in HSAdmin
Mit Hilfe von HSAdmin werden im ersten Schritt ein Service-User, eine Domain und ein PostgreSQL-User mit PostgreSQL-Datenbank angelegt. Der Service-User heißt im folgenden "xyz00-lldap", die Domain "account.hs-example.de", PostgreSQL-User und -Datenbank heißen beide "xyz00_lldap". Das PostgreSQL-Passwort sei "pg_password_99".
Download und entpacken
Die aktuelle Version von LLDAP ist v0.5.0.
Ich melde mich als User "xyz00-lldap" und lade das Binärpaket mit wget:
wget https://github.com/lldap/lldap/releases/download/v0.5.0/amd64-lldap.tar.gz
tar xzf amd64-lldap.tar.gz
mv amd64-lldap lldap
Konfiguration
Die Konfiguration erfolgt über eine Datei "lldap_config.toml" im Verzeichnis "~/lldap". die Datei erstelle ich wie folgt:
cd ~/lldap
touch lldap_config.toml
vim lldap_config.toml
der Inhalt nach dem Bearbeiten ist zum Beispiel:
verbose=true
ldap_host = "127.0.0.1"
ldap_port = 33891
http_host = "127.0.0.1"
http_port= 33881
http_url = "https://account.hs-example.de"
jwt_secret = "generierte-zufallszeichenkett-als-secret"
ldap_base_dn = "dc=hs-example,dc=de"
ldap_user_dn = "admin"
ldap_user_email = "webmaster@hs-example.de"
ldap_user_pass = "ldap-admin-password-generieren"
force_ldap_user_pass_reset = false
database_url = "postgres://xyz00_lldap:pg_password_99@localhost/xyz00_lldap"
key_seed = "generierte-zufallszeichenkette"
[smtp_options]
enable_password_reset = true
server = "localhost"
port = 4025
smtp_encryption = "NONE"
from="LLDAP Admin <webmaster@hs-example.de>"
[ldaps_options]
enabled = false
Bei der Installation sollten folgende Einstellungen angepasst werden:
- die Ports für LDAP und HTTP
- Die Domain "hs-example.de" bzw. "account.hs-example.de"
- Der Account-Präfix "xyz00"
- Die Passworte und Secret-Zeichenketten
- "verbose" soltle auf "false" geändert werden, wenn alles läuft.
Das Anlegen der Datenbank-Tabellen erfolgt und ein ersten Start des Servers erfolgt mit den Befehlen:
cd ~/lldap
./lldap create_schema
./lldap run
Ctrl-C
Proxy-Konfiguration
Für den Zugriff auf das Admin-Frontend über den Browser konfiguriere ich die Domain:
cd ~/doms/account.hs-example.de
rm -rf subs/www subs-ssl/www htdocs-ssl
ln -s $HOME/lldap/app htdocs-ssl
touch htdocs-ssl/.htaccess
vim htdocs-ssl/.htaccess
Mit dem Inhalt:
DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:33881%{REQUEST_URI} [proxy]
RequestHeader set X-Forwarded-Proto "https"
Achtung: Port 33881 wie in der Konfig-Datei anpassen!