OpenLDAP startet nicht autom. beim Booten

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
CBM
Beiträge: 141
Registriert: 07.07.2009 08:01:28

OpenLDAP startet nicht autom. beim Booten

Beitrag von CBM » 15.03.2013 14:08:34

Hallo zusammen,

anstatt OpenLDAP über die mitgelieferten Debian-Pakete zu installieren, habe ich OpenLDAP von http://www.openldap.org heruntergeladen und selbst kompiliert. Es funktioniert auch gut, nur dass ich den Daemon nun immer manuell starten muss. In /etc/init.d liegt auch keine entsprechende slapd Datei.

In den Readmes und Install-Dateien von OpenLDAP habe ich keinen Hinweis gefunden, wie/wo man eventuell einen Parameter setzen muss, damit der slapd-Daemon beim Booten automatisch gestartet wird. Googlen bislang auch erfolglos.

Vielleicht weiß dieses Forum Rat.

Danke vorab!
----------------
Dateiserver: Eigenbau; Gigabit-Lan, Sata-600, AMD Athlon
Mail und Mediaserver: Raspberry Pi
Modem: ne' Kiste gestellt von UnityMedia (suche noch nach alternativen)
Router: TP-Link, mit dd-WRT geflasht
Arbeitscomputer: Eigenbau; Gigabit-Lan, Sata-600, AMD Phenom II

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenLDAP startet nicht autom. beim Booten

Beitrag von rendegast » 16.03.2013 07:38:46

?

Nimm das Startskript aus debian.

Code: Alles auswählen

cd /tmp
aptitude download slapd
dpkg-deb -x slapd...dep ausgepackt
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

CBM
Beiträge: 141
Registriert: 07.07.2009 08:01:28

Re: OpenLDAP startet nicht autom. beim Booten

Beitrag von CBM » 16.03.2013 10:35:48

Hallo rendergast,

besten Dank für deinen Tipp.
Das Ganze wird allerdings nicht so einfach "funktionieren". Das Problem: bei der manuellen Installation (also bei der selbst kompilierten Variante), werden Dateien in einem anderen Verzeichnis gespeichert als bei einer Installation über das Debian-Repository (bspw. liegt die slapd.conf in /etc/usr/local/openldap).

Jetzt könnte man versuchen ...
(a) ... in der /etc/init.d/slapd die Pfade anzupassen
(b) ... bei der manuellen OpenLDAP Installation die Pfade zu ändern

--> Beides ist sicherlich nicht so trivial wie man zunächst denkt und sicherlich auch nicht so wie es eigentlich laufen sollte.

Ist man schlau, dann ist es wohl doch das beste Ldap einfach über das Debian-Repository zu installieren. Tja, wenn da aber nicht der Ehrgeiz wäre, es auch so hinzubekommen.
Meine Vermutung, warum es manuell nicht sauber klappt: zuerst hatte ich LDAP über des Repository installiert. Wahrscheinlich ist beim Deinsintallieren nicht alles sauber aufgeräumt worden und die manuellen Installation ist dann über die alte Installation "gestolpert".
----------------
Dateiserver: Eigenbau; Gigabit-Lan, Sata-600, AMD Athlon
Mail und Mediaserver: Raspberry Pi
Modem: ne' Kiste gestellt von UnityMedia (suche noch nach alternativen)
Router: TP-Link, mit dd-WRT geflasht
Arbeitscomputer: Eigenbau; Gigabit-Lan, Sata-600, AMD Phenom II

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenLDAP startet nicht autom. beim Booten

Beitrag von rendegast » 16.03.2013 13:53:22

(bspw. liegt die slapd.conf in /etc/usr/local/openldap)
Also sowas hätte ich verstanden /usr/local/etc/openldap/.

Sollte nicht so schwer sein,

Code: Alles auswählen

$ grep / slapd_2.4.31-1_i386/etc/init.d/slapd
#!/bin/sh
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /lib/lsb/init-functions
# wants to can override the path in /etc/default/slapd.
SLAPD=/usr/sbin/slapd
exec 3>/dev/null
if [ -f "/etc/default/slapd" ]; then
        . /etc/default/slapd
        if [ -e /etc/ldap/slapd.d ]; then
                SLAPD_CONF=/etc/ldap/slapd.d
                SLAPD_CONF=/etc/ldap/slapd.conf
                SLAPD_PIDFILE=`sed -ne 's/^pidfile[[:space:]]\+\(.\+\)/\1/p' \
                        's/^olcPidFile:[[:space:]]\+\(.\+\)[[:space:]]*/\1/p' \
                        "$SLAPD_CONF"/'cn=config.ldif'`
                echo 'Not starting slapd: SLAPD_NO_START set in /etc/default/slapd' >&2
        if [ ! -h /var/run/ldapi ] && [ ! -e /var/run/ldapi ] ; then
                ln -s slapd/ldapi /var/run/ldapi
        reason="`start-stop-daemon --stop --quiet --oknodo --retry TERM/10 \
wer ldap aufsetzen kann, für den ist das ein Klacks.
Eigentlich sollte es sich auch hierüber regeln lassen:

Code: Alles auswählen

$ egrep -i ".|path|/" slapd_2.4.31-1_i386/etc/default/slapd 
# Default location of the slapd.conf file or slapd.d cn=config directory. If
# empty, use the compiled-in default (/etc/ldap/slapd.d with a fallback to
# /etc/ldap/slapd.conf).
SLAPD_CONF=
# System account to run the slapd server under. If empty the server
# will run as root.
SLAPD_USER="openldap"
# System group to run the slapd server under. If empty the server will
# run in the primary group of its user.
SLAPD_GROUP="openldap"
# Path to the pid file of the slapd server. If not set the init.d script
# will try to figure it out from $SLAPD_CONF (/etc/ldap/slapd.conf by
# default)
SLAPD_PIDFILE=
# slapd normally serves ldap only on all TCP-ports 389. slapd can also
# service requests on TCP-port 636 (ldaps) and requests via unix
# sockets.
# Example usage:
# SLAPD_SERVICES="ldap://127.0.0.1:389/ ldaps:/// ldapi:///"
SLAPD_SERVICES="ldap:/// ldapi:///"
# If SLAPD_NO_START is set, the init script will not start or restart
# slapd (but stop will still work).  Uncomment this if you are
# starting slapd via some other means or if you don't want slapd normally
# started at boot.
#SLAPD_NO_START=1
# If SLAPD_SENTINEL_FILE is set to path to a file and that file exists,
# the init script will not start or restart slapd (but stop will still
# work).  Use this for temporarily disabling startup of slapd (when doing
# maintenance, for example, or through a configuration management system)
# when you don't want to edit a configuration file.
SLAPD_SENTINEL_FILE=/etc/ldap/noslapd
# For Kerberos authentication (via SASL), slapd by default uses the system
# keytab file (/etc/krb5.keytab).  To use a different keytab file,
# uncomment this line and change the path.
#export KRB5_KTNAME=/etc/krb5.keytab
# Additional options to pass to slapd
SLAPD_OPTIONS=""


(Deine Optionen)
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

CBM
Beiträge: 141
Registriert: 07.07.2009 08:01:28

Re: OpenLDAP startet nicht autom. beim Booten

Beitrag von CBM » 17.03.2013 10:42:52

rendegast hat geschrieben:
(bspw. liegt die slapd.conf in /etc/usr/local/openldap)

Also sowas hätte ich verstanden /usr/local/etc/openldap/.
Hallo Rendergast: nicht schlecht, du hast recht. Dies war ein Typo von mir.
rendegast hat geschrieben:wer ldap aufsetzen kann, für den ist das ein Klacks.
Ach, da sagst du was. Ich bin so ein Linux/Debian Amateur. Spiele ständig damit rum, aber halt doch mehr try-and-error als wirklich ein sauberes arbeiten (bin halt mehr "User" als "Admin" ... dafür aber auch ein teuer Linux Fan!).

Zum Problem: ich habe es zwar noch nicht gelöst, werde es aber weiter versuchen und bei Erfolg meine Lösung hier posten.

Dennoch stellt sich mir folgende, grundlegende Frage:
- Ist es normal oder gewollt, dass bei der manuellen OpenLDAP-Installation keine Boot-Start-Datei (wie man das auch immer nennt) erzeugt wird, oder habe ich was falsch gemacht?
----------------
Dateiserver: Eigenbau; Gigabit-Lan, Sata-600, AMD Athlon
Mail und Mediaserver: Raspberry Pi
Modem: ne' Kiste gestellt von UnityMedia (suche noch nach alternativen)
Router: TP-Link, mit dd-WRT geflasht
Arbeitscomputer: Eigenbau; Gigabit-Lan, Sata-600, AMD Phenom II

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: OpenLDAP startet nicht autom. beim Booten

Beitrag von rendegast » 17.03.2013 11:06:19

Bei wheezys openldap 2.4.31 http://packages.debian.org/source/wheezy/openldap
kommt /etc/init.d/slapd tatsächlich erst aus den debian-Patches, als slapd.init.

Einziger Verweis auf /etc/init.d/slapd in der Originalquelle ist deren README.

Es gibt ein paar einfache tests/scripts/start*,
aber nicht LSB-konform.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Antworten