Хостинг · 3 min read · Jan 01, 2026
Виртуальный почтовый и FTP-хостинг с iRedMail и Pure-FTPd
Виртуальный почтовый и FTP-хостинг с iRedMail и Pure-FTPd
iRedMail — это оболочка-скрипт, которая позволяет вам быстро развернуть полнофункциональное почтовое решение менее чем за 2 минуты. Начиная с iRedMail 0.5, он поддерживает Debian 5.0.1 и Ubuntu 8.04 & Ubuntu 9.04 (как i386, так и x86_64). iRedMail поддерживает как OpenLDAP, так и MySQL в качестве бэкендов для хранения виртуальных доменов и пользователей.
Бэкенд OpenLDAP iRedMail позволяет вам интегрировать все виды приложений. Этот гид показывает, как интегрировать pure-ftpd в бэкенд ldap iRedMail на CentOS 5.x, пароли будут храниться в 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 пароль |
Настройте параметры LDAP в /etc/pure-ftpd/pureftpd-ldap.conf
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 # <- UID пользователя 'vmail'. LDAPDefaultGID 500 # <- GID пользователя 'vmail'. 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
Нам нужно добавить еще один атрибут ‘FTPHomeDir’ перед определением objectclass, используемым для хранения FTP-директории пользователя.
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.confВключите pureftpd.schema после iredmail.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 Перезапустите службу OpenLDAP, чтобы схема pureftpd.schema заработала
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartУбедитесь, что pure-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)
Get new posts in your inbox
No spam. Unsubscribe anytime.