Hébergement Virtuel · 6 min read · Nov 27, 2025
Hébergement Virtuel Avec PureFTPd Et MySQL (Incl. Gestion Des Quotas Et De La Bande Passante) Sur CentOS 6.5
Hébergement Virtuel Avec PureFTPd Et MySQL (Incl. Gestion Des Quotas Et De La Bande Passante) Sur CentOS 6.5
Version 1.0
Auteur : Falko Timme, mis à jour par Srijan Kishore
Suivez howtoforge sur Twitter
Ce document décrit comment installer un serveur PureFTPd 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. En plus de cela, je vais montrer l’utilisation de quotas et de limites de bande passante de téléchargement/téléversement avec cette configuration. Les mots de passe seront stockés cryptés sous forme de chaînes MD5 dans la base de données.
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 tutoriel. 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 CentOS 6.5. Vous devriez déjà avoir configuré un système de base CentOS 6.5, par exemple comme décrit dans les six premiers chapitres de ce tutoriel : Le Serveur Parfait - CentOS 6.4 x86_64 (Apache2, Dovecot, ISPConfig 3)
Ce howto est destiné comme 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 je choisis. 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 MySQL Et phpMyAdmin
Tout d’abord, nous activons le dépôt EPEL sur notre système CentOS car certains paquets que nous allons installer au cours de ce tutoriel ne sont pas disponibles dans les dépôts officiels de CentOS 6.5 :
cd /tmp
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpmyum install yum-prioritiesÉditez /etc/yum.repos.d/epel.repo…
vi /etc/yum.repos.d/epel.repo… et ajoutez la ligne priority=10 à la section [epel] :
| [epel] name=Paquets supplémentaires pour Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
Maintenant, nous pouvons installer MySQL et phpMyAdmin comme suit :
yum install mysql mysql-server phpMyAdmin httpdMaintenant, nous configurons phpMyAdmin. Nous modifions la configuration d’Apache afin que phpMyAdmin autorise les connexions non seulement depuis localhost (en commentant tout dans le bloc
pour que le fichier ressemble à ceci :
vi /etc/httpd/conf.d/phpMyAdmin.conf| # phpMyAdmin - Navigateur MySQL basé sur le web écrit en php # # N'autorise que localhost par défaut # # Mais permettre à phpMyAdmin à quiconque autre que localhost devrait être considéré # comme dangereux à moins d'être correctement sécurisé par SSL Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin |
Ensuite, nous créons les liens de démarrage système pour MySQL et Apache (afin que les deux démarrent automatiquement chaque fois que le système démarre) et démarrons les deux services :
chkconfig --levels 235 mysqld on
/etc/init.d/mysqld startchkconfig --levels 235 httpd on
/etc/init.d/httpd startCréez un mot de passe pour l’utilisateur MySQL root (remplacez yourrootsqlpassword par le mot de passe que vous souhaitez utiliser) :
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE : EXÉCUTER TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉ POUR TOUS LES SERVEURS MySQL
EN UTILISATION EN PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MySQL pour le sécuriser, nous aurons besoin du mot de passe actuel
pour l’utilisateur root. Si vous venez d’installer MySQL, et
vous n’avez pas encore défini le mot de passe root,
le mot de passe sera vide,
vous devez donc simplement appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (appuyez pour aucun) : <– ENTER
OK, utilisé avec succès le mot de passe, en continuant…
Définir le mot de passe root ? [Y/n] <– ENTER
Nouveau mot de passe : <– yourrootsqlpassword
Ressaisissez le nouveau mot de passe : <– yourrootsqlpassword
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
… Succès !
Par défaut, une installation MySQL a un utilisateur anonyme,
permettant à quiconque de se connecter à MySQL
sans avoir à avoir un compte utilisateur créé pour
lui. Cela est destiné uniquement à des fins de test,
et pour rendre l’installation un peu plus fluide.
Vous devriez les supprimer avant de passer à un
environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <– ENTER
… Succès !
Normalement, root ne devrait être autorisé à
se connecter que depuis ‘localhost’.
Cela garantit que quelqu’un ne peut pas deviner
le mot de passe root depuis le réseau.
Interdire la connexion root à distance ? [Y/n] <– ENTER
… Succès !
Par défaut, MySQL vient avec une base de données
nommée ‘test’ à laquelle quiconque peut
accéder. Cela est également destiné uniquement
à des fins de test, et devrait être supprimé
avant de passer à un environnement de production.
Supprimer la base de données de test
et l’accès à celle-ci ? [Y/n] <– ENTER
- Suppression de la base de données de test…
… Succès ! - Suppression des privilèges sur la base de données de test…
… Succès !
Recharger les tables de privilèges garantira que
toutes les modifications effectuées jusqu’à présent
prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] <– ENTER
… Succès !
Nettoyage…
Tout est fait ! Si vous avez complété toutes
les étapes ci-dessus, votre installation MySQL
devrait maintenant être sécurisée.
Merci d’utiliser MySQL !
[root@server1 ~]#
3 Installer PureFTPd Avec Support MySQL
Le paquet PureFTPd de CentOS prend en charge divers backends, tels que MySQL, PostgreSQL, LDAP, etc. Par conséquent, tout ce que nous avons à faire est d’installer le paquet PureFTPd normal :
yum install pure-ftpdEnsuite, nous créons un groupe ftp (ftpgroup) et un utilisateur (ftpuser) auxquels tous nos utilisateurs virtuels seront mappés. Remplacez l’identifiant de groupe et d’utilisateur 2001 par un numéro qui est libre sur votre système :
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "utilisateur pureftpd" -g ftpgroup ftpuserRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.