虚拟邮件和FTP托管与iRedMail和Pure-FTPd在FreeBSD

虚拟邮件和FTP托管与iRedMail和Pure-FTPd在FreeBSD   iRedMail是一个shell脚本,让您快速部署一个 全功能

虚拟邮件和FTP主机与iRedMail和Pure-FTPd在FreeBSD上

iRedMail是一个外壳脚本,可让您在不到2分钟内快速部署全功能邮件解决方案。 自版本0.6以来,它支持FreeBSD 7.2和8.0(i386和x86_64)。 iRedMail支持OpenLDAP和MySQL作为后端用于存储虚拟域和用户。

iRedMail的OpenLDAP后端可让您集成各种应用程序。 本指南介绍如何将pure-ftpd集成到FreeBSD 7.2中的iRedMail ldap后端,密码将存储在ldap中,您可以通过webmail更改密码。

本教程基于FreeBSD 7.2,所以建议您设置一个最小的FreeBSD 7.2,安装iredmail 0.60并选择openldap作为后端,ss显示在这些教程中:

1安装Pure-FTPd

安装纯ftpd:

# cd /usr/ports/ftp/pure-ftpd/
# make install clean

Pure-ftpd的选项,LDAP必须选择:

2添加FTP用户

安装pureftp时,会创建一个ftp组,但没有ftp用户; 这导致错误“mail pure-ftpd:(?:?)[ERROR]无法找到”ftp“帐户。 所以我们需要手动创建ftp用户。

# pw useradd ftp -u 14 -g 14 -s /sbin/nologin -d /dev/null
# cat /etc/passwd | grep ftp

ftp:*:14:14:User &:/dev/null:/sbin/nologin

# cat /etc/group | grep ftp

ftp:*:14:

3配置Pure-ftpd

创建纯ftp配置文件:

# cd /usr/local/etc
# cp pure-ftpd.conf.sample pure-ftpd.conf
# cp pureftpd-ldap.conf.sample pureftpd-ldap.conf
# chmod 644 pure-ftpd.conf
# chmod 644 pureftpd-ldap.conf
# echo 'pureftpd_enable="YES"' >> /etc/rc.conf

编辑纯ftpd.conf ,让纯ftpd支持ldap:

LDAPConfigFile              /usr/local/etc/pureftpd-ldap.conf
CreateHomeDir               yes

3.1查找cn = vmail密码

在iremail安装期间随机创建vmail密码。 您可以在/usr/local/etc/postfix/ldap_virtual_mailbox_domains.cf中找到密码:

cat /usr/local/etc/postfix/ldap_virtual_mailbox_domains.cf

bind_dn         = cn=vmail,dc=example,dc=com
bind_pw         = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail password

3.2编辑pureftpd-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 1002      # <- UID of 'vmail' user.
LDAPDefaultGID 1002      # <- GID of 'vmail' user.
LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled))
LDAPHomeDir FTPHomeDir  # <- This is new attribute, we will add it
LDAPVersion 3

3.3获取Pure-ftpd架构

下载由iremail修改的模式:

wget http://iredmail.googlecode.com/svn/trunk/extra/pureftpd.schema -P /usr/local/etc/openldap/schema/

3.4编辑/usr/local/etc/openldap/slapd.conf

iredmail.schema之后包含pureftpd.schema

include /usr/local/etc/openldap/schema/iredmail.schema
include /usr/local/etc/openldap/schema/pureftpd.schema    # <-- Add this line.

添加在pureftpd.schema中定义的属性的索引

# Default index.
#
index objectClass                                   eq,pres
index ou,cn,mail,surname,givenname,telephoneNumber  eq,pres,sub
index uidNumber,gidNumber,loginShell                eq,pres
index uid,memberUid                                 eq,pres,sub
index nisMapName,nisMapEntry                        eq,pres,sub
# <-- Add the below
#Index for FTP attrs.
index FTPQuotaFiles,FTPQuotaMBytes eq,pres
index FTPUploadRatio,FTPDownloadRatio eq,pres
index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres
index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres

4创建FTP主目录

FTP数据都存储在/ home / ftp /目录中。 创建/ home / ftp / ,所有者必须是root用户。

# mkdir /home/ftp/
# ls -dl /home/ftp/

drwxr-xr-x 2 root wheel 512 Jan 31 13:25 /home/ftp/