Hébergement Virtuel · 5 min read · Dec 29, 2025
Hébergement Virtuel Avec PureFTPd Et MySQL (Incl. Gestion Des Quotas Et De La Bande Passante) Sur Mandriva 2007 Spring - Page 2
6 Remplir La Base De Données Et Tester
Pour remplir la base de données, vous pouvez utiliser le shell MySQL :
mysql -u root -pUSE pureftpd;Maintenant, nous créons l’utilisateur exampleuser avec le statut 1 (ce qui signifie que son compte ftp est actif), le mot de passe secret (qui sera stocké de manière cryptée en utilisant la fonction MD5 de MySQL), le UID et GID 2001 (utilisez l’identifiant utilisateur et l’identifiant de groupe de l’utilisateur/groupe que vous avez créé à la fin de l’étape deux !), le répertoire personnel /home/www.example.com, une bande passante de téléchargement et de téléchargement de 100 Ko/s (kilooctets par seconde), et un quota de 50 Mo :
INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('exampleuser', '1', MD5('secret'), '2001', '2001', '/home/www.example.com', '100', '100', '', '*', '50', '0');quit;Maintenant, ouvrez votre programme client FTP sur votre station de travail (quelque chose comme WS_FTP ou SmartFTP si vous êtes sur un système Windows ou gFTP sur un bureau Linux) et essayez de vous connecter. Comme nom d’hôte, utilisez server1.example.com (ou l’adresse IP du système), le nom d’utilisateur est exampleuser, et le mot de passe est secret.
Si vous parvenez à vous connecter - félicitations ! Sinon, quelque chose s’est mal passé.
Maintenant, si vous exécutez
ls -l /homevous devriez voir que le répertoire /home/www.example.com (répertoire personnel de exampleuser) a été créé automatiquement, et il est possédé par ftpuser et ftpgroup (l’utilisateur/groupe que nous avons créé à la fin de l’étape deux) :
[root@server1 ~]# ls -l /home
total 14
drwxr-xr-x 3 administrator administrator 1024 Jul 4 2007 administrator/
drwxr-xr-x 2 root root 12288 Jul 4 2007 lost+found/
drwxr-xr-x 2 ftpuser ftpgroup 1024 Jul 4 16:38 www.example.com/
[root@server1 ~]#7 Administration De La Base De Données
Pour la plupart des gens, il est plus facile d’avoir une interface graphique pour MySQL ; par conséquent, vous pouvez également utiliser phpMyAdmin (dans cet exemple sous http://server1.example.com/phpmyadmin/) pour administrer la base de données pureftpd.

Chaque fois que vous souhaitez créer un nouvel utilisateur, vous devez créer une entrée dans la table ftpd, donc je vais expliquer les colonnes de cette table ici :
Table ftpd :
- User : Le nom de l’utilisateur virtuel PureFTPd (par exemple, exampleuser).
- status : 0 ou 1. 0 signifie que le compte est désactivé, l’utilisateur ne peut pas se connecter.
- Password : Le mot de passe de l’utilisateur virtuel. Assurez-vous d’utiliser la fonction MD5 de MySQL pour enregistrer le mot de passe crypté sous forme de chaîne MD5 :

- UID : L’identifiant utilisateur de l’utilisateur ftp que vous avez créé à la fin de l’étape deux (par exemple, 2001).
- GID : L’identifiant de groupe du groupe ftp que vous avez créé à la fin de l’étape deux (par exemple, 2001).
- Dir : Le répertoire personnel de l’utilisateur virtuel PureFTPd (par exemple, /home/www.example.com). S’il n’existe pas, il sera créé lorsque le nouvel utilisateur se connectera pour la première fois via FTP. L’utilisateur virtuel sera enfermé dans ce répertoire personnel, c’est-à-dire qu’il ne peut pas accéder à d’autres répertoires en dehors de son répertoire personnel.
- ULBandwidth : Bande passante de téléchargement de l’utilisateur virtuel en Ko/s (kilooctets par seconde). 0 signifie illimité.
- DLBandwidth : Bande passante de téléchargement de l’utilisateur virtuel en Ko/s (kilooctets par seconde). 0 signifie illimité.
- comment : Vous pouvez entrer n’importe quel commentaire ici (par exemple, pour votre administration interne). Normalement, vous laissez ce champ vide.
- ipaccess : Entrez ici les adresses IP qui sont autorisées à se connecter à ce compte FTP. * signifie que n’importe quelle adresse IP est autorisée à se connecter.
- QuotaSize : Espace de stockage en Mo (pas en Ko, comme dans ULBandwidth et DLBandwidth !) que l’utilisateur virtuel est autorisé à utiliser sur le serveur FTP. 0 signifie illimité.
- QuotaFiles : nombre de fichiers que l’utilisateur virtuel est autorisé à enregistrer sur le serveur FTP. 0 signifie illimité.
8 FTP Anonyme
Si vous souhaitez créer un compte ftp anonyme (un compte ftp auquel tout le monde peut se connecter sans mot de passe), vous avez besoin d’un utilisateur et d’un groupe appelés ftp. Les deux ont été créés automatiquement lorsque vous avez installé le paquet pure-ftpd, donc vous n’avez pas besoin de les créer manuellement. Cependant, le répertoire personnel de ftp est /var/ftp par défaut, mais j’aimerais créer le répertoire ftp anonyme dans /home/ftp (les répertoires ftp des utilisateurs normaux sont également dans /home, par exemple /home/www.example.com). Mais bien sûr, vous pouvez utiliser le répertoire /var/ftp pour ftp anonyme, si vous le préférez.
Si vous souhaitez utiliser /home/ftp, ouvrez /etc/passwd et changez le répertoire personnel de l’utilisateur ftp de /var/ftp à /home/ftp (ne faites pas cela si vous souhaitez utiliser /var/ftp) :
vi /etc/passwd| [...] #ftp:x:77:77:system user for pure-ftpd:/var/ftp:/bin/false ftp:x:77:77:system user for pure-ftpd:/home/ftp:/bin/false [...] |
Ensuite, déplacez /var/ftp vers /home (ne faites pas cela si vous souhaitez utiliser /var/ftp) :
mv /var/ftp /homeNous utilisons les répertoires /home/ftp/incoming (qui permettront aux utilisateurs anonymes de télécharger des fichiers) et /home/ftp/pub (d’où les utilisateurs anonymes peuvent télécharger). Les deux répertoires existent déjà. Nous allons donner au répertoire /home/ftp/incoming des permissions de 311 afin que les utilisateurs puissent télécharger, mais ne puissent pas voir ou télécharger des fichiers dans ce répertoire. Le répertoire /home/ftp/pub aura des permissions de 555, ce qui permet de voir et de télécharger des fichiers :
chown -R ftp:nogroup /home/ftp
cd /home/ftp
chmod 311 incoming/
chmod 555 pub/
cd ../
chmod 555 ftp/(Si vous souhaitez utiliser /var/ftp à la place, remplacez /home/ftp par /var/ftp dans les commandes ci-dessus.)
Les utilisateurs anonymes pourront se connecter, et ils seront autorisés à télécharger des fichiers depuis /home/ftp/pub, mais les téléchargements seront limités à /home/ftp/incoming (et une fois qu’un fichier est téléchargé dans /home/ftp/incoming, il ne peut pas être lu ni téléchargé depuis là ; l’administrateur du serveur doit le déplacer dans /home/ftp/pub d’abord pour le rendre disponible aux autres).
Maintenant, nous devons configurer PureFTPd pour ftp anonyme. Ouvrez /etc/pure-ftpd/pure-ftpd.conf et assurez-vous que vous avez les paramètres suivants :
vi /etc/pure-ftpd/pure-ftpd.conf| [...] NoAnonymous no [...] AntiWarez no [...] AnonymousBandwidth 8 [...] AnonymousCantUpload no [...] |
(Le paramètre AnonymousBandwidth est optionnel - il vous permet de limiter les bandes passantes de téléchargement et de téléchargement pour les utilisateurs anonymes. 8 signifie 8 Ko/s. Utilisez n’importe quelle valeur que vous aimez, ou commentez la ligne si vous ne souhaitez pas limiter les bandes passantes.)
Enfin, nous redémarrons PureFTPd :
/etc/init.d/pure-ftpd restart9 Liens
- PureFTPd : http://www.pureftpd.org
- MySQL : http://www.mysql.com
- phpMyAdmin : http://www.phpmyadmin.net
- Mandriva : http://www.mandriva.com/en/community
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.