虚拟邮件和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显示在这些教程中:
- iRedMail:使用LDAP,Postfix,RoundCube / SquirrelMail,Dovecot,ClamAV,SpamAssassin,Amavisd(Debian 5.0.1)的邮件服务器
- iRedMail:使用LDAP,Postfix,RoundCube,Dovecot,ClamAV,SpamAssassin,DKIM,SPF在CentOS 5.x上构建全功能邮件服务器
- iRedMail 0.6:使用OpenLDAP / Postfix / Dovecot / Amavisd / ClamAV / SpamAssassin / iRedAdmin的全功能邮件服务器
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/