Integration/PureFTPd.iRedMail.with.OpenLDAP/Debian

From iRedMail

(Difference between revisions)
Jump to: navigation, search
(Config PureFTPD)
(Config PureFTPD)
Line 51: Line 51:
{{cmd|<pre>
{{cmd|<pre>
echo "yes" > /etc/pure-ftpd/conf/DontResolve
echo "yes" > /etc/pure-ftpd/conf/DontResolve
 +
</pre>}}
 +
 +
 +
=Config the LDAP setting for PureFTPD=
 +
 +
* Open  /etc/pure-ftpd/db/ldap.conf and change the value :
 +
{{cfg| /etc/pure-ftpd/db/ldap.conf |<pre>
 +
LDAPServer localhost
 +
LDAPPort 389
 +
LDAPBaseDN o=domains,dc=example,dc=com
 +
LDAPBindDN cn=vmail,dc=example,dc=com
 +
LDAPBindPW kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail password
 +
LDAPDefaultUID 1000      # <- UID of 'vmail' user.
 +
LDAPDefaultGID 1000      # <- GID of 'vmail' user.
 +
LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled))
 +
LDAPHomeDir FTPHomeDir  # <- This is new attribute, we will add it
 +
LDAPVersion 3
</pre>}}
</pre>}}

Revision as of 03:21, 29 March 2010

Contents

Install Pure-FTPd

Install PureFTPD

Terminal:
#apt-get install pure-ftpd-ldap 

Find vmail user password

For security reason, we only need to use the vmail user to search ldap, not suggest use the admin to search.

vmail password was random create duiring iredmail install.you can find the password in /etc/postfix/ldap_virtual_mailbox_domains.cf

  • Open /etc/postfix/ldap_virtual_mailbox_domains.cf :
File: /etc/postfix/ldap_virtual_mailbox_domains.cf
bind_dn         = cn=vmail,dc=example,dc=com
bind_pw         = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail password

Config PureFTPD

  • Configure PureFTPd as a standalone daemon (it is currently controlled by inetd)

Open /etc/default/pure-ftpd-common and set correct values:

File: /etc/default/pure-ftpd-common
#STANDALONE_OR_INETD=inetd
STANDALONE_OR_INETD=standalone    #change to standalone

Open /etc/inetd.conf and comment out the ftp line::

File: /etc/inetd.conf
#ftp    stream  tcp     nowait  root    /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper
  • Make PureFTPd chroot every virtual user in his home directory so he will not be able to browse directories and files outside his home directory.
Terminal:
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
  • Make PureFTPd create a user's home directory when the user logs in and the home directory does not exist yet.
Terminal:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
  • Make that PureFTPd doesn't look up host names which can significantly speed up connections and reduce bandwidth usage.
Terminal:
echo "yes" > /etc/pure-ftpd/conf/DontResolve


Config the LDAP setting for PureFTPD

  • Open /etc/pure-ftpd/db/ldap.conf and change the value :
File: /etc/pure-ftpd/db/ldap.conf
LDAPServer localhost
LDAPPort 389
LDAPBaseDN o=domains,dc=example,dc=com
LDAPBindDN cn=vmail,dc=example,dc=com
LDAPBindPW kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail password 
LDAPDefaultUID 1000      # <- UID of 'vmail' user.
LDAPDefaultGID 1000      # <- GID of 'vmail' user.
LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled))
LDAPHomeDir FTPHomeDir  # <- This is new attribute, we will add it
LDAPVersion 3
Personal tools