메일 호스팅 · 2 min read · Jan 22, 2026

iRedMail과 Pure-FTPd를 이용한 FreeBSD에서의 가상 메일 및 FTP 호스팅

iRedMail과 Pure-FTPd를 이용한 FreeBSD에서의 가상 메일 및 FTP 호스팅

iRedMail은 2분 이내에 완전한 기능을 갖춘 메일 솔루션을 신속하게 배포할 수 있게 해주는 셸 스크립트입니다. 0.6 버전부터 FreeBSD 7.2 및 8.0(i386 및 x86_64 모두)를 지원합니다. iRedMail은 가상 도메인 및 사용자 저장을 위한 백엔드로 OpenLDAP 및 MySQL을 모두 지원합니다.

iRedMail의 OpenLDAP 백엔드는 모든 종류의 애플리케이션을 통합할 수 있게 해줍니다. 이 가이드는 FreeBSD 7.2에서 iRedMail ldap 백엔드에 pure-ftpd를 통합하는 방법을 보여줍니다. 비밀번호는 ldap에 저장되며 웹메일을 통해 비밀번호를 변경할 수 있습니다.

이 튜토리얼은 FreeBSD 7.2를 기반으로 하므로 최소한 FreeBSD 7.2를 설정하고, iredmail 0.60을 설치하고, 아래 튜토리얼에 표시된 대로 openldap을 백엔드로 선택할 것을 권장합니다:

  • 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이 포함된 완전한 기능의 메일 서버 (FreeBSD)

1 Pure-FTPd 설치

pure-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 구성

pure-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

pure-ftpd.conf를 편집하여 pure-ftpd가 ldap을 지원하도록 설정합니다:

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

3.1 cn=vmail 비밀번호 찾기

iRedMail 설치 중에 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 비밀번호 |

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 비밀번호 LDAPDefaultUID 1002 # <- 'vmail' 사용자의 UID. LDAPDefaultGID 1002 # <- 'vmail' 사용자의 GID. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- 이 새로운 속성을 추가할 것입니다. LDAPVersion 3 |

3.3 Pure-ftpd 스키마 가져오기

iRedMail에 의해 수정된 스키마를 다운로드합니다:

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 # <-- 이 줄을 추가합니다. |

pureftpd.schema에 정의된 속성에 대한 인덱스를 추가합니다:

| # 기본 인덱스. # 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 # <-- 아래 추가 # FTP 속성에 대한 인덱스. 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/
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.