Bien que FTP (File Transfer Protocol) soit une technologie ancienne, elle est toujours utilisée par de nombreux systèmes et périphériques matériels. Certaines caméras IP vous permettent d’enregistrer des photos sur un serveur FTP et vous pouvez en créer une à l’aide d’un Raspberry Pi. Si vous avez le choix, vous feriez mieux d’utiliser SFTP, mais si votre appareil ne prend en charge que FTP, ce guide vous aidera à créer un serveur FTP.
Nous utiliserons vsftpd car c’est une application Linux populaire qui est sécurisée, stable et extrêmement rapide.
La configuration initiale
Tu auras besoin de :
- Un Raspberry Pi
- Carte SD avec la dernière image Raspbian
- Source de courant
- Clavier et moniteur (facultatif)
Commencez avec une nouvelle carte SD contenant la dernière image Raspbian. Le guide Comment créer une nouvelle carte SD pour Raspberry Pi sous Windows vous expliquera comment procéder sous Windows. Configurez votre Pi et connectez-le à votre réseau via Ethernet ou WiFi. Si vous souhaitez effectuer la configuration FTP à distance, suivez ce guide pour activer SSH.
Obtenez l’adresse IP du réseau en utilisant :
ifconfig
Il sera très probablement de la forme 192.168.###.###.
Étape 1 – Installer vsftpd
Utilisez la commande suivante pour mettre à jour vos référentiels et installer le logiciel vsftpd :
sudo apt-get update sudo apt-get install vsftpd
Étape 2 – Mettre à jour le fichier de configuration
Une fois installé vous pouvez maintenant éditer le fichier de configuration vsftpd en utilisant :
sudo nano /etc/vsftpd.conf
Dans ce fichier retrouvez les lignes suivantes et dé-commentez-les en supprimant le caractère # :
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 chroot_local_user=YES
Ajoutez les lignes suivantes à la fin du fichier :
user_sub_token=$USER local_root=/home/$USER/ftp
Enregistrez et quittez en utilisant CTRL-X, Y et ENTER.
Étape 3 – Créer un répertoire FTP pour l’utilisateur Pi
Pour vous permettre de vous connecter au serveur FTP en utilisant l’utilisateur Pi par défaut, nous devons créer quelques répertoires :
mkdir /home/pi/ftp mkdir /home/pi/ftp/files
Modifiez les permissions sur le répertoire ftp en utilisant :
chmod a-w /home/pi/ftp
Étape 4 – Créer un nouvel utilisateur (facultatif)
Si vous souhaitez vous connecter au serveur avec un autre nom d’utilisateur, nous pouvons créer un nouvel utilisateur. Dans cet exemple, nous allons créer un nouvel utilisateur appelé « camera » :
sudo adduser camera
Un mot de passe vous sera demandé. Assurez-vous que c’est un bon !
Les autres détails peuvent être laissés vides ou renseignés comme bon vous semble.
Vous devriez voir quelque chose comme ceci sur votre écran :
Ce nouvel utilisateur aura également besoin d’un ensemble de répertoires FTP :
mkdir /home/camera/ftp mkdir /home/camera/ftp/files
Une fois créé, modifiez les autorisations en utilisant :
chmod a-w /home/camera/ftp
Ce n’est pas nécessaire pour le transfert de fichiers de base mais le nouvel utilisateur peut avoir la même possibilité d’utiliser « sudo » en exécutant la commande :
sudo adduser camera sudo
Étape 5 – Redémarrez le serveur FTP
Redémarrez enfin le service vsftpd pour que nos modifications prennent effet :
sudo service vsftpd restart
Étape 6 – Tester le serveur FTP
Il ne reste plus qu’à vérifier que vous pouvez vous connecter au serveur et transférer des fichiers.
Obtenez l’adresse IP de votre Pi en utilisant :
ifconfig
Exécutez votre client FTP préféré sur votre PC/ordinateur portable. Les utilisateurs de Windows peuvent utiliser WinSCP. Les utilisateurs Windows, Mac ou Linux peuvent utiliser FichierZilla. Si vous vous êtes connecté à la ligne de commande via SSH, vous pourrez peut-être utiliser le même client pour FTP.
Pour vous connecter dans votre client, vous fournissez le nom d’hôte (adresse IP) de votre Pi, le nom d’utilisateur (par exemple pi ou caméra) et le mot de passe. Assurez-vous qu’il est configuré pour utiliser le protocole FTP et le port 21.
Voici le gestionnaire de site WinSCP :
Voici une capture d’écran de WinSCP connecté à mon Pi en utilisant le nom d’utilisateur « caméra ».
Accédez au répertoire « fichiers » et vous devriez pouvoir y transférer des fichiers. Si cela fonctionne, votre serveur FTP est prêt pour tous les appareils que vous souhaitez connecter.
Journaux de session FTP
Vous pouvez consulter les journaux de session vsftpd pour voir un historique des connexions effectuées sur votre serveur FTP.
cat /var/log/vsftpd.log
Lectures complémentaires
Il y a une liste complète des options du fichier de configuration vsftpd ici :
https://security.appspot.com/vsftpd/vsftpd_conf.html
Protocole de transfert de fichiers (Wiki) :
https://en.wikipedia.org/wiki/File_Transfer_Protocol