Partie 7. Comment installer un serveur FTP sur Debian 11?

Introduction

Cette page fait partie d'un tutoriel complet sur l'installation d'un serveur web sur une machine virtuelle. Cette septième et dernière partie du tutoriel explique comment installer phpMyAdmin sur notre serveur. FTP est l'abréviation de File Transfert Protocol. FTP est un protocole réseau permettant de transférer des fichiers entre ordinateurs. FTP est surtout utilisé pour envoyer des fichiers sur un ordinateur distant, typiquement un serveur web.

Ce qui suit suppose qu'une machine virtuelle a été créée et que Debian 11 est déjà installée avec Apache, PHP et MariaDB. Si ce n'est pas le cas, veuillez vous rendre sur la page d'accueil et suivre le guide.

Le serveur FTP installé dans le système suivant est vsftpd (Very Secure FTP daemon). vsftp est un serveur FTP pour les systèmes de type Unix.

Avant d'installer vsftp, mettez votre système à jour :

sudo apt update && sudo apt -y upgrade

Installation de vsftp

Les dépôts de logiciels par défaut de Debian 11 incluent vsftp. Installons simplement le paquet vsftpd :

sudo apt install vsftpd

vérification de l'installation

Vérifiez votre version de vsftp avec la commande suivante :

sudo vsftpd -versions
student@debianwebserver:~$ sudo vsftpd -versions
vsftpd: version 3.0.3

Vous pouvez également vérifier l'état du deamon avec la commande suivante :

sudo systemctl status vsftpd
student@debianwebserver:~$ sudo systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
     Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset>
     Active: active (running) since Sun 2022-12-11 08:10:00 CET; 12min ago
    Process: 1142 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited>
   Main PID: 1144 (vsftpd)
      Tasks: 1 (limit: 4563)
     Memory: 748.0K
        CPU: 90ms
     CGroup: /system.slice/vsftpd.service
             └─1144 /usr/sbin/vsftpd /etc/vsftpd.conf

Dec 11 08:10:00 debianwebserver systemd[1]: Starting vsftpd FTP server...
Dec 11 08:10:00 debianwebserver systemd[1]: Started vsftpd FTP server.

Connexion distante

Si vous avez suivi ce guide depuis le début, votre serveur ftp devrait être opérationnel dès maintenant.

Sur l'ordinateur hôte, lancez votre client ftp (par exemple filezilla). Connectez-vous à votre serveur avec les données suivantes :

Première connexion distante sur le serveur FTP

Des problèmes ?

Si votre installation ne fonctionne pas, voici quelques conseils de dépannage.

Vous devez parfois ajouter l'utilisateur ftp au système :

sudo useradd --system ftp 

Si un pare-feu est installé sur votre système, ouvrez les ports FTP :

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw status

Configurer vsftp

Le fichier de configuration de vsftp est /etc/vsftpd.conf. Editez ce fichier pour définir une configuration personnalisée :

sudo nano /etc/vsftpd.conf

Définissez un message de bienvenue personnalisé en ajoutant cette ligne dans le fichier :

ftpd_banner=Welcome on the virtual web server

Définissez le répertoire ftp racine en ajoutant cette ligne :

local_root=/home/username/www/

Pour permettre aux utilisateurs d'écrire des fichiers, ajoutez cette ligne :

write_enable=YES

Les utilisateurs peuvent maintenant envoyer des fichiers au serveur. Mais les fichiers n'ont pas les droits de lecture. Ajoutez la ligne suivante dans le fichier de configuration vsftp pour changer les permissions des fichiers :

local_umask=0002
file_open_mode=0777

Le comportement par défaut du serveur est de cacher les fichiers cachés. Puisque votre serveur peut avoir des fichiers comme .htaccess qui est un fichier caché, nous allons désactiver cette option. Ajoutez la ligne suivante pour montrer les fichiers cachés dans le client ftp :

force_dot_files=YES

Sauvegardez le fichier, et redémarrez le serveur ftp :

sudo systemctl restart vsftpd

Lorsque le client se connecte au serveur via FTP, le message de bienvenue s'affiche et le répertoire racine a changé :

Custom vsftp configuration from the client side

Le serveur est maintenant prêt à être utilisé !

Voir aussi


Dernière mise à jour : 11/12/2022