Hosting Virtuale · 3 min read · Dec 14, 2025
Hosting Virtuale Con vsftpd E MySQL Su Debian Etch
Hosting Virtuale Con vsftpd E MySQL Su Debian Etch
Versione 1.0
Autore: Falko Timme
Vsftpd è uno dei server FTP più sicuri e veloci per Linux. Di solito vsftpd è configurato per lavorare con utenti di sistema. Questo documento descrive come installare un server vsftpd 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.
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 Etch (Debian 4.0). Dovresti già aver configurato un sistema Debian Etch di base, come descritto nei primi sei capitoli di questo tutorial: https://www.howtoforge.com/perfect_setup_debian_etch
Questo howto è inteso come una guida pratica; non copre i fondamenti 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 impostare un sistema del genere. Ci sono molti modi per raggiungere questo obiettivo, ma questo è il modo che seguo. Non rilascio 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 vsftpd, MySQL E phpMyAdmin
Vsftpd non ha supporto MySQL integrato, quindi dobbiamo usare PAM per autenticare contro il database MySQL. Quindi installiamo libpam-mysql oltre a vsftpd, MySQL e phpMyAdmin:
apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadminCrea una password per l’utente MySQL root (sostituisci yourrootsqlpassword con la password che vuoi usare):
mysqladmin -u root password yourrootsqlpasswordPoi controlla con
netstat -tap | grep mysqlsu quali indirizzi MySQL sta ascoltando. Se l’output appare così:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqldil che significa che MySQL sta ascoltando solo su localhost.localdomain, allora sei al sicuro con la password che hai impostato prima. Ma se l’output appare così:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqlddovresti impostare anche una password MySQL per il tuo nome host, perché altrimenti chiunque può accedere al tuo database e modificare i dati:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword3 Crea Il Database MySQL Per vsftpd
Ora creiamo un database chiamato vsftpd e un utente MySQL chiamato vsftpd che il demone vsftpd utilizzerà in seguito per connettersi al database vsftpd:
mysql -u root -pCREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd.* TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY 'ftpdpass';
FLUSH PRIVILEGES;Sostituisci la stringa ftpdpass con qualsiasi password tu voglia usare per l’utente MySQL vsftpd. Ancora sulla shell MySQL, creiamo la tabella del database di cui abbiamo bisogno (sì, c’è solo una tabella!):
USE vsftpd;CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
)
) ENGINE = MYISAM ;quit;Come avrai notato, con il comando quit; siamo usciti dalla shell MySQL e siamo tornati sulla shell Linux.
A proposito, (presumo che il nome host del tuo sistema server ftp sia server1.example.com) puoi accedere a phpMyAdmin sotto http://server1.example.com/phpmyadmin/ (puoi anche usare l’indirizzo IP invece di server1.example.com) in un browser e accedere come utente vsftpd. Poi puoi dare un’occhiata al database. Più avanti puoi usare phpMyAdmin per amministrare il tuo server vsftpd.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.