Hébergement Virtuel · 3 min read · Dec 14, 2025
Hébergement Virtuel Avec vsftpd Et MySQL Sur Debian Etch
Hébergement Virtuel Avec vsftpd Et MySQL Sur Debian Etch
Version 1.0
Auteur : Falko Timme
Vsftpd est l’un des serveurs FTP les plus sécurisés et rapides pour Linux. En général, vsftpd est configuré pour fonctionner avec des utilisateurs système. Ce document décrit comment installer un serveur vsftpd qui utilise des utilisateurs virtuels à partir d’une base de données MySQL au lieu d’utilisateurs système réels. Cela est beaucoup plus performant et permet d’avoir des milliers d’utilisateurs FTP sur une seule machine.
Pour l’administration de la base de données MySQL, vous pouvez utiliser des outils basés sur le web comme phpMyAdmin qui seront également installés dans ce guide. phpMyAdmin est une interface graphique confortable, ce qui signifie que vous n’avez pas à vous embêter avec la ligne de commande.
Ce tutoriel est basé sur Debian Etch (Debian 4.0). Vous devriez déjà avoir configuré un système Debian Etch de base, comme décrit dans les six premiers chapitres de ce tutoriel : https://www.howtoforge.com/perfect_setup_debian_etch
Ce guide est destiné à être un guide pratique ; il ne couvre pas les bases théoriques. Elles sont traitées dans de nombreux autres documents sur le web.
Ce document est fourni sans aucune garantie ! Je tiens à dire que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que j’utilise. Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque Préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer le cas échéant.
2 Installer vsftpd, MySQL Et phpMyAdmin
Vsftpd n’a pas de support MySQL intégré, nous devons donc utiliser PAM pour authentifier contre la base de données MySQL. Nous installons donc libpam-mysql en plus de vsftpd, MySQL et phpMyAdmin :
apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadminCréez un mot de passe pour l’utilisateur MySQL root (remplacez yourrootsqlpassword par le mot de passe que vous souhaitez utiliser) :
mysqladmin -u root password yourrootsqlpasswordEnsuite, vérifiez avec
netstat -tap | grep mysqlsur quelles adresses MySQL écoute. Si la sortie ressemble à ceci :
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqldce qui signifie que MySQL écoute uniquement sur localhost.localdomain, alors vous êtes en sécurité avec le mot de passe que vous avez défini précédemment. Mais si la sortie ressemble à ceci :
tcp 0 0 *:mysql *:* LISTEN 2713/mysqldvous devriez également définir un mot de passe MySQL pour votre nom d’hôte, car sinon n’importe qui peut accéder à votre base de données et modifier des données :
mysqladmin -h server1.example.com -u root password yourrootsqlpassword3 Créer La Base De Données MySQL Pour vsftpd
Maintenant, nous créons une base de données appelée vsftpd et un utilisateur MySQL nommé vsftpd que le démon vsftpd utilisera plus tard pour se connecter à la base de données 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;Remplacez la chaîne ftpdpass par le mot de passe que vous souhaitez utiliser pour l’utilisateur MySQL vsftpd. Toujours dans le shell MySQL, nous créons la table de base de données dont nous avons besoin (oui, il n’y a qu’une seule table !) :
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;Comme vous l’avez peut-être remarqué, avec la commande quit; nous avons quitté le shell MySQL et sommes de retour dans le shell Linux.
Au fait, (je suppose que le nom d’hôte de votre système de serveur FTP est server1.example.com) vous pouvez accéder à phpMyAdmin sous http://server1.example.com/phpmyadmin/ (vous pouvez également utiliser l’adresse IP au lieu de server1.example.com) dans un navigateur et vous connecter en tant qu’utilisateur vsftpd. Ensuite, vous pouvez jeter un œil à la base de données. Plus tard, vous pouvez utiliser phpMyAdmin pour administrer votre serveur vsftpd.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.