[GiM logo] gim.org.pl is down || odświeżony jogger (v.0.4) GiMa

OpenLDAP i nowa konfiguracja cn=config

Postaram się w sposób zwięzły opisać jak przejść z OpenLDAPem na Nową i Lepszą [tm] konfigurację.
Na początku ściągamy i kompilujemy źródła OpenLDAP'a oczywiście, można też pociągnąć OpenLDAPa z paczek, jeśli jednak używasz już takiego z paczek w systemie, to nie doradzałbym na nim testować, żeby nie rozwalić systemu :>.
Ja instaluję OpenLDAP'a w /opt/openldap.

  • $ tar -xvzf openldap-stable-20070831.tgz
  • $ ./configure --prefix=/opt/openldap
  • $ make depend
  • $ make
  • $ sudo make install

Dodajemy /opt/openldap/lib do /etc/ld.so.conf i odpalamy ldconfig.
Przechodzimy do katalogu etc/openldap i na początek zmieniamy domyślny suffix (base DN) i rootdn w slapd.conf

  • suffix "dc=gim,dc=org,dc=pl"
  • rootdn "cn=michal,dc=gim,dc=org,dc=pl"

Używając bin/slappasswd generujemy nowe hasło, które ustawiamy jako rootpw w slapd.conf, za database bdb. Do tego na końcu slapd.conf dodajemy dwie linijki:

  • database config
  • rootpw {SSHA}5lqZcBJMqf6mgRFW2eU2u2UB0kmDo5vf

Hasło można ustawić takie samo jak dla bdb (Berkley DB), lub wygenerować jakieś nowe, będzie ono służyło do dostania się do konfiguracji z poziomu serwera.
W ldap.conf ustawiamy tymczasowo URI oraz BASE na base dn, który ustawiliśmy w slapd.conf, czyli:

  • BASE dc=gim,dc=org,dc=pl
  • URI ldap://:1234

URI takie, gdyż w celach testowych na tym porcie będziemy startować serwer ldapa.
Upewnij się, że na wybranym porcie, nic nie chodzi, slapd poinformuje jeśli się tak zdarzy, ale ponieważ, bedziemy odpalać z włączonym debuggiem, możesz nie dostrzec tej informacji.
Przechodzimy do /opt/openldap/etc i kopiujemy domyślne ustawienia dla backendu bdb (Berkeley DB):

  • cp etc/openldap/DB_CONFIG.example var/openldap-data/DB_CONFIG

W katalogu etc tworzymy katalog slapd.d, następnie konwertujemy konfigurację na 'nową'. Nowa konfiguracja cechuje się tym, że ma hierarchiczną strukturę, której korzeniem jest cn=config. (OpenLDAP od jakiegoś czasu do trzymania konfiguracji w pamięci używa backendu, takiego samego jak do przechowywania innych danych, różnica jest taka, że schema dla konfiguracji zdefiniowana jest na poziomie samego backendu, natomiast informacje o elementach drzewa zapisywane są w plikach w katalogu slapd.d a nie w bazie danych).
Po tym kroku możemy wyrzucić slapd.conf oraz katalog schema, gdzie trzymane są schema'y ldapowe (my jednak w celach testowych zmienimy im jedynie nazwy).
Jeżeli potrzebujesz innych schema' zainclude'uj je w slapd.conf przed zmianą na nową konfigurację. Nie omawiam tutaj praw dostępu do serwera openldap'a, jeśli potrzebujesz jakieś, również zrób to przed konwersją, będzie Ci łatwiej.

  • mkdir slapd.d
  • ../../sbin/slaptest -f slapd.conf -F slapd.d
  • mv schema nietrzeba.schema
  • mv slapd.conf nietrzeba.slapd.conf

Nadszedł właściwy moment by uruchomić serwer:

  • ./libexec/slapd -h ldap://:1234 -d 1

Zostawiamy serwer odpalony, a na konsoli obok, wydamy testowo zapytanie, by sprawdzić, czy serwer działa. Jeśli wszystko poszło gładko, na pierwsze zapytanie powinniśmy w odpowiedzi dostać, to co ustawiliśmy jako base dn. (Po opcje do ldapsearch odsyłam do manuala). Na drugie zapytanie natomiast powinnienneś otrzymać natomiast drzewo konfiguracji:

  • /opt/openldap/bin/ldapsearch -x -L -b '' -s base '(objectClass=*)' namingContexts
  • /opt/openldap/bin/ldapsearch -x -L -D "cn=config" -w super_tajne_haslo -b 'cn=config' '(objectClass=*)' configContext
  •  
  • Wynikiem pomijając puste linie i komentarze, będzie coś w stylu.
  • dn: cn=config
  • dn: cn=include{0},cn=config
  • dn: cn=schema,cn=config
  • dn: cn={0}core,cn=schema,cn=config
  • dn: olcDatabase={-1}frontend,cn=config
  • dn: olcDatabase={0}config,cn=config
  • dn: olcDatabase={1}bdb,cn=config

Możesz też obejrzeć całą konfigurację usuwając słowo configContext.
Tyle na dzisiaj, Dlaczego taka konfiguracja jest jezzi, trendi i lepsza wkrótce.

catz: [kom.puterowe] [Techblog]
tagz: [OpenLDAP] [cn=config] [nowa konfiguracja] [slapd] [slapd.d]
dnia sobota, 10 listopad 2007, 144925 by Michał 'GiM' Spadliński

Komentarze:

Proszę wpisy pisane po angielsku komentować również w tym języku.

Ale byk... s/zdaży/zdarzy...

dnia poniedziałek, 12 listopad 2007, 140156 by Moarc/J-23

ech dzięki, w nocy było pisane, ale zawsze i tak sprawdzam wpisy przed wysłaniem, musiało umknąć.

dnia poniedziałek, 12 listopad 2007, 141508 by GiM

..tożsamość..:
..meritum..:
..lokum..:
Wpisz kod:code