Installation et configuration d'un serveur FTP

Sébastien Maisse

Bienvenue sur ce document (tutoriel) qui a pour but de vous aider dans la mise en place d'un serveur FTP (File Transfer Protocol ou Protocole de Transfert de Fichier) dans un environnement Windows.

N'hésitez pas à commenter cet article ! Commentez

- Titre : Installation et configuration d'un serveur FTP

- Auteur : Sébastien Maisse

- Parution : 15 avril 2005

- Public visé :

- Licence : Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ® 2005 Sébastien Maisse. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 1. Préambule

- 2. Installation

- 3. Configuration

- 3-1. Options paramètres

- 3-2. Options utilisateurs

- 3-3. Options groupes

- 4. Ressources

- 5. Conclusion

- 5-1. Remerciements Developpez

1 - Préambule

Bienvenue sur ce document (tutoriel) qui a pour but de vous aider dans la mise en place d'un serveur FTP (File Transfer Protocol ou Protocole de Transfert de Fichier) dans un environnement Windows.

Pour plus d'informations concernant le protocole FTP voir la traduction en français de la RFC (Request For Comments ou demande de commentaires).

Un serveur FTP est utilisé dans le cas où l'on souhaite rendre disponible des fichiers (dans un réseau local ou sur internet) et ce, que ce soit de manière anonyme ou grâce à des comptes utilisateurs. L'échange des fichiers peut se faire dans les deux sens, soit en téléchargement à partir du serveur FTP (download) vers l'utilisateur (client) ou soit dans le sens contraire, en téléchargement à partir de l'utilisateur vers le serveur FTP (upload).

Le serveur FTP dont j'ai choisi d'expliquer l'installation et la configuration se nomme FileZilla Server (license open source et par ailleurs gratuit), il est disponible sur la page du projet FileZilla.

Ce projet réunit hormis un serveur FTP (dont il est question dans ce présent document) et un client FTP qui lui est complet et aisément accessible à la plupart des utilisateurs de l'informatique.

La version actuellement (à l'heure où j'écris ce tutoriel) est la : 0.9.8c. Pour ce qui est de la taille de l'archive, elle affiche un poids de 2,2 Mo, ce qui est correct pour ce type d'application.

Je vous propose, dans le présent document, d'utiliser la version française que propose Yannick Wattiau sur son site. Yannick Wattiau a réalisé la traduction à partir de la version anglaise de FileZilla Server.

Concernant la plateforme utilisée pour ce document, elle est constituée de l'environnement suivant :

Windows XP Édition Familiale Service Pack 2.

FileZilla Server fonctionne sous les environnements Windows XP/2000/98/NT.

Passons maintenant à l'installation du logiciel FileZilla Server.

2 - Installation

Commençons tout d'abord par télécharger l'archive sur le site de Yannick Wattiau^7 sur Free.

Une fois le téléchargement terminé, on clique sur l'exécutable qui se nomme FileZilla_Server_suivi_du_numero_de_version.exe, dans le cas présent :

- FileZilla_Server_0_9_8c_beta_FR.exe

Attention, si vous êtes (comme moi) sous Service Pack 2 sur Windows XP, vous aurez peut-être l'écran suivant qui s'affichera quand vous aurez cliqué sur l'exécutable :

Cliquer sur Exécuter

Une fois l'installation lancée, vous aurez l'écran suivant qui s'affiche. Il a pour but de présenter la licence qu'utilise FileZilla.Cliquer sur J'accepte.

Là, l'écran suivant s'affiche pour vous demander les paramètres d'installation (Type d'installation) :

Il y a cinq types d'installation disponibles : Standard, Complète, Service uniquement, Interface uniquement ou Personnalisée. Ou par choix des composants (Filezilla Server (service), interface d'administration, code source, raccourcis dans le menu démarrer ou icône sur le bureau). Concernant la place nécessaire à l'installation, elle va de 2,8 Mo (Standard) à 9,7 Mo (Complète).

Dans le cas présent nous n'avons pas besoin du code source de l'application. Par ailleurs, le raccourci dans le menu Démarrer ainsi que l'icône peuvent nous êtes utiles. Donc, on choisit le mode d'installation Standard et on clique sur le bouton Suivant >.

L'écran suivant vous demande le répertoire de destination (Dossier d'installation) de l'application.

On laisse par défaut, ce qui ne vous empêche nullement de le placer ailleurs sur votre système. On clique sur Suivant >.

Ici, nous arrivons à la partie qui va nous permettre de choisir si l'on veut installer notre serveur FTP en tant que service.

Détaillons les différentes options disponibles :

Installer comme un service, démarré avec Windows (défaut) :

- Le serveur FTP est installé en tant que service et démarre en même temps que Windows (c'est l'option par défaut). Utile si votre serveur FTP doit tourner de façon ininterrompue sans pour autant être relancé par une personne à chaque fois que la machine redémarre.

Installer comme un service, démarré manuellement :

- Le serveur FTP est installé en tant que service, mais démarre manuellement (grâce au raccourci adéquat dans le menu de FileZilla Server). Utile si vous pensez utiliser votre serveur FTP de façon occasionnelle.

Ne pas installer comme un service, démarrage manuel (non recommandé) :

- Le serveur FTP n'est pas installé en tant que service et démarre de manière manuelle (non recommandé par l'auteur du programme). L'option qui pourrait être utilisée si vous n'êtes pas sous un environnement XP ou 2000, mais que vous souhaitez avoir un serveur FTP.

Le port (par défaut) utilisé pour l'administration du serveur FTP est 14147, bien entendu vous pouvez le changer pour répondre à vos besoins, le port dans ce cas doit être compris entre 1 et 65535.

Par ailleurs, il faudra faire attention à ne pas allouer un port qui serait déjà utilisé, exemple : 80 (si vous possédez un serveur web sur la machine cela conduira à des problèmes).

Il est à noter que j'ai sélectionné l'option Démarrer le serveur une fois la configuration terminée en laissant cochée la case adéquate.

On clique sur Suivant !

Là, que nous avons vu l'installation du service, voyons le type de démarrage pour l'interface d'administration.

Démarrer si un utilisateur se connecte, appliquer à tous les utilisateurs (défaut) :

- Démarre l'interface d'administration du serveur FTP, si l'utilisateur est logué et applique l'option à tous les utilisateurs (c'est l'option par défaut). Ce qui permettra le lancement de l'interface d'administration par quiconque possédant un compte utilisateur sur la machine.

Démarrer si un utilisateur se connecte, appliquer uniquement à l'utilisateur courant :

- Démarre l'interface d'administration du serveur FTP, si l'utilisateur est logué et applique l'option à l'utilisateur courant uniquement. Ce qui permettra de restreindre le lancement de l'interface d'administration au seul compte utilisateur ayant procédé à l'installation du serveur FTP.

Démarrer manuellement :

- L'interface d'administration du serveur FTP sera lancée de manière manuelle. Tout le monde peut lancer l'interface d'administration de manière manuelle.

Dans le cas présent pour l'installation du service et le type de lancement, j'ai laissé par défaut soit

Installer comme un service, démarrer avec Windows et Démarrer si un utilisateur se connecte, appliquer à tous les utilisateurs.

On clique sur le bouton Installer pour procéder à présent à l'installation du logiciel.

Installation en cours…

On clique sur le bouton Fermer, une fois l'installation terminée.

Ceci fait, la fenêtre suivante s'affiche :

Cette boite de dialogue va permettre la connexion au serveur FTP. Les informations concernant le serveur FTP sur lequel on veut se connecter sont les suivantes :

Adresse du Serveur :

- Correspond à l'adresse IP (ici l'adresse localhost de la machine) du serveur FTP sur lequel on veut se connecter. Bien entendu cela peut aussi correspondre à un nom de domaine dont on administre le serveur FTP à distance.

Port :

- Port d'administration du serveur FTP (14147 par défaut).

Mot de passe :

- Si vous administrez un serveur FTP sur un réseau local ou sur internet, vous devez spécifier le mot de passe qui protège la partie administration du serveur.

Toujours se connecter à ce serveur :

- Cette option permet de stipuler si on effectue toujours la connexion sur ce serveur. À choisir si vous n'avez pas plusieurs serveurs FTP à administrer.

On clique sur le bouton OK pour effectuer la connexion à l'interface d'administration du serveur FTP.

3 - Configuration

Si tout s'est bien passé, l'écran suivant doit être affiché :

Ceci est l'interface d'administration de votre serveur FTP (ci-dessus) sur laquelle vous venez de vous loguer (Logged on).

Si vous avez obtenu un message d'erreur (ci-dessous) lors de la connexion à l'interface d'administration. Cela indique que votre serveur FTP (service) n'est pas lancé.

Pour lancer manuellement le service FileZilla Server, il vous suffit de cliquer sur le raccourci qui se trouve dans le menu Démarrer/Programmes/FileZilla Server puis de choisir Démarrer FileZilla Server. Cela va démarrer le serveur FTP. Une autre solution consiste à vérifier dans la fenêtre des services si ce dernier est bien lancé.

Pour ce faire, cliquez droit sur le Poste de travail/Gérer. Là, la fenêtre de Gestion de l'ordinateur s'affiche. Placez-vous sur Services et applications puis Services. À cet instant recherchez le service FileZilla Server FTP server et vérifiez son état Démarré. S'il n'est effectivement pas démarré, cliquez droit sur le service FileZilla Server FTP server puis Démarrer.

Si ce dernier est correctement démarré, vérifiez que l'adresse IP que vous aviez rentrée lors de la connexion à l'interface d'administration est bien paramétrée.

Voyons à présent les différentes options de l'interface d'administration de FileZilla Server.

Ce menu permet la connexion ou déconnexion d'un serveur FTP.

Connexion au serveur :

- Permet de se connecter un serveur FTP FileZilla Server en vue de l'administrer.

Cette boite de dialogue s'affiche lorsque vous essayez de faire une nouvelle connexion alors même que vous avez une connexion en cours. La question posée est de savoir si l'on souhaite réellement fermer la présente connexion.

Déconnexion du serveur :

- Permet de fermer la connexion en cours actuellement. Un message « Connection to server closed » s'affiche pour vous indiquer que la connexion a été fermée.

Quitter :

- Permet de quitter l'interface d'administration.

Voyons à présent le menu Serveur.

Ce menu dispose des deux options suivantes :

Actif :

- Cette option permet de mettre offline (hors ligne) le serveur FTP, dans ce cas toute personne souhaitant accéder au serveur FTP depuis un client FTP n'aura pas satisfaction.

Par défaut cette option est cochée, si je souhaite rendre le serveur offline, je clique sur le l'option pour la décocher. La boite de dialogue suivante apparaît.

La question posée est de savoir si l'on souhaite réellement mettre le serveur hors ligne.

Fermer :

- Cette option va permettre de bloquer les nouvelles connexions susceptibles de vouloir se connecter au serveur FTP. Pour activer cette option de manière temporaire, il suffit de cliquer sur cette option ce qui affichera la fenêtre suivante :

La question posée étant de savoir si l'on souhaite réellement bloquer le serveur et donc de ne plus autoriser de nouvelle connexion sur ce dernier.

Passons maintenant au menu Modifier qui est disponible dans l'interface d'administration.

Les options disponibles dans ce menu sont au nombre de trois et sont les suivantes :

Paramètres :

- Cette option affiche la fenêtre qui permet de définir les options de votre serveur FTP. Entre autres, nous pouvons définir les options de type message de bienvenue, port utilisé, etc.

Je vous propose de voir en détail les options de cette fenêtre un peu plus loin dans ce document.

Utilisateurs :

- Cette option affiche la fenêtrequi permet de définir les utilisateurs (ainsi les options ayant trait à leurs comptes) de votre serveur FTP.

Je vous propose de voir en détail les options de cette fenêtre un peu plus loin dans ce document.

Groupes :

- Cette option affiche la fenêtrequi permet de définir le ou les groupes qui seront disponibles sur votre serveur FTP.

Je vous propose de voir en détail les options de cette fenêtre un peu plus loin dans ce document.

Le dernier menu disponible dans l'interface d'administration est "?". Il a pour objectif d'afficher un écran À Propos (About FileZilla Server) concernant l'auteur de FileZilla Server ainsi que le traducteur.

Cliquez sur OK pour retourner à l'interface d'administration.

Voyons à présent, en détail, les différentes options du menu Modifier.

3-1 - Options paramètres

Paramètres généraux permet de définir les options suivantes :

Écouter sur ces ports :

- Permet de définir le port FTP qui sera utilisé par le client pour se connecter à votre serveur FTP. Le port FTP par défaut est 21. Vous pouvez définir votre propre port, bien entendu il doit être compris entre 1 et 65535 et ne doit pas être déjà utilisé par une autre application. Exemple : port 80 qui est utilisé par défaut par un serveur web.

Nombre d'utilisateurs Maxi :

- Le nombre maximum d'utilisateurs qui peuvent se connecter(simultanément) à votre serveur FTP. La valeur par défaut est 0 qui permet de ne pas limiter le nombre d'utilisateurs.

Nombre de thread :

- Le nombre de Thread (processus) qui seront lancés sur votre machine. Deux par défaut, à modifier selon les capacités de votre ordinateur.

Connexion timeout :

- Le laps de temps (en secondes) qui est accordé pour une connexion (non utilisée).

Transfert timeout :

- Le laps de temps (en secondes) qui est accordé pour initialiser un transfert.

Login timeout :

- Le laps de temps (en secondes) qui est accordé au client pour se connecter sur le serveur FTP.

Si la valeur 0 est attribuée, il n'y aura pas de limite de temps (timeout).

L'option Message de bienvenue permet de définir le message de bienvenue :

Le message de bienvenue sera affiché dans le client FTP de l'utilisateur. Vous avez à votre disposition les variables %v (affiche la version de FileZilla Server) et %% (qui affiche le caractère %).

Par ailleurs, vous pouvez cocher « Cacher le message dans les logs » pour ne pas voir ce message inscrit dans le fichier log.

Ce message permet donc de personnaliser son serveur FTP quand le client se connecte.

L'option Binding IP permet de définir l'adresse IP sur laquelle le serveur FTP est disponible.

Dans le cas présentrend joignable le serveur FTP sur toutes les interfaces réseau du PC.Cette option est pratique si l'on souhaite avoir un serveur FTP accessible uniquement sur son réseau local alors même que le PC est accessible sur le LAN, mais aussi sur Internet.

L'option Filter IP permet de définir les adresses IP qui sont autorisées ou non à accéder au serveur FTP.

Le cadre du haut permet de définir les IP qui ne sont pas autorisées à accéder au serveur FTP.

Le cadre du bas permet de définir les IP qui sont autorisées à accéder au serveur FTP.

Les IP peuvent être entrées soit sous la forme d'IP simple : 192.168.0.1, par rang d'IP 192.168.0.1- 192.168.0.10/255.255.255.0

L'option Paramètres de mode passif permet de configurer le serveur en mode PASV (passif).

Cette option est utile lorsque le serveur FTP est situé derrière un firewall. Dans le cas du mode PASV, le serveur FTP reste passif (ne cherche pas à établir la connexion) lorsqu'un utilisateur souhaite se connecter à ce dernier.

On peut, dans le cas présent, stipuler quelle adresse IP extérieure (internet) sera utilisée (utiliser l'adresse IP suivante) ou à défaut utiliser l'adresse IP actuelle (Par défaut). L'option « Récupérer l'IP adresse externe depuis » permet de récupérer directement l'IP internet de votre connexion.

Pour ce qui concerne « Utiliser une plage de port personnalisée », cela permet de définir le port de début et le port de fin qui sera utilisé par la fonction PASV.

Si vous souhaitez de plus amples informations concernant le mode passif (PASV), une petite recherche sur le sujet vous en apprendra plus sur ce mode.

Si votre serveur FTP se situe derrière un routeur, il vous faudra rediriger les ports FTP (par défaut : 20 et 21) ainsi que les ports PASV (éventuels).

L'option Paramètres de sécurité permet de protéger votre serveur FTP contre d'éventuels problèmes.

Cette option permet d'interdire le téléchargement de serveur à serveur (FXP) que ce soit en upload (bloquer le transfert entrant serveur à serveur) ou en download (bloquer le transfert sortant serveur à serveur). Par ailleurs, un contrôle au niveau de l'IP peut être mis en place (Filter IP strict).

L'option Divers permet de définir des options « divers ».

Dans ce cas présent, on peut configurer le fait de ne pas afficher le mot de passe dans la fenêtre de message (ne pas montrer les mots de passe dans la fenêtre de message).

Par ailleurs, on peut configurer le fait que l'interface d'administration soit démarrée en mode « minimisé » (Démarrer minimisé).

Taille de buffer de transfert interne permet définir la taille du buffer (mémoire tampon) qui sera utilisé lors des transferts.

Taille de buffer de la Socket permet de définir la taille du buffer (mémoire tampon) de la socket.

L'option Paramètres de l'interface d'administration permet de définir les options ayant trait à l'interface d'administration.

On peut configurer le port qui est utilisé pour l'administration du serveur FTP (14147 étant le port par défaut). Pour définir un port autre que le port par défaut, il suffit de modifier la valeur, sachant que le port doit être compris entre 1 et 65535 et ne doit pas être utilisé par une autre application.

Lier l'interface admin aux adresses IP suivantes :

Permet de rendre disponible l'administration du serveur FTP sur les différentes interfaces réseau du PC (Par défaut 127.0.0.1).

Adresses IP autorisées à se connecter à l'interface d'admin :

- Liste des IP qui sont autorisées à se connecter à l'administration du serveur FTP.

Nouveau mot de passe/resaisir le nouveau mot de passe :

- Cela permet de modifier le mot de passe de la partie administration du serveur FTP.

L'option Enregistrement des connexions permet d'activer ou non le fichier log (journal d'activité).

Par défaut, le fichier de log n'est pas activé, donc pour l'activer on coche (Activer l'enregistrement dans le fichier log), de là, on peut limiter la taille du fichier log (Limite du fichier log xxx KB, par défaut, 100 Ko).

Type de fichier log permet de nommer le fichier log soit « FileZilla Server.log » ou en faisant une rotation du fichier log. Dans ce cas, le fichier ressemblerait à cela : fzs-année-mois-jours.log

Par ailleurs, les fichiers log peuvent être supprimés après un temps donné (Supprimer les vieux fichiers après, par défaut, 14 jours).

L'option Paramètres GSS permet d'activer ou non le support de Kerberos.

Kerberos est un protocole d'authentification réseau qui a été créé par le MIT^4 pour coder les mots de passe de manière à ne pouvoir être intercepté sur le réseau.

Cette option ne peut être activée que sur un environnement possédant Kerberos.

L'option Limite de vitesse permet de limiter ou non les transferts.

Par défaut, il n'y a pas de limite (Pas de limite) que ce soit en Download ou en Upload. Pour définir une limite constante, sélectionnez l'option Limite constante de (10 ko/s par défaut) et rentrez la valeur en ko/s.

En ce qui concerne l'option Utiliser les règles de limite de vitesse celle-ci permet de définir des limites selon des paramètres donnés (cliquez sur Ajouter pour ajouter une nouvelle règle de limite).

Les critèresdisponibles sont les suivants : par date, par tranches horaires, par jour.

La vitesse limite étant (par défaut) de 8 ko/s. Cette dernière pourra donc être modifiée pour répondre à vos propres exigences. La règle ainsi créée permettra de prendre, en compte, une limite selon le jour et l'heure donnés.

L'option Compression transfert de fichier permet d'activer la compression lors des transferts de fichiers.

Le MODE Z est une option qui permet la compression à la volée des données lors de transfert de fichier. Par défaut, cette compression n'est pas activée (Activer le support MODE Z).

Lors de l'activation de cette fonction, il faut surveiller l'occupation CPU qui peut être accrue avec la compression des données à la volée.

Exclure les plages d'adresses privées permet d'utiliser la compression des données (si elle a été interdite à certaines plages ou adresses IP) au sein du réseau local.

Le cadre permet de rentrer la ou les IP qui n'utiliseront pas l'option de compression MODE Z, si elle est activée.

L'option Paramètres SSL/TTS(TLS) permet d'activer ou non le support sécurisé.

SSL (Secure Socket Layet) et TLS (Transport Layer Security) sont des protocoles de sécurisation des échanges sur Internet.

Ces protocoles sont disponibles pour assurer une bonne sécurité lors des transferts sur votre serveur FTP. Utiles donc si vous souhaitez mettre en place un serveur FTP ayant pour objectif le transfert de données importantes. Vous devez générer un certificat (Générer un nouveau certificat) pour pouvoir mettre en place la sécurisation des transferts sur ce dernier.

Exemple : le cas étant le transfert de fichier entre un siège et ses agences en province.

Pour terminer, il faut cliquer sur le bouton OK pour valider les options qui auraient pu être définies.

3-2 - Options utilisateurs

Cet écran vous permet d'ajouter/supprimer des utilisateurs à votre serveur FTP.

General permet de définir les options suivantes :

Activer le compte :

- Permet d'activer ou non le compte utilisateur.

Mot de passe :

- Permet de définir un mot de passe pour le compte utilisateur.

Membre du groupe :

- Permet de définir le groupe auquel appartient le compte utilisateur.

Ignorer la limite utilisateur du serveur :

- Permet d'outrepasser les limites du serveur FTP pour définir des limites personnalisées au compte utilisateur.

Nombre maximum de connexions :

- Nombre maximum de connexionsautorisées avec le même compte utilisateur.

Limite de connexion par IP :

- Nombre de connexions autorisées avec la même IP.

Description :

- Permet d'ajouter un commentaire concernant le compte utilisateur.

Pour ajouter un compte utilisateur, il suffit de cliquer sur le bouton Ajouter. Là, la fenêtre (ci-dessous) s'affiche :

On rentre le nom d'utilisateur (dans le cas présent test), puis on choisit le cas échéant le groupe auquel appartiendra l'utilisateur.

N'ayant pas encore défini de groupe d'utilisateurs (voir plus loin dans ce document), nous ne pourrons donc pas en sélectionner pour le moment.

Reprenant le compte utilisateur test précédemment créé, voilà le résultat une fois ce dernier validé.

Ici, le compte est activé (Activer le compte coché), l'utilisateur possède un mot de passe ainsi qu'une limitation sur le nombre de connexions par IP (limité à deux connexions pour la même IP).

Les options pour la création, la suppression, la copie et renommer un compte utilisateur sont les suivantes :

- Ajouter : Ajouter un compte utilisateur.

- Supprimer : Supprimer un compte utilisateur.

- Renommer : Renommer un compte utilisateur.

- Copy : Copier un compte utilisateur.

Exemple : je renomme l'utilisateur test en utilisateur toto.

L'écran qui va vous permettre de gérer les répertoires auxquels auront accès vos utilisateurs est celui-ci :

Shared folders permet de définir les options suivantes :

Ajouter, supprimer, renommer les répertoires auxquels aura accès un utilisateur donné.

Pour ce faire je sélectionne l'utilisateur dont je souhaite paramétrer le répertoire auquel il aura accès.

Ici, le compte utilisateur est toto (je l'ai renommé précédemment), il aura accès à un répertoire (FTP) sur le disque dur.

On clique sur le bouton Ajouter qui affiche la boite de dialogue demandant de choisir le répertoire.

Une fois cliqué sur OK, on obtient le résultat suivant :

Dans le cas présent, le répertoire (C:\ftp) est le répertoire maison (home dir), c'est-à-dire le répertoire où se trouvera l'utilisateur lorsqu'il se connectera au serveur FTP.

S'il y avait plusieurs répertoires disponibles, il serait possible de choisir lequel serait le répertoire maison et ce grâce au bouton Répertoire de base.

Concernant les droits d'accès sur les répertoires et fichiers, ils sont les suivants :

Droits sur les fichiers :

- Lecture : Autorise la lecture de fichier.

- Écriture : Autorise l'écriture de fichier.

- Suppression : Autorise la suppression de fichier.

- Ajouter : Autorise l'ajout de fichier.

Droits sur les répertoires :

- Créer : Autorise la création de répertoire.

- Supprimer : Autorise la suppression de répertoire.

- Liste : Autorise la lecture du contenu d'un répertoire.

- + Sous Rép : Assigne les mêmes droits sur les sous-répertoires du répertoire.

Exemple : reprenant notre exemple précédent (C:\ftp), nous allons lui assigner les droits suivants :

Dans le cas (ci-dessus), l'utilisateur toto aura les droits de lecture (Lecture) sur les fichiers et les droits de création (Créer), de listage (Liste) sur le contenu du répertoire ainsi que les mêmes droits sur les sous-répertoires (+ Sous Rép) disponibles dans le répertoire courant.

RAPPEL : Les options utiles pour la création, la suppression et renommer un répertoire sont les suivantes :

- Ajouter : Ajouter un répertoire.

- Suppression : Supprimer un répertoire.

- Renommer : Renommer un répertoire.

- Répertoire de base : Définit le répertoire choisi en tant que répertoire maison.

Un mot concernant une fonction bien pratique quand on souhaite rendre disponible l'accès de plusieurs répertoires dans le répertoire maison.

Ce que l'on nomme Alias et qui est disponible quand on clique droit (Modifier les alias) sur un répertoire autre que le répertoire maison.

Voici le message d'erreur qui s'affiche si vous essayez de définir un alias sur un répertoire maison.

Pour définir un alias sur un répertoire non maison, il suffit de cliquer droit sur ce dernier et de choisir l'option Modifier les alias.

On entre le nom du répertoire Alias qui sera créé dans le répertoire maison.

Celui-ci apparaîtra dans le répertoire maison (ci-dessous).

Client FTP FileZilla

Vous pouvez définir plusieurs alias pour un même répertoire.

Exemple : c:\wget peut avoir comme alias wget et toto, dans ce cas, il suffit de séparer les alias par un |

Dans ce cas, dans le répertoire maison, il y aura les répertoires wget et toto.

Comme dans les paramètres généraux du serveur FTP, il est possible de configurer une limite (en upload ou en download) pour un utilisateur donné.

Speed Limits permet de définir les options suivantes :

- Ne pas fixer de limite (Pas de limite) à l'utilisateur.

- Fixer une limite constante (Limite constante de 10 ko/s par défaut), elle ne changera pas quelles que soient les conditions.

- En définissant des règles de limite (Utiliser les règles de limite de vitesse) selon des conditions (jour, tranches horaires, entre autres).

Par défaut (Défaut), ce sont les limitations au niveau de la configuration générale du serveur qui priment. Pour outrepasser ces réglages, il vous suffit d'activer l'option Ignorer les limites du serveur ou Ignorer les limites upload du serveur.

Étant donné que nous avons vu les différentes options de limitations dans les paramètres généraux du serveur, je ne reviendrai pas en détail sur ces dernières.

Comme dans les paramètres généraux du serveur FTP, il est possible de configurer une restriction par IP pour un utilisateur donné.

Le cadre du haut permet de rentrer les IP qui ne sont pas autorisées à accéder au FTP.

Le cadre du bas permet de rentrer les IP qui sont quant à elles, autorisées à accéder au FTP.

Comme précédemment, du fait que nous avons déjà abordé cette option dans la configuration générale (Paramètres généraux) du serveur, je ne reviendrai pas en détail sur cette dernière.

Une fois les configurations effectuées, il suffit de cliquer sur le bouton OK pour valider les choix.

3-3 - Options groupes

Cet écran vous permet d'ajouter des groupes d'utilisateurs à votre serveur FTP.

Général permet de définir les options suivantes :

Autorise l'accès aux utilisateurs de ce groupe :

- Permet d'activer ou non l'accès au FTP par les utilisateurs faisant partie du groupe (par défaut : activé).

Ignore la limite utilisateur du serveur :

- Permet d'outrepasser les limites du serveur FTP pour définir des limites personnalisées au groupe d'utilisateurs.

Nombre maximum de connexions :

- Nombre maximum de connexions autorisées par utilisateur faisant partie d'un groupe d'utilisateurs.

Limite de connexion par IP :

- Nombre de connexions autorisées avec la même IP (par utilisateur) faisant partie d'un groupe.

Description :

- Permet d'ajouter un commentaire concernant le groupe d'utilisateurs.

Pour ajouter un groupe d'utilisateurs, il suffit de cliquer sur le bouton Ajouter. Là, la fenêtre (ci-dessous) s'affiche :

On rentre le nom du groupe d'utilisateurs (dans le cas présent zero).

Reprenant le groupe d'utilisateurs zero précédemment créé, voilà le résultat une fois ce dernier validé.

L'accès aux utilisateurs de ce groupe est activé (Autoriser l'accès aux utilisateurs de ce groupe), par contre il n'y a pas de limite au niveau du groupe. Les limites seront celles du serveur et le cas échéant de l'utilisateur (toto dans le cas présent).

Les options pour la création, la suppression, la copie et renommer un compte utilisateur sont les suivantes :

- Ajouter : Ajouter un groupe d'utilisateurs.

- Supprimer : Supprimer un groupe d'utilisateurs.

- Renommer : Renommer un groupe d'utilisateurs.

- Copy : Copier un groupe d'utilisateurs.

Exemple : je copie le groupe d'utilisateurs zero en test.

J'aurai donc à ma disposition deux groupes d'utilisateurs (toto et test). Le groupe étant dans ce cas désactivé (Autoriser l'accès aux utilisateurs de ce groupe n'est pas coché).

L'écran qui va vous permettre de gérer les répertoires auxquels auront accès vos utilisateurs :

Shared folders permet de définir les options suivantes :

Ajouter, supprimer, renommer les répertoires auxquels aura accès un groupe d'utilisateurs donné.

Pour ce faire, je sélectionne le groupe d'utilisateurs dont je souhaite paramétrer le répertoire auquel il aura accès.

Ici, le groupe d'utilisateurs est zero (test étant un exemple ayant servi pour la démonstration du bouton Copy précédemment), il aura accès à un répertoire (FTP) sur le disque dur.

On clique sur le bouton Ajouter qui affiche une boite de dialogue demandant de choisir le répertoire.

Une fois cliqué sur OK, on obtient le résultat suivant :

Comme dans le cas (plus haut dans ce document) de l'option Shared Folders de l'option Utilisateurs. Le répertoire (C:\ftp) est le répertoire maison (répertoire de base), c'est-à-dire le répertoire où se trouvera l'utilisateur (faisant partie du groupe) lorsqu'il se connectera au serveur FTP.

S'il y avait plusieurs répertoires disponibles, il serait possible de choisir lequel serait le répertoire maison et ce grâce au bouton Répertoire de base.

Concernant les droits d'accès sur les répertoires et fichiers, ils sont les mêmes que pour un utilisateur simple :

Droits sur les fichiers :

- Lecture : Autorise la lecture de fichier.

- Écriture : Autorise l'écriture de fichier.

- Suppression : Autorise la suppression de fichier.

- Ajout : Autorise l'ajout de fichier.

Droits sur les répertoires :

- Créer : Autorise la création de répertoire.

- Supprimer : Autorise la suppression de répertoire.

- Liste : Autorise la lecture du contenu d'un répertoire.

- + Sous Rép : Assigne les mêmes droits sur les sous-répertoires du répertoire.

L'option Création auto permet de créer un répertoire qui n'est pas nullement disponible à la base.

Exemple : je souhaite que l'utilisateur qui se connecte au FTP ait son propre répertoire personnel (toto dans le cas présent).

Pour ce faire, je vais ajouter (Ajouter) le répertoire suivant : C:\ftp\:u qui correspond en fait à mon répertoire maison (répertoire de base suivi de l'argument :u qui prend en compte le nom de l'utilisateur. Et je coche l'option Création auto, qui va créer le répertoire de l'utilisateur lorsqu'il se connectera.

Le répertoire utilisateur étant créé une première fois, il ne sera pas recréé à chaque connexion (à la condition que le répertoire soit toujours présent physiquement).

Exemple : reprenant notre exemple précédent (C:\ftp), nous lui avons assigné les droits suivants :

Dans le cas (ci-dessus), le groupe d'utilisateurs zero aura les droits de lecture (Lecture) sur les fichiers ainsi que les droits de listage (Liste) sur le contenu du répertoire. Par ailleurs, comme l'a vu précédemment, l'utilisateur aura son répertoire personnel de créé (c:\ftp\:u) dans le répertoire maison (répertoire de base).

RAPPEL : Les options utiles pour la création, la suppression et renommer un répertoire sont les suivantes :

- Ajouter : Ajouter un répertoire.

- Suppression : Supprimer un répertoire.

- Renommer : Renommer un répertoire.

- Répertoire de base : Définit le répertoire choisi en tant que répertoire maison.

Nous n'aborderons pas de nouveau l'option d'Aliases bien que celle-ci soit aussi disponible dans l'option que nous venons de voir (voir Option Utilisateurs à ce sujet).

À présent que nous avons créé un groupe d'utilisateurs (zero) avec des droits corrects, je vous propose de retourner à l'option UTILISATEURS (menu Modifier/Utilisateurs) et ce en n'ayant au préalable pas validé les options en cliquant sur le bouton OK.

Pour rappel l'utilisateur toto que nous avions créé ne faisait partie d'aucun groupe d'utilisateurs. Et possédait des droits sur les répertoires (C:\ftpC:\ftp\wget ainsi que le répertoire qui est un Alias).

Ici, nous allons donc supprimer les répertoires qui étaient jusqu'à présent autorisés à l'utilisateur toto. Donc, nous sélectionnons le répertoire en question et on clique sur le bouton Suppression (un clic droit sur le nom du répertoire sélectionné permet aussi cette action « Supprimer »).

Puis nous allons dans l'option General pour définir le groupe auquel appartiendra l'utilisateur toto.

Dès cet instant, l'utilisateur toto fera partie du groupe zero, il aura donc accès au(x) répertoire(s) défini(s) dans ce groupe (C:\ftp ainsi qu'à son répertoire personnel C:\ftp\:u).

De retour à l'option Groupes…

Comme dans les paramètres généraux du serveur FTP ainsi que dans l'option UTILISATEURS, il est possible de configurer une limite (en émission ou en réception) pour un groupe donné.

Speed Limits permet de définir (tout comme dans l'option PARAMETRES du serveur ainsi que dans l'option UTILISATEURS) les options suivantes :

- Ne pas fixer de limite (Pas de limite) à l'utilisateur.

- Fixer une limite constante (Limite constante de 10 ko/s par défaut), elle ne changera pas quelles que soient les conditions.

- En définissant des règles de limite (Utiliser les règles de limite de vitesse) selon des conditions (jour, tranches horaires, entre autres).

Par défaut, ce sont les limitations au niveau de la configuration générale du serveur qui priment. Pour outrepasser ces réglages, il vous suffit d'activer l'option Ignorer les limites DL du serveur ou Ignorer les limites upload du serveur.

Étant donné que nous avons vu les différentes options de limitations dans les paramètres généraux du serveur ainsi que dans l'option Utilisateurs, je n'aborderai pas à nouveau le détail de ces options.

Comme dans les paramètres généraux du serveur FTP et option utilisateur, il est possible de configurer une restriction par IP pour un utilisateur donné.

Le cadre du haut permet de rentrer les IP qui ne sont pas autorisées à accéder au FTP.

Le cadre du bas permet de rentrer les IP qui sont quant à elles autorisées à accéder au FTP.

Ayant déjà abordé cette option dans la configuration générale (Paramètres) du serveur, je ne reviendrai pas en détail sur cette dernière.

Une fois la configuration effectuée, il suffit de cliquer sur le bouton OK pour valider les choix.

Revenons à présent à l'interface d'administration du serveur FTP.

Lorsqu'un utilisateur est connecté à votre serveur FTP, vous avez un visuel (statut) qui vous permet de savoir ce que fait le client sur votre FTP (dans le bas de l'écran principal).

Vous aurez aussi remarqué les trois icônes placées en fin de barre de menu.

- Le 1er bouton (/C/) permet de visualiser le nom du fichier téléchargé (sans le chemin physique).

- Le 2e bouton (C:\) permet quant à lui de visualiser le fichier ainsi que le chemin physique.

- Quant au 3e bouton il permet de choisir l'option d'ordre dans lequel les informations sont affichées dans le statut (dans le bas de l'écran).

On peut classer les connexions avec les informations suivantes :

- ID Utilisateur : numéro attribué à une personne connectée au serveur FTP.

- Compte : nom du compte utilisateur.

- IP : par adresse IP.

Vous pouvez Éjecter (déconnecter) un utilisateur s'il effectue des opérations incorrectes sur votre serveur FTP. Pour cela, un clic droit sur le nom d'utilisateur (dans le statut) affichera l'option Éjecter.

L'utilisateur sera déconnecté dans l'instant après avoir confirmé l'action.

La question étant de savoir si nous souhaitons réellement éjecter (déconnecter) l'utilisateur sélectionné.

Voilà, vous devriez avoir à présent un serveur FTP en état de fonctionnement et configuré…

Concernant la traduction de Yannick Wattia, comme vous aurez pu le remarquer, certains messages ne sont pas traduits en français. La raison en est simple, ces messages se trouvent directement dans le code de l'application ce qui est à ce jour est non modifiable sans pour cela reprendre le code source de l'application. Ce qui explique que la version ne soit pas 100 % en français.

Pour ma part, je tiens à remercier Yannick qui a fait là un travail remarquable :-)

4 - Ressources

Les ressources concernant les serveurs FTP sont abondantes sur le sujet. Pour ma part, j'ai fait appel au forum de FileZilla pour confirmer certaines idées exposées dans ce document.

Forum de FileZilla : https://forum.filezilla-project.org/

Par ailleurs, la traduction RFC du protocole FTP est un bon complément à quiconque veut connaître au mieux ce protocole.

Traduction FR de la RFC 959 : http://abcdrfc.free.fr/rfc-vf/rfc959.html

Voici la liste des liens qui sont contenus dans ce document.

- http://fr.wikipedia.org/wiki/Open_source

- http://sourceforge.net/projects/filezilla/files/FileZilla%20Server/

- http://web.mit.edu/

- http://fr.wikipedia.org/wiki/SSL

- http://fr.wikipedia.org/wiki/TLS

- http://yannick.wattiau.free.fr

Ainsi que de multiples recherches sur notre ami Google France.

5 - Conclusion

La conclusion à ce document est que j'ai essayé de faire au mieux pour rendre ce tutoriel abordable à tout utilisateur qui souhaite mettre un serveur FTP sur sa machine que ce soit dans un réseau local ou sur internet. Et cela avec un outil (FileZilla Server) qui soit accessible à un grand nombre bien qu'il ne soit pas traduit en français.

Si vous souhaitez aller plus loin dans la mise en œuvre de votre serveur FTP, il vous sera possible de joindre un nom de domaine (payant) ou un sous-domaine de type dyndns ou no-ip. Dans le but de permettre son accessibilité sur une connexion ayant une IP dynamique ou non.

En ce qui me concerne et souhaitant vous apporter mon aide dans le futur, je suis joignable pour toute question concernant ce tutoriel, mais aussi pour toute autre question concernant les serveurs FTP ou web.

Pour cela, une seule adresse (la mienne en l'occurrence) : thecyberseb@hotmail.com

Par ailleurs, vous pouvez bénéficier d'une aide sur le forum suivant :

http://www.monserveurperso.com/

Voilà, en espérant avoir apporté une aide dans la mise en place de votre serveur FTP, je vous dis à bientôt dans un prochain tutoriel ;-)

Merci à Salvador pour la relecture et la correction orthographique de la première version :-)

5-1 - Remerciements Developpez

Vous pouvez retrouver l'article original ici. Sébastien Maisse a aimablement autorisé l'équipe « Réseaux » de Developpez.com à reprendre son article.

Nos remerciements à Claude LELOUP pour sa relecture orthographique.

N'hésitez pas à commenter cet article ! Commentez