glFTPd serveur ftp linux : installer et configurer

I. Introduction à glFTPd

Dans ce tutorial, nous allons voir comment installer et configurer ce qui est certainement le plus puissant des serveurs ftp unix / linux / bsd. glFTPd est un serveur FTP gratuit très configurable, ce qui lui donne des possibilités illimitées. glFTPd possède sa propre base de données utilisateurs, qui peut être complétement gérée en ligne avec des commandes SITE. Son environnement chroot le rend assez sécurisé et les scripts et add-ons qu'il est possible de lui ajouter facilement sont très appréciables.
Parmis ses fonctions les plus connues : groupes et utilisateurs virtuels, support de réseaux multiples, configuration par IP, support des ratios de téléchargement, calcul des CRC à la volée quand le fichier est en cours d'upload, support des scripts sur quasi toutes les commandes, dupe check vérifiant l'existence d'un fichier, gestion des utilisateurs en ligne, statistiques, groupes et droits évolués, visualisation des logs par commande site, support du cryptage SSL/TLS, support ACL, et bien plus...

tuto glftpd serveur FTP image 1

Lien vers le site officiel pour le télécharger

II. Explications

Etape 1 : Installation de glFTPd

Commencez par télécharger la version la plus récente de glFTPd sur le site officiel, dans mon cas et à la date du tuto, il s'agit de "glftpd-LNX_2.01.tgz". Pour cela, rentrez dans votre répertoire utilisateur dans /home et lancez le téléchargement par exemple avec la commande wget comme on le voit ci-dessous :

tuto glftpd serveur FTP image 2

Ensuite lancez la décompression de l'archive téléchargée avec la commande tar -xvzf :

tuto glftpd serveur FTP image 3

Puis rentrez dans le dossier glftpd-LNX_2.01 ainsi créé lors de la décompression et faites un petit "LS" (list), pour voir ce qu'on a de beau :

tuto glftpd serveur FTP image 4

Arrivé ici, vous allez lancer la commande ./installgl.sh qui est le script d'installation. Il va vous permettre d'effectuer le plus gros de l'installation et configuration de glftpd simplement.

tuto glftpd serveur FTP image 5

On vous demande si vous voulez utiliser TCPD, mettez oui uniquement si vous savez ce que c'est et que vous en avez l'utilité.

tuto glftpd serveur FTP image 6

2ème étape : elle vous demande si vous souhaitez utiliser glftpd dans un environnement "jailed". Il s'agit d'un répertoire privé dans lequel les utilisateurs classiques du shell ne pourront accéder. Par exemple, moi je vais mettre oui...

tuto glftpd serveur FTP image 7

...et je vais le placer dans mon répertoire utilisateur :

tuto glftpd serveur FTP image 8

Ici mettez oui si vous souhaitez créer un groupe privé qui pourra accéder à glftpd, dans le cas contraire il n'y a que root qui pourra y accéder donc c'est pas forcément top. Pour ma part je mettre oui et appeler ce groupe "staff".

tuto glftpd serveur FTP image 9

Choisissez les utilisateurs qui auront accès à l'administration du glftpd. Attention : c'est différent des utilisateurs du ftp qui seront créés plus tard ! Séparez les par des virgules et évitez donc d'en mettre beaucoup...

tuto glftpd serveur FTP image 10

Dans le répertoire privé indiqué ci-dessus, on me demande d'en créer un pour l'installation du glFTPd, je vais l'installer dans "program".

tuto glftpd serveur FTP image 11

Ensuite, il faut rentrer un nom de service pour le serveur ftp, celui qui apparait avec le numéro du port dans le /etc/services. Je met par exemple glftpd.

tuto glftpd serveur FTP image 12

Là laissez l'étape 5 se dérouler, elle va tout vous installer, et vous allez arriver sur l'étape 6, très importante puisqu'elle demande le port sur lequel vous souhaitez metrte en écoute votre serveur FTP (souvenez vous en pour vous connecter après...). En général, c'est 21 pour les serveurs ftp, moi j'ai déjà un serveur sur ce port donc je prend 9999 pour l'exemple :

tuto glftpd serveur FTP image 13

Si vous souhaitez utiliser les semaine européennes, mettez "Yes" ici, sinon choisissez "No" (les semaines européennes commencent par le Lundi).

tuto glftpd serveur FTP image 14

L'étape 7 est le moment de créer un certificat pour le cryptage SSL/TLS. vous êtes obligé d'y passer même si vous ne comptez pas utiliser le SSL. Dans votre répertoire d'installation de glftpd, il faut préciser où vous souhaitez mettre ce certificat. Pour ma part le /etc mis par défaut ira très bien.

tuto glftpd serveur FTP image 15

Puis on vous demande un nom générique pour ce certificat, je laisse également glftpd par défaut.

tuto glftpd serveur FTP image 16

Et voilà ! votre glftpd est installé dans le répertoire que vous lui avez indiqué, pour ma part il est donc dans /home/damien/glftpd/program et le fichier de config (que nous allons voir après) dans /home/damien/glftpd

tuto glftpd serveur FTP image 17

Etape 2 : configuration de glFTPd et glftpd.conf

Accrochez vous, nous allons rentré dans le vif du sujet avec le fichier de configuration de glftpd. Le plus gros se passe dans le fichier glftpd.conf, donc il va falloir tout d'abord ouvrir ce fichier glftpd.conf avec votre éditeur unix favoris (car je ne vais pas expliquer les commandes des éditeurs linux, c'est pas le but du tuto). Je vais l'ouvrir avec "vi" pour ma part :

tuto glftpd serveur FTP image 18

Là je vais passer les lignes qui correspondent à des fonctions un peu plus avancées pour n'expliquer que les principales qui vous permettront de faire tourner le serveur FTP.

# mettez ici le nom de votre serveur ftp (=sitename), version longue et courte (abbreviation)
sitename_long LE[:space:]PLUS[:space:]BEAU[:space:]FTP

sitename_short LPBF

# ici votre adresse email
email root@6ma.fr

# ici mettez le repertoire racine de votre glftpd mais il doit etre bon par defaut si vous venez d'utiliser le script d'installation...
rootpath /home/damien/glftpd/program

Il y a beaucoup d'autres choses que vous pouvez configurer dans le fichier conf...

Sauvegardez et validez, et déjà à partir de là, vous devriez pouvoir vous connecter à votre serveur FTP avec le compte par défaut Login/Pass = glftpd/glftpd qui a été créé.
Attention cependant : connectez en local dans un premier temps car l'ipmask mise par défaut sur ce compte 'glftpd' est *@127.0.0.1. Vous ne pourrez donc connecter qu'en local dans un premier, mais en faisant une commande "site addip

Voilà, si vous voulez en savoir plus ou si vous avez un problème, je vous invite à lire le /docs/glftpd.docs, car il vous aidera très certainement.

III. Conclusion du tutorial

Merci d'avoir lu ce tutorial jusqu'à la fin, et jespère comme d'habitude qu'il vous aura été utile, même s'il ne vise qu'une infime partie de ce serveur ftp qu'est glFTPd car il est très puissant et on peut faire des choses très intéressantes avec, encore faut-il en avoir l'utilité bien évidemment. N'hésitez pas à lire les docs pour en savoir plus sur le glftpd.conf et sur les commandes site qui existent par exemple.