Hosting · 3 min read · Jan 01, 2026
Alojamiento de Correo Virtual y FTP con iRedMail y Pure-FTPd
Alojamiento de Correo Virtual y FTP con iRedMail y Pure-FTPd
iRedMail es un script de shell que te permite desplegar rápidamente una solución de correo completa en menos de 2 minutos. Desde iRedMail 0.5, es compatible con Debian 5.0.1 y Ubuntu 8.04 & Ubuntu 9.04 (tanto i386 como x86_64). iRedMail admite tanto OpenLDAP como MySQL como backends para almacenar dominios y usuarios virtuales.
El backend OpenLDAP de iRedMail te permite integrar todo tipo de aplicaciones. Esta guía te muestra cómo integrar pure-ftpd en el backend ldap de iRedMail en CentOS 5.x, las contraseñas se almacenarán en ldap y podrás cambiar la contraseña a través de webmail.
Este tutorial se basa en CentOS 5.3, así que te sugiero que configures un mínimo de CentOS 5.3, instales iRedMail 0.5 RC2 y elijas OpenLDAP como backend, como se muestra en estos tutoriales:
- iRedMail: Servidor de Correo con LDAP, Postfix, RoundCube/SquirrelMail, Dovecot, ClamAV, SpamAssassin, Amavisd (Debian 5.0.1)
- iRedMail: Construye un Servidor de Correo Completo con LDAP, Postfix, RoundCube, Dovecot, ClamAV, SpamAssassin, DKIM, SPF en CentOS 5.x
1 Instalar Pure-FTPd
Usa el repositorio yum rpmforge para instalar pure-ftpd.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- Para 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 # <-- Para x86_64 Instala pure-ftpd:
yum install pure-ftpd2 Configurar Pure-FTPd
Archivos de configuración predeterminados:
- /etc/pure-ftpd/pure-ftpd.conf
- /etc/pure-ftpd/pureftpd-ldap.conf
Configuraciones básicas en /etc/pure-ftpd/pure-ftpd.conf
Asegúrate de que las opciones CreateHomeDir y LDAPConfigFile estén habilitadas y se vean así:
vi /etc/pure-ftpd/pure-ftpd.conf| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |
Encontrar la contraseña de cn=vmail
La contraseña de vmail fue creada aleatoriamente durante la instalación de iredmail. Puedes encontrar la contraseña en /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 contraseña |
Configurar las opciones LDAP en /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 contraseña LDAPDefaultUID 500 # <- UID del usuario 'vmail'. LDAPDefaultGID 500 # <- GID del usuario 'vmail'. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- Este es un nuevo atributo, lo añadiremos LDAPVersion 3 |
3 Configurar LDAP
Obtener esquema
Tienes dos formas de obtener el esquema pureftpd. Solo necesitas elegir una.
- Descargar el esquema que ha sido modificado por iredmail.
- Obtener el esquema incluido en pure-ftpd-1.0.22 y modificarlo.
Descargar el esquema que ha sido modificado por iredmail:
wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/Obtener el esquema incluido en 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/Modificar /etc/openldap/schema/pureftpd.schema
Necesitamos agregar un atributo más ‘FTPHomeDir’ antes de la definición de objectclass, utilizado para almacenar el directorio FTP del usuario.
vi /etc/openldap/schema/pureftpd.schema| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC 'UID del sistema (anula gidNumber si está presente)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # Agregar nuevo attributetype FTPHomeDir. attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'Directorio FTP' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## Nuevo tipo de objeto Pure-FTPd objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC 'Usuario de PureFTPd con cuota opcional, limitación y ratio' SUP top AUXILIARY # <-- Agrega esta línea. MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- Agrega $ FTPHomeDir |
Modificar /etc/openldap/slapd.conf
vi /etc/openldap/slapd.confIncluye pureftpd.schema después de iredmail.schema:
| include /etc/openldap/schema/iredmail.schema include /etc/openldap/schema/pureftpd.schema # <-- Agrega esta línea. |
Agrega índice para atributos definidos en pureftpd.schema:
| # Índice predeterminado. # 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 # <-- Agrega lo siguiente #Índice para atributos FTP. index FTPQuotaFiles,FTPQuotaMBytes eq,pres index FTPUploadRatio,FTPDownloadRatio eq,pres index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres |
4 Crear Directorio Home FTP
Los datos FTP se almacenan todos en el directorio /home/ftp/. Crea /home/ftp/, el propietario debe ser el usuario root.
mkdir /home/ftp/
ls -dl /home/ftpdrwxr-xr-x 3 root root 4096 Jun 7 20:18 /home/ftp/5 Reiniciar el servicio OpenLDAP para hacer que pureftpd.schema funcione
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartAsegúrate de que pure-ftpd esté en funcionamiento:
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)
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.