Hébergement · 3 min read · Jan 01, 2026
Hébergement de Mail Virtuel et FTP avec iRedMail et Pure-FTPd
Hébergement de Mail Virtuel et FTP avec iRedMail et Pure-FTPd
iRedMail est un script shell qui vous permet de déployer rapidement une solution de messagerie complète en moins de 2 minutes. Depuis iRedMail 0.5, il prend en charge Debian 5.0.1 et Ubuntu 8.04 & Ubuntu 9.04 (i386 et x86_64). iRedMail prend en charge à la fois OpenLDAP et MySQL comme backends pour stocker des domaines et des utilisateurs virtuels.
Le backend OpenLDAP d’iRedMail vous permet d’intégrer toutes sortes d’applications. Ce guide vous montre comment intégrer pure-ftpd dans le backend ldap d’iRedMail sur CentOS 5.x, les mots de passe seront stockés dans ldap et vous pourrez changer le mot de passe via le webmail.
Ce tutoriel est basé sur CentOS 5.3, donc je vous suggère de configurer un minimum de CentOS 5.3, d’installer iRedMail 0.5 RC2 et de choisir OpenLDAP comme backend, comme indiqué dans ces tutoriels :
- iRedMail : Serveur Mail avec LDAP, Postfix, RoundCube/SquirrelMail, Dovecot, ClamAV, SpamAssassin, Amavisd (Debian 5.0.1)
- iRedMail : Construire un Serveur Mail Complet avec LDAP, Postfix, RoundCube, Dovecot, ClamAV, SpamAssassin, DKIM, SPF sur CentOS 5.x
1 Installer Pure-FTPd
Utilisez le dépôt yum rpmforge pour installer pure-ftpd.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- Pour 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 # <-- Pour x86_64 Installez pure-ftpd :
yum install pure-ftpd2 Configurer Pure-FTPd
Fichiers de configuration par défaut :
- /etc/pure-ftpd/pure-ftpd.conf
- /etc/pure-ftpd/pureftpd-ldap.conf
Paramètres de base dans /etc/pure-ftpd/pure-ftpd.conf
Assurez-vous que les options CreateHomeDir et LDAPConfigFile sont activées et ressemblent à ceci :
vi /etc/pure-ftpd/pure-ftpd.conf| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |
Trouver le mot de passe cn=vmail
Le mot de passe vmail a été créé aléatoirement lors de l’installation d’iredmail. Vous pouvez trouver le mot de passe dans /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 mot de passe |
Configurer les paramètres LDAP dans /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 mot de passe LDAPDefaultUID 500 # <- UID de l'utilisateur 'vmail'. LDAPDefaultGID 500 # <- GID de l'utilisateur 'vmail'. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- Ceci est un nouvel attribut, nous allons l'ajouter LDAPVersion 3 |
3 Configurer LDAP
Obtenir le schéma
Vous avez deux façons d’obtenir le schéma pureftpd. Vous n’avez qu’à choisir une.
- Téléchargez le schéma qui a été modifié par iredmail.
- Obtenez le schéma fourni avec pure-ftpd-1.0.22 et modifiez-le.
Téléchargez le schéma qui a été modifié par iredmail :
wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/Obtenez le schéma fourni avec 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/Modifier /etc/openldap/schema/pureftpd.schema
Nous devons ajouter un attribut supplémentaire ‘FTPHomeDir’ avant la définition de l’objectclass, utilisé pour stocker le répertoire FTP de l’utilisateur.
vi /etc/openldap/schema/pureftpd.schema| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC 'UID système (remplace gidNumber si présent)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # Ajouter un nouvel attribut FTPHomeDir. attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'Répertoire FTP' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## Nouveau type d'objet Pure-FTPd objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC 'Utilisateur PureFTPd avec quota, limitation et ratio optionnels' SUP top AUXILIARY # <-- Ajoutez cette ligne. MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- Ajoutez $ FTPHomeDir |
Modifier /etc/openldap/slapd.conf
vi /etc/openldap/slapd.confIncluez pureftpd.schema après iredmail.schema :
| include /etc/openldap/schema/iredmail.schema include /etc/openldap/schema/pureftpd.schema # <-- Ajoutez cette ligne. |
Ajoutez un index pour les attributs définis dans pureftpd.schema :
| # Index par défaut. # 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 # <-- Ajoutez ci-dessous #Index pour les attributs FTP. index FTPQuotaFiles,FTPQuotaMBytes eq,pres index FTPUploadRatio,FTPDownloadRatio eq,pres index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres |
4 Créer le Répertoire Home FTP
Les données FTP sont toutes stockées dans le répertoire /home/ftp/. Créez /home/ftp/, le propriétaire doit être l’utilisateur root.
mkdir /home/ftp/
ls -dl /home/ftpdrwxr-xr-x 3 root root 4096 Jun 7 20:18 /home/ftp/5 Redémarrer le service OpenLDAP pour faire fonctionner pureftpd.schema
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartAssurez-vous que pure-ftpd fonctionne :
netstat -ntlp | grep pure-ftpdtcp 0 0 0.0.0.0:21 0.0.0.0: LISTEN 2062/pure-ftpd (SERVEUR)
tcp 0 0 :::21 ::: LISTEN 2062/pure-ftpd (SERVEUR)
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.