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.

Reply via email to