I am trying again to setup the LDAP config using the just released 5.0 (on
Linux 7.2 with the latest version of OpenLDAP). I cannot get past the
"Error: Unable to chdir to vpopmail/users directory"
I understand LDAP is difficult to configure; but the greatest difficulty is
complete instructions. There appears to be more to it than simply modifying
the vldap.h; you must setup the schema, setup the slapd.conf, and apparently
more (since I still cannot use LDAP after doing all these things).
Note: I am logged in as root for all steps below
I. Setup OpenLDAP
---------------------------------
1.Created qmailUser.schema (btw - the IANA numbers are valid so feel free to
use them)
attributetype ( 1.3.6.1.4.1.8868.3.1.2
NAME 'qmailGID'
DESC 'qmail group id'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{100}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.8868.3.1.3
NAME 'qmailUID'
DESC 'qmail userid'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{100}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.8868.3.1.4
NAME 'qmaildomain'
DESC 'qmail Domain'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{100}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.8868.3.1.6
NAME 'mailQuota'
DESC 'qmail quota'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{100}
SINGLE-VALUE )
attributetype ( 1.3.6.1.4.1.8868.3.1.7
NAME 'mailMessageStore'
DESC 'qmail Store'
EQUALITY caseIgnoreIA5Match
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26{100}
SINGLE-VALUE )
objectclass ( 1.3.6.1.4.1.8868.3.1
NAME 'qmailUser'
DESC 'qmail local mail recipient'
SUP ( top $ person $ organizationalPerson )
MAY ( qmailGID $ qmailUID $ qmaildomain $
mailQuota $ mailMessageStore $ name ) )
2. Updated slapd.conf to include /path/to/schemas/qmailUser.schema:
include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/qmailUser.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /usr/local/var/slapd.pid
argsfile /usr/local/var/slapd.args
# Load dynamic backend modules:
# modulepath /usr/local/libexec/openldap
# moduleload back_ldap.la
# moduleload back_ldbm.la
# moduleload back_passwd.la
# moduleload back_shell.la
#######################################################################
# ldbm database definitions
#######################################################################
database ldbm
suffix "dc=sebscape,dc=com"
#suffix "o=My Organization Name,c=US"
rootdn "cn=Manager,dc=sebscape,dc=com"
#rootdn "cn=Manager,o=My Organization Name,c=US"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw mypassword
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd/tools. Mode 700 recommended.
directory /usr/local/var/openldap-ldbm
# Indices to maintain
index objectClass eq
3. restarted slapd service
II. Configured vpopmail
----------------------------
1. ./configure --enable-ldap=y --enable-roaming-users=y --> no errors
reported
2. Modify vldap.h (note that I pre-created ou=users, dc=sebscape,dc=com
while setting up
openLDAP):
#ifndef VPOPMAIL_LDAP_H
#define VPOPMAIL_LDAP_H
#undef OLD_VLDAP
#define VLDAP_SERVER "localhost"
#define VLDAP_PORT 389
#define VLDAP_USER "cn=Manager, dc=sebscape, dc=com"
#define VLDAP_PASSWORD "mypassword"
#ifdef OLD_VLDAP
#define VLDAP_BASEDN "ou=users, dc=sebscape, dc=com"
#else
#define VLDAP_BASEDN "ou=users, dc=sebscape, dc=com"
#endif
static char *vldap_attrs[] = {
"name",
"uid",
"qmailGID",
"qmailUID",
"qmaildomain",
"userPassword",
"mailQuota",
"mailMessageStore",
NULL
};
#endif
3. make ---> no errors reported
though I notice these warning midway:
vauth.c: In function `vauth_getpw':
vauth.c:80: warning: too many arguments for format
vauth.c: In function `vauth_getall':
vauth.c:310: warning: too many arguments for format
vauth.c: In function `vauth_adddomain':
vauth.c:575: warning: too many arguments for format
vauth.c: In function `vauth_deldomain':
vauth.c:620: warning: too many arguments for format
4. make install-strip --->no errors reported
5. /home/vpopmail/bin/vadddomain mydomain.com
Enter postmaster's password
enter password again
Error: Unable to chdir to vpopmail/users directory
Anyone able to reproduce this? Or better yet, tell me what is causing the
error?
TIA,
Steve B.