Hosting Virtuale · 3 min read · Dec 22, 2025
Hosting Virtuale Con PureFTPd E MySQL (Inclusi Gestione Quota E Larghezza Di Banda) Su Debian Lenny
Hosting Virtuale Con PureFTPd E MySQL (Inclusi Gestione Quota E Larghezza Di Banda) Su Debian Lenny
Versione 1.0
Autore: Falko Timme
Seguimi su Twitter
Questo documento descrive come installare un server PureFTPd che utilizza utenti virtuali da un database MySQL invece di veri utenti di sistema. Questo è molto più performante e consente di avere migliaia di utenti ftp su una singola macchina. Inoltre, mostrerò l’uso di limiti di quota e di larghezza di banda in upload/download con questa configurazione. Le password saranno memorizzate in modo crittografato come stringhe MD5 nel database.
Per l’amministrazione del database MySQL puoi utilizzare strumenti basati sul web come phpMyAdmin che saranno anche installati in questo howto. phpMyAdmin è un’interfaccia grafica comoda che significa che non devi impazzire con la riga di comando.
Questo tutorial è basato su Debian Lenny (Debian 5.0). Dovresti già aver configurato un sistema Debian Lenny di base, come descritto nei primi sette capitoli di questo tutorial: https://www.howtoforge.com/perfect-server-debian-lenny-ispconfig2
Questo howto è inteso come una guida pratica; non copre gli aspetti teorici. Questi sono trattati in molti altri documenti sul web.
Questo documento viene fornito senza garanzia di alcun tipo! Voglio dire che questo non è l’unico modo per configurare un tale sistema. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non fornisco alcuna garanzia che questo funzionerà per te!
1 Nota Preliminare
In questo tutorial utilizzo il nome host server1.example.com con l’indirizzo IP 192.168.0.100. Queste impostazioni potrebbero differire per te, quindi devi sostituirle dove appropriato.
2 Installa MySQL E phpMyAdmin
Tutto questo può essere installato con un solo comando:
aptitude install mysql-server mysql-client phpmyadmin apache2Ti verranno poste queste domande:
Nuova password per l’utente MySQL “root”: <– yourrootsqlpassword
Ripeti la password per l’utente MySQL “root”: <– yourrootsqlpassword
Server web da riconfigurare automaticamente: <– apache2
3 Installa PureFTPd Con Supporto MySQL
Per Debian è disponibile un pacchetto pure-ftpd-mysql preconfigurato. Installalo in questo modo:
aptitude install pure-ftpd-mysqlPoi creiamo un gruppo ftp (ftpgroup) e un utente (ftpuser) a cui verranno mappati tutti i nostri utenti virtuali. Sostituisci il gruppo e l’ID utente 2001 con un numero che sia libero sul tuo sistema:
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "utente pureftpd" -g ftpgroup ftpuser4 Crea Il Database MySQL Per PureFTPd
Ora creiamo un database chiamato pureftpd e un utente MySQL di nome pureftpd che il demone PureFTPd utilizzerà in seguito per connettersi al database pureftpd:
mysql -u root -pCREATE DATABASE pureftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;Sostituisci la stringa ftpdpass con qualsiasi password tu voglia utilizzare per l’utente MySQL pureftpd. Ancora nella shell MySQL, creiamo la tabella del database di cui abbiamo bisogno (sì, c’è solo una tabella!):
USE pureftpd;CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;quit;Come avrai notato, con il comando quit; siamo usciti dalla shell MySQL e siamo tornati sulla shell di Linux.
A proposito, (presumo che il nome host del tuo sistema server ftp sia server1.example.com) puoi accedere a phpMyAdmin all’indirizzo http://server1.example.com/phpmyadmin/ (puoi anche utilizzare l’indirizzo IP invece di server1.example.com) in un browser e accedere come utente pureftpd. Poi puoi dare un’occhiata al database. Più tardi puoi utilizzare phpMyAdmin per amministrare il tuo server PureFTPd.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.