메일 및 FTP 호스팅 · 3 min read · Jan 01, 2026
iRedMail 및 Pure-FTPd를 이용한 가상 메일 및 FTP 호스팅
iRedMail 및 Pure-FTPd를 이용한 가상 메일 및 FTP 호스팅
iRedMail은 2분 이내에 전체 기능을 갖춘 메일 솔루션을 신속하게 배포할 수 있게 해주는 셸 스크립트입니다. iRedMail 0.5부터는 Debian 5.0.1 및 Ubuntu 8.04 & Ubuntu 9.04(i386 및 x86_64)를 지원합니다. iRedMail은 가상 도메인 및 사용자를 저장하기 위한 백엔드로 OpenLDAP 및 MySQL을 모두 지원합니다.
OpenLDAP 백엔드의 iRedMail은 모든 종류의 애플리케이션을 통합할 수 있게 해줍니다. 이 가이드는 CentOS 5.x에서 iRedMail ldap 백엔드에 pure-ftpd를 통합하는 방법을 보여줍니다. 비밀번호는 ldap에 저장되며 웹메일을 통해 비밀번호를 변경할 수 있습니다.
이 튜토리얼은 CentOS 5.3을 기반으로 하므로 최소한의 CentOS 5.3을 설정하고 iRedMail 0.5 RC2를 설치한 후 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)
1 Pure-FTPd 설치
rpmforge yum 저장소를 사용하여 pure-ftpd를 설치합니다.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- i386용
rpm -Uhv http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS//rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm # <-- x86_64용 pure-ftpd를 설치합니다:
yum install pure-ftpd2 Pure-FTPd 구성
기본 구성 파일:
- /etc/pure-ftpd/pure-ftpd.conf
- /etc/pure-ftpd/pureftpd-ldap.conf
/etc/pure-ftpd/pure-ftpd.conf의 기본 설정
CreateHomeDir 및 LDAPConfigFile 옵션이 활성화되어 있는지 확인하고 다음과 같이 설정합니다:
vi /etc/pure-ftpd/pure-ftpd.conf| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |
cn=vmail 비밀번호 찾기
vmail 비밀번호는 iredmail 설치 중에 무작위로 생성되었습니다. 비밀번호는 /etc/postfix/ldap_virtual_mailbox_domains.cf에서 찾을 수 있습니다:
vi /etc/postfix/ldap_virtual_mailbox_domains.cf| bind_dn = cn=vmail,dc=example,dc=com bind_pw = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail 비밀번호 |
/etc/pure-ftpd/pureftpd-ldap.conf에서 LDAP 설정 구성
vi /etc/pure-ftpd/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 500 # <- 'vmail' 사용자의 UID. LDAPDefaultGID 500 # <- 'vmail' 사용자의 GID. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- 이 새로운 속성을 추가할 것입니다. LDAPVersion 3 |
3 LDAP 구성
스키마 가져오기
pureftpd 스키마를 가져오는 방법은 두 가지가 있습니다. 하나만 선택하면 됩니다.
- iredmail에 의해 수정된 스키마를 다운로드합니다.
- pure-ftpd-1.0.22에 포함된 스키마를 가져와 수정합니다.
iredmail에 의해 수정된 스키마를 다운로드합니다:
wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/pure-ftpd-1.0.22에 포함된 스키마를 가져옵니다:
cd /tmp/
wget http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.22.tar.bz2
tar xjf pure-ftpd-1.0.22.tar.bz2
cp pure-ftpd-1.0.22/pureftpd.schema /etc/openldap/schema//etc/openldap/schema/pureftpd.schema 수정
사용자의 FTP 디렉토리를 저장하는 데 사용되는 ‘FTPHomeDir’라는 속성을 객체 클래스 정의 전에 추가해야 합니다.
vi /etc/openldap/schema/pureftpd.schema| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC '시스템 uid (gidNumber가 존재할 경우 이를 덮어씀)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # 새로운 attributetype FTPHomeDir 추가. attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'FTP 디렉토리' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## 새로운 Pure-FTPd 객체 유형 objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC '선택적 쿼터, 제한 및 비율이 있는 PureFTPd 사용자' SUP top AUXILIARY # <-- 이 줄을 추가합니다. MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- $ FTPHomeDir 추가 |
/etc/openldap/slapd.conf 수정
vi /etc/openldap/slapd.confiredmail.schema 다음에 pureftpd.schema를 포함합니다:
| include /etc/openldap/schema/iredmail.schema include /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/ftpdrwxr-xr-x 3 root root 4096 Jun 7 20:18 /home/ftp/5 pureftpd.schema가 작동하도록 OpenLDAP 서비스를 재시작합니다
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartpure-ftpd가 실행 중인지 확인합니다:
netstat -ntlp | grep pure-ftpdtcp 0 0 0.0.0.0:21 0.0.0.0: LISTEN 2062/pure-ftpd (SERVER)
tcp 0 0 :::21 ::: LISTEN 2062/pure-ftpd (SERVER)
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.