--- /dev/null
+#!/bin/sh
+#
+# This is a temporary script to generate a self-signet certificate for the openLDAP service.
+#
+LDAPCERTDIR=/etc/openldap/certs
+
+# Check if a server key allready exists.
+if [ ! -f $LDAPCERTDIR/server.key ]; then
+ echo "Generating openLDAP server key."
+ openssl genrsa -out $LDAPCERTDIR/server.key 2048
+
+ # Fix ownership and permissions.
+ chown ldap:ldap $LDAPCERTDIR/server.key
+ chmod 0600 $LDAPCERTDIR/server.key
+fi
+
+# Check if the certificate allready exists.
+if [ ! -f $LDAPCERTDIR/server.pem ]; then
+ echo "Generating CSR"
+ openssl req -new -key $LDAPCERTDIR/server.key \
+ -out $LDAPCERTDIR/server.csr
+
+ echo "Signing certificate"
+ openssl x509 -req -days 365 -in \
+ $LDAPCERTDIR/server.csr -signkey $LDAPCERTDIR/server.key \
+ -out $LDAPCERTDIR/server.pem
+
+ # Remove unneeded csr file.
+ rm -rvf $LDAPCERTDIR/server.csr
+
+ # Fix ownership and file permissions.
+ chown ldap:ldap $LDAPCERTDIR/server.pem
+ chmod 0600 $LDAPCERTDIR/server.pem
+fi
# TLS settings
#
#olcTLSCACertificateFile: /etc/pki/CA/cacert.pem
-#olcTLSCertificateFile: /etc/openldap/certs/server.pem
-#olcTLSCertificateKeyFile: /etc/openldap/certs/server.pem
+olcTLSCertificateFile: /etc/openldap/certs/server.pem
+olcTLSCertificateKeyFile: /etc/openldap/certs/server.key
#
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
name = openldap
version = 2.4.32
-release = 4
+release = 5
groups = System/Daemons
url = http://www.openldap.org/
cp -vf %{DIR_SOURCE}/openldap-conf.ldif \
%{BUILDROOT}%{datadir}/%{name}/
+ # Install ldapcert.sh script.
+ install -m 0755 %{DIR_SOURCE}/ldapcert.sh \
+ %{BUILDROOT}%{datadir}/%{name}/
+
# Create directoires.
mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/slapd.d
+ mkdir -pv %{BUILDROOT}%{sysconfdir}/%{name}/certs
mkdir -pv %{BUILDROOT}/run/%{name}
mkdir -pv %{BUILDROOT}%{sharedstatedir}/ldap
packages
package %{name}
- prerequires += shadow-utils
+ prerequires
+ openssl
+ shadow-utils
+ end
script prein
%{create_user}
datafiles
%{sysconfdir}/%{name}/slapd.d
+ %{sysconfdir}/%{name}/certs
%{sharedstatedir}/ldap
end