Ebből a cikkből megtudhatod, hogy hogyan telepítsd fel és konfiguráld be az OpenLDAP alkalmazást. Az operációs rendszer egy Debian8 „jessie”.
Alaprendszer telepítése és konfigurálása
Első lépésben frissítsük fel az operációs rendszerünket:
sudo apt-get update && sudo apt-get upgrade
Majd telepítsük a szükséges csomagokat:
apt-get install slapd ldap-utils phpldapadmin
Konfiguráljuk újra a slapd nevű kiszolgáló démont:
dpkg-reconfigure slapd
Kérdések és válaszok:
- Kihagyod a kezdeti konfigurációt: NO
- dns domain név megadása: Általában a hostname –fqdn által vissza adott név, ez lesz a root dn
- Organization Unit name: Szervezeti egység neve
- Adminisztrátor jelszava: Adminisztrátori jelszó megadása
- Adatbázis típusa: HDB
- El akarjuk-e, távolítani az adatbázist a slapd kiszolgáló démon eldobásakor: NO
- Eltávolítsuk-e az régi adatbázist: YES
- Engedélyezzük az LDAPv2 protokollt: NO
Lépjünk be az /etc/ldap könyvtárba és készítsünk egy logging.ldif fájlt a következő tartalommal:
dn: cn=config changetype: modify add: olcLogLevel olcLogLevel: stats
Adjuk ki a következő parancsot:
ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f logging.ldif
Módosítsuk az /etc/rsyslog.conf addjuk a fájl végéhez a következő sorokat:
# Disable rate limiting (default is 200 messages in 5 seconds; below we make the 5 become 0) $SystemLogRateLimitInterval 0
Indítsuk újra a logolást:
service rsyslog restart
Hozzuk létre a schema_convert.conf fájlt, az alábbi tartalommal:
include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema
Hozzuk létre az ldif_output könyvtárt a /tmp alatt, majd adjuk ki az alábbi két parancsot:
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s "cn={5}dyngroup,cn=schema,cn=config" > /tmp/cn=dyngroup.ldif slapcat -f schema_convert.conf -F /tmp/ldif_output -n 0 | grep dyngroup
Szerkesszük a /tmp/cn\=dyngroup.ldif fájlt, az alábbiak szerint:
dn: cn=dyngroup,cn=schema,cn=config ... ... cn: dyngroup Az állomány végén hasonló szöveget látsz, ezeket töröld ki, és mentsd el a változást: structuralObjectClass: olcSchemaConfig entryUUID: 10dae0ea-0760-102d-80d3-f9366b7f7757 creatorsName: cn=config createTimestamp: 20080826021140Z entryCSN: 20080826021140.791425Z#000000#000#000000 modifiersName: cn=config modifyTimestamp: 20080826021140Z
Add ki az alábbi utasítást:
sudo ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/cn\=dyngroup.ldif
SSL támosgatás beállítása
Generáljunk főtanusítványt, és a szerverünk részére tanúsítványt és kulcsot, majd ezeket másoljuk be az /etc/ldap/sasl2 könyvtárba, majd hozzuk létre a mod_ssl.ldif fájlt az alábbi tartalommal:
# create new dn: cn=config changetype: modify add: olcTLSCACertificateFile olcTLSCACertificateFile: /etc/ldap/sasl2/sajat-ca-certificates.crt - add: olcTLSCertificateFile olcTLSCertificateFile: /etc/ldap/sasl2/server.crt - add: olcTLSCertificateKeyFile olcTLSCertificateKeyFile: /etc/ldap/sasl2/server.key
Értelemszerűen, a saját tanúsítványaink neveit adjuk meg!
Adjuk ki a következő utasítást:
ldapmodify -Y EXTERNAL -H ldapi:/// -f mod_ssl.ldif
Sikeres végrehajtás esetén, az alábbi üzenetet kell látnunk:
SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "cn=config"
Engedélyezzük az ssl használatát, ehhez nyissuk meg az /etc/default/slapd állományt. Keressük meg és egészítsük ki az alábbi szekciót:
SLAPD_SERVICES="ldap:/// ldapi:/// ldaps:///"
Érvényesítsük a változásokat:
systemctl restart slapd
PHPLDAPADIM konfigurálása
Nyissuk meg a /etc/phpldapadmin/config.php fájlt és módosítsuk a következő sorokat:
$config->custom->appearance['hide_template_warning'] = true; $servers->newServer('ldap_pla'); $servers->setValue('server','host','127.0.0.1'); $servers->setValue('server','base',array('dc=example,dc=com')); $servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');
Az example.com helyett, a saját root dn nevünket adjuk meg, és ezzel el is készültünk. A címtárat a http://example.com/phpldapadmin címen tudjuk!
CHECKSUM ERROR javítása
Ezt a hibát úgy tudod felderíteni, hogy kiadod parancssorban a systemctl status slapd parancsot. A kimenetben látszik a checksum hiba. Másoljuk a hibás állományt, a /tmp könyvtárba:
cp /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif /tmp
Az első két sorát eltávolítjuk az állománynak:
tail -n +3 /tmp/olcDatabase={2}hdb.ldif > fixed.ldif
Töltsük le a CRC tool programot innen, http://freecode.com/projects/checkcrc/, majd csomagoljuk ki:
tar xvfz check-4.3-src.tgz
A program függősége: zlib-dev, rasbian alatt: zlib1g-dev, ha szükséges telepítsd fel!
Fordítsuk le a programot:
cd check-4.3 gcc -O3 -Wall -DUSE_ZLIB -I/usr/include -o check check.c -L/usr/lib64 -lz
CRC számítása:
./check /tmp/fixed.ldif fixed.ldif CRC-32 = 61e6182a, size = 582 bytes
Eredeti fájl chechsum értékének javítása:
nano /etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify. CRC32 61e6182a