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 phpmyadmin

Crea una password per l’utente MySQL root (sostituisci yourrootsqlpassword con la password che vuoi usare):

mysqladmin -u root password yourrootsqlpassword

Poi controlla con

netstat -tap | grep mysql

su quali indirizzi MySQL sta ascoltando. Se l’output appare così:

tcp        0      0 localhost.localdo:mysql *:*                     LISTEN     2713/mysqld

il 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/mysqld

dovresti 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 yourrootsqlpassword

3 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 -p
CREATE 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.

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.