Bienvenue sur ce site internet auto-hébergé. Il est conforme au règlement général européen sur la protection des données (RGPD). Aucun cookie de traçage, aucune bannière et aucune publicité ne sont présents. Son contenu est mis à disposition selon les termes de la licence Creative Commons BY-NC-SA. Toute utilisation à des fins commerciales est strictement interdite et toute reproduction ou partage, même partiel, doivent respecter ces termes. Pour en savoir plus...
Lorsque l'on possède un serveur Web, la mise en service d'un serveur FTP est quasiment indispensable. Pour rappel, le protocole FTP (File Transfert Protocol) est un des protocoles de communication les plus connus dédié aux transferts de fichiers dans le cas d'une configuration Client/Serveur via internet ou en réseau local (intranet). Nous allons donc voir ci-dessous comment configurer un serveur FTP sur une distribution Linux Debian ou dérivée (ex: Ubuntu).
Il nous faut premièrement choisir un serveur FTP à installer. Personnellement, j'utilise depuis des années ProFTPD car il possède à mon avis de nombreux avantages:
Voyons donc ci-dessous comment installer et configurer de façon standard ProFTPD:
Il faut d'abord ouvrir une session en Root sur notre serveur et saisir les commandes suivantes:
Premièrement, on met à jour la liste des paquets officiels disponibles:
apt-get update & apt-get upgrade
Ensuite on installe le paquet ProFTPd:
apt-get install proftpd
Lors de l'installation, il va vous être demandé si vous souhaitez lancer le serveur FTP via
inetd ou indépendamment. Je préconise de choisir: Indépendamment
Passons maintenant à la configuration proprement dite:
Éditons le fichier de configuration de ProFTPd avec Nano l'éditeur de base sous Debian:
nano /etc/proftpd/proftpd.conf
On recherche et on dé-commente la ligne: "#DefaultRoot" et on la remplace par ceci:
DefaultRoot /var/www
Ceci permet de restreindre les utilisateurs en limitant leur accès uniquement au répertoire /www (on peut évidement adapter le répertoire en fonction de sa propre configuration). Le but de cette directive est d’empêcher que l'utilisateur connecté puisse parcourir l'arborescence de notre serveur pour des raisons évidentes de sécurité. Améliorons encore un peu la sécurité en interdisant aussi au compte Root l'accès au serveur FTP:
Pour ce faire, on recherche ou on rajoute la ligne suivante si elle n'est pas présente:
"RootLogin ON" et on la modifie comme ceci:
RootLogin OFF
Toujours en matière de sécurité, je vous conseille également de changer le port d'écoute standard (port 21 pour FTP) par défaut comme ceci:
On recherche la ligne Port 21 et on remplace 21 par un autre port. Par exemple:
Port 21987
Quittez à présent l'éditeur Nano en enregistrant vos modifications :
CTRL+O et CTRL+X
Et relancez le service Proftpd pour que les modifications soient prises en compte :
/etc/init.d/proftpd restart ou service proftpd restart
Il faut maintenant faire en sorte que l'utilisateur connecté au serveur FTP puisse écrire dans le répertoire qui lui est attribué sans rencontrer d'erreur. Pour cela il faut lui donner les bons droits sur ce répertoire:
Ajoutons donc ces droits spécifiques sur notre répertoire web public avec les commandes suivantes :
chown www-data:www-data /var/www
chmod -R 775 /var/www
Cet utilisateur doit appartenir au bon groupe d'utilisateurs. Il faut donc éditer le fichier "group" et y effectuer les modifications suivantes avec l'éditeur Nano:
nano /etc/group
On localise la ligne du groupe correspondant, ici: "www-data:x:33:" et on y rajoute le nom de notre utilisateur comme ceci:
www-data:x:33:nom_utilisateur
On localise ensuite la ligne où figure le nom de notre utilisateur en question qui doit ressembler à : "nom_utilisateur:x:1000:" et on effectue la modification suivante:
nom_utilisateur:x:1000:www-data
On enregistre les modifications et on quitte l'éditeur Nano.
Enfin, il ne reste plus maintenant qu'à relancer le service Apache2 et le service ProFTPd pour prendre en compte les changements avec les commandes suivantes:
etc/init.d/apache2 restart
et:
etc/init.d/proftpd restart
Et voilà, si vous avez bien suivi la procédure ci-dessus, vous disposez maintenant d'une serveur FTP opérationnel. Il vous suffit de tester si tout fonctionne avec un client FTP comme par exemple Filezilla .
PS: Si vous testez l'accès à votre serveur FTP depuis internet (c'est à dire à l'extérieur de chez-vous) n'oubliez pas d'ouvrir et de rediriger correctement les ports concernés sur votre Box, le cas échéant, votre routeur et votre pare-feu.
Si l'on se réfère à la configuration décrite plus haut, il faut dans notre exemple ouvrir et autoriser le port public 21 (FTP) et le rediriger vers l'adresse IP de notre serveur web sur le port privé 21987 (port définit dans le fichier de configuration proftpd.conf pour écouter et répondre au trafic FTP).