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

Comment configurer Pure-FTPD avec MySQL sur CentOS et RedHat

Pur-FTPd est un serveur FTP gratuit et sécurisé. Il ne fournit pas de cloches et de sifflets inutiles, mais se concentre sur l'efficacité et la facilité d'utilisation. Il fournit des réponses simples aux besoins courants, ainsi que des fonctionnalités utiles uniques pour les utilisateurs personnels ainsi que pour les hébergeurs.

Ce guide vous aidera à configurer Pure-FTPD avec MySQL en tant que base de données utilisateur. Fournit également des instructions détaillées pour créer un utilisateur et tester.

Étape 1 :Installer MySQL (Ignorer si déjà installé)

Tout d'abord, nous devons installer MySQL sur notre système en suivant les étapes de commande suivantes.

# yum install mysql mysql-server

cliquez ici pour des instructions détaillées sur l'installation de mysql.

Étape 2 :Installez Pure-FTPD

Utilisez la commande suivante pour installer pure-ftpd sur votre système Linux.

# yum install pure-ftpd

Étape 3 :Créer un utilisateur et une base de données MySQL

Après l'installation du package pure-ftpd, créons une base de données mysql, une table et un utilisateur pour stocker les informations utilisateur.

# mysql -u root -p
Enter password:

mysql> CREATE DATABASE pureftpd;
mysql> GRANT ALL ON pureftpd.* to 'pureftpd'@'localhost' IDENTIFIED BY '_password_';
mysql> FLUSH PRIVILEGES;
mysql> use pureftpd;
mysql> CREATE TABLE `users` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `User` varchar(32) NOT NULL DEFAULT '',
  `Password` varchar(64) NOT NULL DEFAULT '',
  `Uid` int(3) NOT NULL DEFAULT '500',
  `Gid` int(3) NOT NULL DEFAULT '500',
  `Dir` varchar(255) NOT NULL DEFAULT '',
  `QuotaSize` int(4) NOT NULL DEFAULT '50',
  `Status` enum('0','1') NOT NULL DEFAULT '1',
  `ULBandwidth` int(2) NOT NULL DEFAULT '100',
  `DLBandwidth` int(2) NOT NULL DEFAULT '100',
  `Date` date NOT NULL DEFAULT '0000-00-00',
  `LastModif` varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY (`ID`),
  UNIQUE KEY `User` (`User`),
  KEY `Uid` (`Uid`),
  KEY `Gid` (`Gid`),
  KEY `Dir` (`Dir`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

mysql> quit

Étape 4 :Configurer Pure-FTPD

Nous allons configurer pure-ftpd pour stocker les informations de connexion des utilisateurs dans la base de données mysql. Éditez d'abord le fichier de configuration principal pure-ftpd

# vim /etc/pure-ftpd/pure-ftpd.conf

et apportez les modifications suivantes.

   ChrootEveryone              yes
   MaxClientsNumber            50
   MaxClientsPerIP             2
   VerboseLog                  yes
   AnonymousOnly               no
   NoAnonymous                 yes
   MaxIdleTime                 15
   MySQLConfigFile             /etc/pure-ftpd/pureftpd-mysql.conf
   PAMAuthentication    	no
   UnixAuthentication     	no

Après avoir apporté des modifications à la configuration pure-ftpd, laissez éditer le fichier de configuration mysql pure-ftpd

# vim /etc/pure-ftpd/pureftpd-mysql.conf

et mettre à jour les variables suivantes

   MYSQLUser       pureftpd
   MYSQLPassword   _password_
   MYSQLDatabase   pureftpd
   MYSQLCrypt      md5

Étape 5 :Tester la configuration Pure-FTPD

À cette étape, nous avons terminé la configuration pure-ftpd. Nous devons maintenant tester notre configuration en créant notre premier compte ftp. Pour tester notre configuration, nous devons d'abord créer un utilisateur dans le système Linux. Après cela, nous utiliserons l'UID et le GID de ces utilisateurs pour créer nos comptes FTP virtuels.

Créer un compte utilisateur :

# useradd demouser1
# passwd demouser1

Obtenir l'UID et le GID de ce compte :

# cat /etc/passwd | grep demouser1
demouser1:x:504:505::/home/demouser1:/bin/bash

Selon la sortie ci-dessus, nous avons trouvé que usres UID est 504 et GID est 505.

Créer un compte FTP
Permet de se connecter au serveur mysql ou d'accéder via phpMyAdmin et de créer votre premier compte. Pour ce tutoriel, j'utilise la ligne de commande.

# mysql -u root -p
Enter password:

mysql> INSERT INTO `users` (`User`, `Password`, `Uid`, `Gid`, `Dir`, `QuotaSize`,
`Status`, `ULBandwidth`, `DLBandwidth`, `Date`, `LastModif`)
VALUES ('ftpuser1', md5('_password_'), '504', '505', '/home/demouser1',
'20', 2, '10', '10', now(), '');
mysql> quit

Conformément à la requête ci-dessus, nous avons créé avec succès notre premier compte ftp ftpuser1 avec le mot de passe _password_ ,

Se connecter au serveur FTP en utilisant un compte ftp nouvellement créé et essayez de télécharger un fichier de test.

C:> ftp ftp.tecadmin.net

Connected to ftp.tecadmin.net.
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 1 of 50 allowed.
220-Local time is now 21:39. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
User (ftp.tecadmin.net:(none)): ftpuser1
331 User ftpuser1 OK. Password required
Password:
230 OK. Current restricted directory is /
ftp> put test.txt
200 PORT command successful
150 Connecting to port 57216
226-File successfully transferred
226 0.004 seconds (measured here), 0.65 Mbytes per second
ftp: 2593 bytes sent in 0.00Seconds 2593.00Kbytes/sec.
ftp> bye
221-Goodbye. You uploaded 3 and downloaded 0 kbytes.
221 Logout.
C:>

Selon les résultats ci-dessus, nous avons réussi à nous connecter à l'utilisateur ftp et à télécharger un fichier de test. Vérifions les autorisations de ces fichiers sur le serveur.

# ls -l /home/demouser1/test.txt
-rw-r--r-- 1 demouser1 demouser1 2525 Dec  4 21:39 /home/demouser1/test.txt

Vous pouvez maintenant voir que les fichiers obtiennent les autorisations de cet utilisateur, quel UID, GID nous avons utilisé pour ces comptes FTP.


Cent OS
  1. Comment configurer LogAnalyzer avec Rsyslog et MySQL

  2. Comment configurer Opencart sur Rocky Linux/Centos 8 avec Apache, PHP, Mysql (LAMP Stack)

  3. Comment remplacer MySQL par MariaDB sur CentOS 6

  4. Comment configurer la réplication MySQL sur CentOS

  5. Comment installer MySQL 5.6 sur CentOS 6.x

Comment configurer Kubernetes 1.5 avec kubeadm sur CentOS

Comment configurer Percona Cluster avec HAproxy Loadbalancer sur CentOS 7

Comment configurer MariaDB Galera Cluster avec HAproxy sur CentOS 7

Comment configurer MySQL avec Docker sous Linux

DRBD avec MySQL Centos 8

Comment configurer la réplication MySQL dans RHEL/Centos