Hosting · 3 min read · Jan 01, 2026
Hosting di posta virtuale e FTP con iRedMail e Pure-FTPd
Hosting di posta virtuale e FTP con iRedMail e Pure-FTPd
iRedMail è uno script shell che ti consente di implementare rapidamente una soluzione di posta completa in meno di 2 minuti. Dalla versione 0.5, iRedMail supporta Debian 5.0.1 e Ubuntu 8.04 & Ubuntu 9.04 (sia i386 che x86_64). iRedMail supporta sia OpenLDAP che MySQL come backend per memorizzare domini virtuali e utenti.
Il backend OpenLDAP di iRedMail ti consente di integrare tutti i tipi di applicazioni. Questa guida ti mostra come integrare pure-ftpd nel backend ldap di iRedMail su CentOS 5.x, le password saranno memorizzate in ldap e puoi cambiare la password tramite webmail.
Questo tutorial è basato su CentOS 5.3, quindi ti consiglio di configurare un minimo di CentOS 5.3, installare iRedMail 0.5 RC2 e scegliere OpenLDAP come backend, come mostrato in questi tutorial:
- iRedMail: Server di posta con LDAP, Postfix, RoundCube/SquirrelMail, Dovecot, ClamAV, SpamAssassin, Amavisd (Debian 5.0.1)
- iRedMail: Costruisci un server di posta completo con LDAP, Postfix, RoundCube, Dovecot, ClamAV, SpamAssassin, DKIM, SPF su CentOS 5.x
1 Installa Pure-FTPd
Usa il repository yum rpmforge per installare pure-ftpd.
rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm # <-- Per 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 # <-- Per x86_64 Installa pure-ftpd:
yum install pure-ftpd2 Configura Pure-FTPd
File di configurazione predefiniti:
- /etc/pure-ftpd/pure-ftpd.conf
- /etc/pure-ftpd/pureftpd-ldap.conf
Impostazioni di base in /etc/pure-ftpd/pure-ftpd.conf
Assicurati che le opzioni CreateHomeDir e LDAPConfigFile siano abilitate e appaiano così:
vi /etc/pure-ftpd/pure-ftpd.conf| CreateHomeDir yes LDAPConfigFile /etc/pure-ftpd/pureftpd-ldap.conf |
Trova la password cn=vmail
La password vmail è stata creata casualmente durante l’installazione di iredmail. Puoi trovare la password in /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 password |
Configura le impostazioni LDAP 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 password LDAPDefaultUID 500 # <- UID dell'utente 'vmail'. LDAPDefaultGID 500 # <- GID dell'utente 'vmail'. LDAPFilter (&(objectClass=PureFTPdUser)(mail=\L)(FTPStatus=enabled)) LDAPHomeDir FTPHomeDir # <- Questo è un nuovo attributo, lo aggiungeremo LDAPVersion 3 |
3 Configura LDAP
Ottieni lo schema
Hai due modi per ottenere lo schema pureftpd. Devi solo scegliere uno.
- Scarica lo schema che è stato modificato da iredmail.
- Ottieni lo schema fornito con pure-ftpd-1.0.22 e modificalo.
Scarica lo schema che è stato modificato da iredmail:
wget http://iredmail.googlecode.com/hg/extra/pureftpd.schema -P /etc/openldap/schema/Ottieni lo schema fornito con 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/Modifica /etc/openldap/schema/pureftpd.schema
Dobbiamo aggiungere un altro attributo ‘FTPHomeDir’ prima della definizione dell’objectclass, utilizzato per memorizzare la directory FTP dell’utente.
vi /etc/openldap/schema/pureftpd.schema| attributetype ( 1.3.6.1.4.1.6981.11.3.9 NAME 'FTPgid' DESC 'System uid (overrides gidNumber if present)' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 SINGLE-VALUE ) # Aggiungi il nuovo attributo FTPHomeDir. attributetype ( 1.3.6.1.4.1.6981.11.3.10 NAME 'FTPHomeDir' DESC 'Directory FTP' EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 SINGLE-VALUE ) ## Nuovo tipo di oggetto Pure-FTPd objectclass ( 1.3.6.1.4.1.6981.11.2.3 NAME 'PureFTPdUser' DESC 'Utente PureFTPd con quota opzionale, limitazione e rapporto' SUP top AUXILIARY # <-- Aggiungi questa riga. MAY ( FTPStatus $ FTPQuotaFiles $ FTPQuotaMBytes $ FTPUploadRatio $ FTPDownloadRatio $ FTPUploadBandwidth $ FTPDownloadBandwidth $ FTPuid $ FTPgid $ FTPHomeDir ) ) # <-- Aggiungi $ FTPHomeDir |
Modifica /etc/openldap/slapd.conf
vi /etc/openldap/slapd.confIncludi pureftpd.schema dopo iredmail.schema:
| include /etc/openldap/schema/iredmail.schema include /etc/openldap/schema/pureftpd.schema # <-- Aggiungi questa riga. |
Aggiungi indice per gli attributi definiti in pureftpd.schema:
| # Indice predefinito. # 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 # <-- Aggiungi quanto segue #Indice per gli attributi FTP. index FTPQuotaFiles,FTPQuotaMBytes eq,pres index FTPUploadRatio,FTPDownloadRatio eq,pres index FTPUploadBandwidth,FTPDownloadBandwidth eq,pres index FTPStatus,FTPuid,FTPgid,FTPHomeDir eq,pres |
4 Crea la directory home FTP
I dati FTP sono tutti memorizzati nella directory /home/ftp/. Crea /home/ftp/, il proprietario deve essere l’utente root.
mkdir /home/ftp/
ls -dl /home/ftpdrwxr-xr-x 3 root root 4096 Jun 7 20:18 /home/ftp/5 Riavvia il servizio OpenLDAP per far funzionare pureftpd.schema
/etc/init.d/ldap restart
/etc/init.d/pure-ftpd restartAssicurati che pure-ftpd sia in esecuzione:
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)
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.