Mail Hosting · 3 min read · Jan 01, 2026
Virtuelle Mail- und FTP-Hosting mit iRedMail und Pure-FTPd
Virtuelle Mail- und FTP-Hosting mit iRedMail und Pure-FTPd
iRedMail ist ein Shell-Skript, das es Ihnen ermöglicht, in weniger als 2 Minuten eine voll funktionsfähige Mail-Lösung schnell bereitzustellen. Seit iRedMail 0.5 unterstützt es Debian 5.0.1 und Ubuntu 8.04 & Ubuntu 9.04 (sowohl i386 als auch x86_64). iRedMail unterstützt sowohl OpenLDAP als auch MySQL als Backends zur Speicherung virtueller Domains und Benutzer.
Das OpenLDAP-Backend von iRedMail ermöglicht es Ihnen, alle Arten von Anwendungen zu integrieren. Diese Anleitung zeigt Ihnen, wie Sie pure-ftpd in das iRedMail ldap-Backend auf CentOS 5.x integrieren, Passwörter werden in ldap gespeichert und Sie können das Passwort über Webmail ändern.
Dieses Tutorial basiert auf CentOS 5.3, daher empfehle ich Ihnen, ein minimales CentOS 5.3 einzurichten, iRedMail 0.5 RC2 zu installieren und OpenLDAP als Backend auszuwählen, wie in diesen Tutorials gezeigt:
- iRedMail: Mail-Server mit LDAP, Postfix, RoundCube/SquirrelMail, Dovecot, ClamAV, SpamAssassin, Amavisd (Debian 5.0.1)
- iRedMail: Erstellen Sie einen voll funktionsfähigen Mail-Server mit LDAP, Postfix, RoundCube, Dovecot, ClamAV, SpamAssassin, DKIM, SPF auf CentOS 5.x
1 Installieren Sie Pure-FTPd
Verwenden Sie das rpmforge yum-Repository, um pure-ftpd zu installieren.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- Für 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 # <-- Für x86_64 Installieren Sie pure-ftpd:
yum install pure-ftpd2 Konfigurieren Sie Pure-FTPd
Standardkonfigurationsdateien:
- /etc/pure-ftpd/pure-ftpd.conf
- /etc/pure-ftpd/pureftpd-ldap.conf
Grundlegende Einstellungen in /etc/pure-ftpd/pure-ftpd.conf
Stellen Sie sicher, dass die Optionen CreateHomeDir und LDAPConfigFile aktiviert sind und so aussehen:
vi /etc/pure-ftpd/pure-ftpd.conf| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |
Finden Sie das cn=vmail-Passwort
Das vmail-Passwort wurde während der iredmail-Installation zufällig erstellt. Sie können das Passwort in /etc/postfix/ldap_virtual_mailbox_domains.cf finden:
vi /etc/postfix/ldap_virtual_mailbox_domains.cf| bind_dn = cn=vmail,dc=example,dc=com bind_pw = kZ6uB29mViWKWI9lOH3cGnF7z3Dw3B #cn=vmail Passwort |
Konfigurieren Sie die LDAP-Einstellungen in /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 Passwort LDAPDefaultUID 500 # <- UID des 'vmail'-Benutzers. LDAPDefaultGID 500 # <- GID des 'vmail'-Benutzers. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- Dies ist ein neues Attribut, das wir hinzufügen werden LDAPVersion 3 |
3 Konfigurieren Sie LDAP
Schema abrufen
Sie haben zwei Möglichkeiten, das pureftpd-Schema zu erhalten. Sie müssen nur eine auswählen.
- Laden Sie das Schema herunter, das von iredmail modifiziert wurde.
- Holen Sie sich das Schema, das mit pure-ftpd-1.0.22 geliefert wird, und modifizieren Sie es.
Laden Sie das Schema herunter, das von iredmail modifiziert wurde:
wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/Holen Sie sich das Schema, das mit pure-ftpd-1.0.22 geliefert wird:
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/Ändern Sie /etc/openldap/schema/pureftpd.schema
Wir müssen ein weiteres Attribut ‘FTPHomeDir’ vor der Objektklassendefinition hinzufügen, das verwendet wird, um das FTP-Verzeichnis des Benutzers zu speichern.
vi /etc/openldap/schema/pureftpd.schema| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC 'System uid (überschreibt gidNumber, wenn vorhanden)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # Neues attributetype FTPHomeDir hinzufügen. attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'FTP-Verzeichnis' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## Neuer Pure-FTPd-Objekttyp objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC 'PureFTPd-Benutzer mit optionalem Kontingent, Drosselung und Verhältnis' SUP top AUXILIARY # <-- Diese Zeile hinzufügen. MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- $ FTPHomeDir hinzufügen |
Ändern Sie /etc/openldap/slapd.conf
vi /etc/openldap/slapd.confFügen Sie pureftpd.schema nach iredmail.schema ein:
| include /etc/openldap/schema/iredmail.schema include /etc/openldap/schema/pureftpd.schema # <-- Diese Zeile hinzufügen. |
Fügen Sie einen Index für die in pureftpd.schema definierten Attribute hinzu:
| # Standardindex. # 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 # <-- Fügen Sie das Folgende hinzu #Index für FTP-Attribute. index FTPQuotaFiles,FTPQuotaMBytes eq,pres index FTPUploadRatio,FTPDownloadRatio eq,pres index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres |
4 Erstellen Sie das FTP-Heimverzeichnis
FTP-Daten werden alle im Verzeichnis /home/ftp/ gespeichert. Erstellen Sie /home/ftp/, der Besitzer muss der Root-Benutzer sein.
mkdir /home/ftp/
ls -dl /home/ftpdrwxr-xr-x 3 root root 4096 Jun 7 20:18 /home/ftp/5 Starten Sie den OpenLDAP-Dienst neu, um pureftpd.schema zu aktivieren
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartStellen Sie sicher, dass pure-ftpd läuft:
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)
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.