GNU/Linux >> Tutoriels Linux >  >> Cent OS

Hébergement virtuel avec PureFTPd et MySQL (y compris la gestion des quotas et de la bande passante) sur CentOS 7.0

Ce tutoriel existe pour ces versions d'OS

  • CentOS 7.2
  • CentOS 7
  • CentOS 6.5
  • CentOS 6.4
  • CentOS 6.2
  • CentOS 5.3

Sur cette page

  1. 1 note préliminaire
  2. 2 Installer MySQL et phpMyAdmin
  3. 3 Installer PureFTPd avec le support MySQL
  4. 4 Créer la base de données MySQL pour PureFTPd
  5. 5 Configurer PureFTPd
  6. 6 Remplir la base de données et tester
  7. 7 Administration de la base de données
    1. Table ftpd :
  • 8 FTP anonyme
  • 9 liens
  • Ce document décrit comment installer un serveur PureFTPd qui utilise des utilisateurs virtuels d'une base de données MySQL au lieu d'utilisateurs système réels. Ceci est beaucoup plus performant et permet d'avoir des milliers d'utilisateurs FTP sur une seule machine. En plus de cela, je montrerai l'utilisation des quotas et des limites de bande passante de téléchargement/téléchargement avec cette configuration. Les mots de passe seront stockés chiffré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 Web tels que phpMyAdmin qui seront également installés dans ce guide. phpMyAdmin est une interface graphique confortable, ce qui signifie que vous n'avez pas à vous soucier de la ligne de commande.

    Ce tutoriel est basé sur CentOS 7.0. Vous devriez déjà avoir configuré un système CentOS 7 minimal de base.

    Ce guide est conçu comme un guide pratique ; il ne couvre pas les arrière-plans théoriques. Ils sont traités dans de nombreux autres documents sur le Web.

    Ce document est fourni sans garantie d'aucune sorte ! Je tiens à dire que ce n'est pas la seule façon de mettre en place un tel système. Il existe de nombreuses façons d'atteindre cet objectif, mais c'est la voie que je prends.

    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, vous devez donc les remplacer le cas échéant.

    2 Installer MySQL et phpMyAdmin

    Tout d'abord, nous activons le référentiel EPEL sur notre système CentOS car certains packages que nous allons installer au cours de ce didacticiel ne sont pas disponibles dans les référentiels CentOS 7.0 officiels :

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

    Ensuite, nous activons le référentiel EPEL sur notre système CentOS car de nombreux packages que nous allons installer au cours de ce didacticiel ne sont pas disponibles dans le référentiel officiel CentOS 7 :

    yum -y install epel-release
    yum -y install yum-priorities

    Modifier /etc/yum.repos.d/epel.repo...

    nano /etc/yum.repos.d/epel.repo

    ... et ajoutez la ligne priority=10 à la section [epel] :

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
    failovermethod=priority
    enabled=1
    priority=10
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    [...]

    Ensuite, nous mettons à jour nos packages existants sur le système :

    yum update

    Nous pouvons maintenant installer MySQL et phpMyAdmin comme suit :

    yum install mariadb mariadb-server phpmyadmin httpd php

    Maintenant, nous configurons phpMyAdmin. Nous modifions la configuration d'Apache afin que phpMyAdmin autorise les connexions non seulement à partir de l'hôte local (en commentant tout dans la strophe et en ajoutant la ligne Require all granted) :

    vi /etc/httpd/conf.d/phpMyAdmin.conf

    pour que le fichier ressemble à ceci :

    # phpMyAdmin - Web based MySQL browser written in php
    #
    # Allows only localhost by default
    #
    # But allowing phpMyAdmin to anyone other than localhost should be considered
    # dangerous unless properly secured by SSL
    
    Alias /phpMyAdmin /usr/share/phpMyAdmin
    Alias /phpmyadmin /usr/share/phpMyAdmin
    
    <Directory /usr/share/phpMyAdmin/>
    #  <IfModule mod_authz_core.c>
    #     # Apache 2.4
    #     <RequireAny>
    #       Require ip 127.0.0.1
    #       Require ip ::1
    #     </RequireAny>
    #   </IfModule>
    #   <IfModule !mod_authz_core.c>
    #     # Apache 2.2
    #     Order Deny,Allow
    #    # Deny from All
    #     Allow from 127.0.0.1
         Options Indexes
         AllowOverride None
         Require all granted
    #     Allow from ::1
    #   </IfModule>
    </Directory>
    
    
    
    <Directory /usr/share/phpMyAdmin/setup/>
       <IfModule mod_authz_core.c>
         # Apache 2.4
         <RequireAny>
           Require ip 127.0.0.1
           Require ip ::1
         </RequireAny>
       </IfModule>
       <IfModule !mod_authz_core.c>
         # Apache 2.2
         Order Deny,Allow
         Deny from All
         Allow from 127.0.0.1
         Allow from ::1
       </IfModule>
    </Directory>
    
    # These directories do not require access over HTTP - taken from the original
    # phpMyAdmin upstream tarball
    #
    <Directory /usr/share/phpMyAdmin/libraries/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    <Directory /usr/share/phpMyAdmin/setup/lib/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    <Directory /usr/share/phpMyAdmin/setup/frames/>
        Order Deny,Allow
        Deny from All
        Allow from None
    </Directory>
    
    # This configuration prevents mod_security at phpMyAdmin directories from
    # filtering SQL etc.  This may break your mod_security implementation.
    #
    #<IfModule mod_security.c>
    #    <Directory /usr/share/phpMyAdmin/>
    #        SecRuleInheritance Off
    #    </Directory>
    #</IfModule>
    

    Ensuite, nous créons les liens de démarrage du système pour MySQL et Apache (afin que les deux démarrent automatiquement à chaque démarrage du système) et démarrons les deux services. De plus, les deux services doivent être autorisés par le pare-feu :

    firewall-cmd --permanent --zone=public --add-service=http
    firewall-cmd --permanent --zone=public --add-service=https
    firewall-cmd --reload
    systemctl enable mariadb.service
    systemctl start mariadb.service
    systemctl enable httpd.service
    systemctl start httpd.service

    Créez un mot de passe pour l'utilisateur root MySQL (remplacez votre mot de passe mariadb par le mot de passe que vous souhaitez utiliser) :

    mysql_secure_installation

    [[email protected] ~]# mysql_secure_installation
    /usr/bin/mysql_secure_installation :ligne 379 :find_mysql_client :command not found

    REMARQUE :L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS MariaDB
          SERVEURS EN UTILISATION DE PRODUCTION ! VEUILLEZ LIRE ATTENTIVEMENT CHAQUE ÉTAPE !

    Afin de vous connecter à MariaDB pour le sécuriser, nous aurons besoin du mot de passe
    actuel pour l'utilisateur root. Si vous venez d'installer MariaDB et
    vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide,
    il vous suffit donc d'appuyer sur Entrée ici.<--ENTER
    Entrez le mot de passe actuel pour root (entrez pour aucun) :<--ENTER
    OK, mot de passe utilisé avec succès, passons à autre chose...

    La définition du mot de passe root garantit que personne ne peut se connecter à l'utilisateur root de MariaDB
    sans l'autorisation appropriée.

    Définir le mot de passe root ? [O/n]<--ENTER
    Nouveau mot de passe :<--yourmariadbpassword
    Saisir à nouveau le nouveau mot de passe :<--yourmariadbpassword
    Mot de passe mis à jour avec succès !
    Rechargement des tables de privilèges..
     ... Réussite !


    Par défaut, une installation MariaDB a un utilisateur anonyme, ce qui permet n'importe qui
    de se connecter à MariaDB sans avoir à créer un compte utilisateur
    pour lui. Ceci est uniquement destiné aux tests et à rendre l'installation
    un peu plus fluide. Vous devez les supprimer avant de passer à
    un environnement de production.

    Supprimer les utilisateurs anonymes ? [O/n]<--ENTER
     ... Succès !

    Normalement, root ne devrait être autorisé à se connecter qu'à partir de "localhost". Cela
    assure que personne ne peut deviner le mot de passe root à partir du réseau.

    Interdire la connexion root à distance ? [O/n]<--ENTER
     ... Succès !

    Par défaut, MariaDB est livré avec une base de données nommée "test" à laquelle tout le monde peut
    accéder. Ceci est également destiné uniquement aux tests et doit être supprimé
    avant de passer à un environnement de production.

    Supprimer la base de données de test et y accéder ? [O/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 !

    Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent
    entreront en vigueur immédiatement.

    Recharger les tables de privilèges maintenant ? [O/n]<--ENTER
     ... Succès !

    Nettoyage...

    C'est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
    devrait maintenant être sécurisée.

    Merci d'utiliser MariaDB !
    [[email protected] ~]#

    3 Installer PureFTPd avec le support MySQL

    Le package CentOS PureFTPd prend en charge divers backends, tels que MySQL, PostgreSQL, LDAP, etc. Par conséquent, tout ce que nous avons à faire est d'installer le package PureFTPd normal :

    yum install pure-ftpd

    Ensuite, nous créons un groupe ftp (ftpgroup) et un utilisateur (ftpuser) auxquels tous nos utilisateurs virtuels seront mappés. Remplacez le groupe et l'ID utilisateur 2001 par un numéro libre sur votre système :

    groupadd -g 2001 ftpgroup
    useradd -u 2001 -s /bin/false -d /bin/null -c "pureftpd user" -g ftpgroup ftpuser

    Le service ftp doit être autorisé par le firewall-cmd comme suit :

    firewall-cmd --permanent --zone=public --add-service=ftp
    firewall-cmd --reload

    4 Créer la base de données MySQL pour PureFTPd

    Nous créons maintenant une base de données appelée pureftpd et un utilisateur MySQL nommé pureftpd que le démon PureFTPd utilisera plus tard pour se connecter à la base de données pureftpd :

    mysql -u root -p
    CREATE DATABASE pureftpd;
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'localhost' IDENTIFIED BY 'ftpdpass';
    GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON pureftpd.* TO 'pureftpd'@'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 pureftpd. Toujours sur le shell MySQL, on crée la table de base de données dont on a besoin (oui, il n'y a qu'une seule table !) :

    USE pureftpd;
    CREATE TABLE ftpd (
    User varchar(16) NOT NULL default '',
    status enum('0','1') NOT NULL default '0',
    Password varchar(64) NOT NULL default '',
    Uid varchar(11) NOT NULL default '-1',
    Gid varchar(11) NOT NULL default '-1',
    Dir varchar(128) NOT NULL default '',
    ULBandwidth smallint(5) NOT NULL default '0',
    DLBandwidth smallint(5) NOT NULL default '0',
    comment tinytext NOT NULL,
    ipaccess varchar(15) NOT NULL default '*',
    QuotaSize smallint(5) NOT NULL default '0',
    QuotaFiles int(11) NOT NULL default 0,
    PRIMARY KEY (User),
    UNIQUE KEY User (User)
    ) ENGINE=MyISAM;
    quit;

    Comme vous l'avez peut-être remarqué, avec le renoncement; commande, nous avons quitté le shell MySQL et sommes de retour sur le shell Linux.

    BTW, (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 connectez-vous en tant qu'utilisateur pureftpd. Ensuite, vous pouvez consulter la base de données. Plus tard, vous pourrez utiliser phpMyAdmin pour administrer votre serveur PureFTPd.

    5 Configurer PureFTPd

    Modifiez /etc/pure-ftpd/pure-ftpd.conf et assurez-vous que les lignes ChrootEveryone, MySQLConfigFile et CreateHomeDir sont activées et ressemblent à ceci :

    vi /etc/pure-ftpd/pure-ftpd.conf
    [...]
    ChrootEveryone              yes
    [...]
    MySQLConfigFile               /etc/pure-ftpd/pureftpd-mysql.conf
    [...]
    CreateHomeDir               yes
    [...]

    Le paramètre ChrootEveryone obligera PureFTPd à chrooter chaque utilisateur virtuel dans son répertoire personnel afin qu'il ne puisse pas parcourir les répertoires et les fichiers en dehors de son répertoire personnel. La ligne CreateHomeDir obligera PureFTPd à créer le répertoire personnel d'un utilisateur lorsque l'utilisateur se connecte et que le répertoire personnel n'existe pas encore.

    Ensuite, nous éditons /etc/pure-ftpd/pureftpd-mysql.conf. Cela devrait ressembler à ceci :

    cp /etc/pure-ftpd/pureftpd-mysql.conf /etc/pure-ftpd/pureftpd-mysql.conf_orig
    cat /dev/null > /etc/pure-ftpd/pureftpd-mysql.conf
    vi /etc/pure-ftpd/pureftpd-mysql.conf
    MYSQLSocket      /var/lib/mysql/mysql.sock
    #MYSQLServer     localhost
    #MYSQLPort       3306
    MYSQLUser       pureftpd
    MYSQLPassword   ftpdpass
    MYSQLDatabase   pureftpd
    #MYSQLCrypt md5, cleartext, crypt() or password() - md5 is VERY RECOMMENDABLE uppon cleartext
    MYSQLCrypt      md5
    MYSQLGetPW      SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MYSQLGetUID     SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MYSQLGetGID     SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MYSQLGetDir     SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MySQLGetQTASZ   SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")
    MySQLGetQTAFS   SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

    Assurez-vous de remplacer la chaîne ftpdpass par le vrai mot de passe de l'utilisateur MySQL pureftpd dans la ligne MYSQLPassword ! Veuillez noter que nous utilisons md5 comme méthode MYSQLCrypt, ce qui signifie que nous stockerons les mots de passe des utilisateurs sous forme de chaîne MD5 dans la base de données, ce qui est beaucoup plus sécurisé que l'utilisation de mots de passe en texte brut !

    Maintenant, nous créons les liens de démarrage du système pour PureFTPd et le démarrons :

    systemctl enable pure-ftpd.service
    systemctl enable pure-ftpd.service

    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 -p
    USE 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é chiffré à l'aide de la fonction MD5 de MySQL), l'UID et le GID 2001 (utilisez l'ID utilisateur et l'ID de groupe de l'utilisateur/ groupe que vous avez créé à la fin de la deuxième étape !), le répertoire personnel /home/www.example.com, une bande passante de téléchargement et de téléchargement de 100 Ko/sec. (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;

    Ouvrez maintenant votre programme client FTP sur votre poste 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, vous 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 /home

    vous devriez voir que le répertoire /home/www.example.com (le répertoire personnel de l'utilisateur de l'exemple) a été créé automatiquement, et qu'il appartient à ftpuser et ftpgroup (l'utilisateur/groupe que nous avons créé à la fin de la deuxième étape) :

    [[email protected] ~]# ls -l /home/
    total 0
    drwx------. 2 administrator administrator 59 Sep 26 10:35 administrator
    drwxr-xr-x. 2 ftpuser       ftpgroup      22 Sep 26 12:07 www.example.com
    [[email protected] ~]#

    7 Administration de la base de données

    Pour la plupart des gens, c'est plus facile s'ils ont 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 voulez créer un nouvel utilisateur, vous devez créer une entrée dans le tableau ftpd donc je vais vous expliquer les colonnes de ce tableau ici :

    Table ftpd :

    • Utilisateur :le nom de l'utilisateur virtuel PureFTPd (par exemple, exampleuser).
    • statut :0 ou 1. 0 signifie que le compte est désactivé, l'utilisateur ne peut pas se connecter.
    • Mot de passe :le mot de passe de l'utilisateur virtuel. Assurez-vous d'utiliser la fonction MD5 de MySQL pour enregistrer le mot de passe chiffré sous forme de chaîne MD5 :
    • UID :ID utilisateur de l'utilisateur ftp que vous avez créé à la fin de la deuxième étape (par exemple, 2001).
    • GID :le groupid du groupe ftp que vous avez créé à la fin de la deuxième étape (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éé lors de la première connexion du nouvel utilisateur via FTP. L'utilisateur virtuel sera emprisonné dans ce répertoire personnel, c'est-à-dire qu'il ne pourra pas accéder à d'autres répertoires en dehors de son répertoire personnel.
    • ULBandwidth :téléchargez la bande passante de l'utilisateur virtuel en Ko/sec. (kilooctets par seconde). 0 signifie illimité.
    • DLBandwidth :téléchargement de la bande passante de l'utilisateur virtuel en Ko/sec. (kilooctets par seconde). 0 signifie illimité.
    • commentaire :vous pouvez entrer ici n'importe quel commentaire (par exemple pour votre administration interne). Normalement, vous laissez ce champ vide.
    • ipaccess :entrez ici les adresses IP 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 (et non en Ko, comme dans ULBandwidth et DLBandwidth !) que l'utilisateur virtuel est autorisé à utiliser sur le serveur FTP. 0 signifie illimité.
    • QuotaFiles :quantité 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é ftp. Les deux ont été créés automatiquement lorsque vous avez installé le paquet pure-ftpd, vous n'avez donc pas besoin de les créer manuellement. Cependant, le homedir 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 se trouvent également dans /home, par exemple /home/www.example. com). Mais bien sûr, vous pouvez utiliser le répertoire /var/ftp pour le ftp anonyme, si vous le préférez.

    Si vous voulez utiliser /home/ftp, ouvrez /etc/passwd et changez le répertoire personnel de l'utilisateur ftp de /var/ftp à /home/ftp (ne le faites pas si vous voulez utiliser /var/ftp) :

    vi /etc/passwd
    [...]
    #ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    ftp:x:14:50:FTP User:/home/ftp:/sbin/nologin
    [...]

    Ensuite, déplacez /var/ftp vers /home (ne le faites pas si vous voulez utiliser /var/ftp) :

    mv /var/ftp /home

    Ensuite, nous créons le répertoire /home/ftp/incoming qui permettra aux utilisateurs anonymes de télécharger des fichiers. Nous accorderons au répertoire /home/ftp/incoming des autorisations de 311 afin que les utilisateurs puissent télécharger, mais ne voient ni ne téléchargent aucun fichier dans ce répertoire. Le répertoire /home/ftp aura des permissions de 555 qui permettent de voir et de télécharger des fichiers :

    chown ftp:nobody /home/ftp
    cd /home/ftp
    mkdir incoming
    chown ftp:nobody incoming/
    chmod 311 incoming/
    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, 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é à partir de là ; l'administrateur du serveur doit d'abord le déplacer dans /home/ftp pour le rendre accessible aux autres).

    Nous devons maintenant configurer PureFTPd pour le ftp anonyme. Ouvrez /etc/pure-ftpd/pure-ftpd.conf et assurez-vous que vous y 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 facultatif - 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/sec. Utilisez la valeur de votre choix ou commentez la ligne si vous ne souhaitez pas limiter les bandes passantes.)

    Enfin, nous redémarrons PureFTPd :

    systemctl restart pure-ftpd.service

    • PureFTPd :http://www.pureftpd.org/
    • MySQL :http://www.mysql.com/
    • phpMyAdmin :http://www.phpmyadmin.net/
    • CentOS :http://centos.org/

    Cent OS
    1. Hébergement virtuel avec Proftpd et MySQL (incl. Quota) sur Ubuntu 14.04LTS

    2. Serveur FTP avec PureFTPd, MariaDB et utilisateurs virtuels (y compris gestion des quotas et de la bande passante) sur CentOS 7.2

    3. Hébergement virtuel avec PureFTPd et MySQL (y compris la gestion des quotas et de la bande passante) sur Ubuntu 7.10 (Gutsy Gibbon)

    4. Hébergement virtuel avec Proftpd et MySQL (incl. Quota) sur Ubuntu 8.04 LTS

    5. Hébergement virtuel avec PureFTPd et MySQL (y compris la gestion des quotas et de la bande passante) sur Ubuntu 8.10 (Intrepid Ibex)

    Hébergement virtuel avec Proftpd et MySQL (incl. Quota) sur Ubuntu 12.10

    Hébergement virtuel avec PureFTPd et MySQL (y compris la gestion des quotas et de la bande passante) sur Ubuntu 14.04LTS

    Hébergement virtuel avec Proftpd et MySQL (avec quota) sur Debian Lenny

    Hébergement virtuel avec vsftpd et MySQL sur Debian Squeeze

    Installation d'Apache2 avec prise en charge de PHP5 et MySQL sur CentOS 6.2 (LAMP)

    Utilisateurs virtuels et domaines avec Postfix, Courier, MySQL et SquirrelMail (CentOS 6.3 x86_64)