Syftet med denna guide är inte en säker installation – snarare en fungerande sådan. För att säkra installationen krävs exempelvis att LDAPS eller StartTLS konfigureras för LDAP, samt att HTTPS konfigueras för NGINX.
Guiden kommer att gå igenom hur OpenLDAP installeras på en Raspberry Pi, som kör Raspbian. Den bör även vara användbar för operativsystem som kör Debian. Övrigt som installeras är en webbserver, samt en frontend som hanterar användarna i LDAP för enkelhetens skull.
Installera paket
Till att börja med, så installeras de viktigaste paketen. I och med att jag föredrar vim framför nano, så väljer jag att även lägga till det bland de andra paketen.
sudo apt-get install vim slapd ldap-utils php5-fpm php5-cli php5-ldap php-apc phpldapadmin nginx
Därefter kommer man att ombedas att ge ett lösenord för LDAP-administratören. Just denna gång behöver man inte ange ett lösenord som man ska komma ihåg, eftersom att lösenordet kommer bli omskrivet när paketen konfigureras.
Konfigurera paket
Nu måste paketen konigureras innan de kan användas.
OpenLDAP
Först konfigureras LDAP, eftersom att hela dess konfiguration inte gås igenom vid installationen. Kör kommandot:
sudo dpkg-reconfigure slapd
Nu måste du komma ihåg lösenordet för administratörskontot för LDAP.
Phpldapadmin
Därefter konfigurerar vi Phpldapadmin. Börja med att modifiera filen /etc/phpldapadmin/config.php så att de motsvarar domänens inställningar.
vim /etc/phpldapadmin/config.php
Leta där efter följande rader:
$servers->setValue('server','base',array('')); # ... $servers->setValue('login','bind_id','cn=admin,dc=example,dc=com'); # ... $servers->setValue('login','bind_pass','secret');
Ändra raderna till det som gäller för din domän. Skulle din domän exempelvis vara qvi.st, så ändras raderna till följande:
Med ”binding” till administratörskontot
$servers->setValue('server','base',array('dc=qvi,dc=st')); # ... $servers->setValue('login','bind_id','cn=admin,dc=qvi,dc=st'); # ... $servers->setValue('login','bind_pass','MittLösenord');
Det går även att använda s.k. Anonymous bind, lämna då både bind_id
och bind_pass
tomt, som visas nedan.
Utan ”bind”
$servers->setValue('server','base',array('dc=qvi,dc=st')); # ... $servers->setValue('login','bind_id',''); # ... $servers->setValue('login','bind_pass','');
Nginx
Skapa en server-fil för phpLDAPadmin
sudo vim /etc/nginx/sites-available/phpldapadmin
Skriv in följande rader kod i filen:
server { listen 80; root /usr/share/phpldapadmin/htdocs; index index.php index.html; server_name _; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } error_log /var/log/nginx/phpldapadmin_error.log; access_log /var/log/nginx/phpldapadmin_access.log; }
Och skapa en symbolsik länk (soft link) av filen som skapades nyss:
sudo ln -s /etc/nginx/sites-available/phpldapadmin /etc/nginx/sites-enabled/phpldapadmin
Därefter avlänkas filen /etc/nginx/sites-enabled/default:
sudo unlink /etc/nginx/sites-enabled/default
Till slut startas webbservern om, och då bör du komma åt det grafiska gränssnittet för phpLDAPadmin.
sudo service nginx restart
Nu går det att även grafiskt konfigurera LDAP, peka då en webbläsare till IP-adressen av din LDAP-server.
Lämna ett svar