Installer un serveur FTP

Étapes pour installer un serveur FTP sur son ordinateur

Différents OS...

Windows


Nous vous proposons d'installer FileZilla Server, disponible à cette adresse.

 

Installation

Normalement tout se passe bien, il suffit de suivre la procédure. À la partie startup settings, choisir les options comme ci-dessous. Si vous ne voulez pas mettre le serveur en marche automatiquement lorsque la machine démarre, choisir install as servicestart manually à la première option.

installation-filezilla-windows

Une fois l'installation terminée une fenêtre Connect to Server s'affiche. Cochez Always connect to this server et cliquez sur OK. L'interface d'administration s'affiche alors.

installation-filezilla-windows2

 

Configuration générale du serveur

Allez dans Edit > Settings. Limitez le nombre d'utilisateurs à 2, afin de préserver votre machine, dans le menu general settings. Dans le sous-menu welcome message, vous pouvez taper un message qui s'affichera lorsqu'une personne se connectera à votre serveur. Pour une utilisation ordinaire, vous n'avez pas besoin de modifier les autres paramètres.

 

Configurer les comptes d'utilisateurs

Allez à Users en cliquant sur l'icône représentant une personne. Nous allons créer un compte utilisateur. Nous expliquons la procédure pour l'utisateur anonymous car c'est celui qui permettra à tout le campus de se connecter sur votre pc. Les autres se font pareillement. Cliquez sur Add dans la sous-rubrique User et tapez anonymous puis cliquez sur OK.

Commencez par régler le nombre de connexions maximales par IP à 1 ou 2 (ou plus si vous êtes généreux). Ensuite allez dans Shared folders et ajoutez tous les répertoires que vous voulez rendre accessibles en cliquant add dans la sous-rubrique Access rights. Une fois un répertoire ajouté il faut fixer les droits. Typiquement cochez readlist et Subdir. Si vous proposez un répertoire pour uploader, cochez aussi write et create pour ce répertoire.

Une fois cela terminé, créez un répertoire vide, ftp par exemple. Ajoutez le répertoire ftp dans la liste des répertoires de Access right avec les mêmes droits et transformez-le en répertoire d'accueil (sélectionnez-le et cliquez sur set as home dir). Ensuite, double-cliquez sur le champ alias de chaque répertoire et indiquez le nom du répertoire ftp créé précédemment suivi du nom sous lequel vous voulez que votre répertoire soit partagé, comme dans l'exemple ci-dessous :

installation-filezilla-windows3

La config de anonymous est terminée. Procédez de même pour en créer d'autres. Pour mettre un mot de passe il suffit de cocher Password et de taper le mot de passe.

 

Linux


Nous vous proposons d'installer ProFTPd. Il existe une interface graphique (paquet gadmin-proftpd)

Sur Debian : sudo apt-get install proftpd gadmin-proftpd.

 

Configuration de ProFTPd en mode manuel

Modifier le fichier /etc/proftpd/proftpd.conf et coller cette config (modifier le groupe en rouge si besoin) :

 <Anonymous ~ftp>
   User                ftp
   Group                pi
   # We want clients to be able to login with "anonymous" as well as "ftp"
   UserAlias            anonymous ftp
   # Cosmetic changes, all files belongs to ftp user
   DirFakeUser    on ftp
   DirFakeGroup on ftp

   RequireValidShell        off

   # Limit the maximum number of anonymous logins
   MaxClients            10

   # We want 'welcome.msg' displayed at login, and '.message' displayed
   # in each newly chdired directory.
   DisplayLogin            welcome.msg
   DisplayChdir        .message

   # Limit WRITE everywhere in the anonymous chroot
   <Directory *>
     <Limit WRITE>
       DenyAll
     </Limit>
   </Directory>

 </Anonymous>


Include /etc/proftpd/modules.conf
UseIPv6                off
IdentLookups            off

ServerName            "Debian"
ServerType            standalone
DeferWelcome            off

MultilineRFC2228        on
DefaultServer            on
ShowSymlinks            on

TimeoutNoTransfer        600
TimeoutStalled            600
TimeoutIdle            1200

DisplayLogin                    welcome.msg
DisplayChdir                   .message true
ListOptions                    "-l"

DenyFilter            \*.*/
DefaultRoot            ~
Port                21

MaxInstances            10

<IfModule mod_dynmasq.c>
# DynMasqRefresh 28800
</IfModule>
User                proftpd
Group                nogroup
Umask                022  022
AllowOverwrite            on
TransferLog /var/log/proftpd/xferlog
SystemLog   /var/log/proftpd/proftpd.log

<IfModule mod_quotatab.c>
QuotaEngine off
</IfModule>

<IfModule mod_ratio.c>
Ratios off
</IfModule>
<IfModule mod_delay.c>
DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
ControlsEngine        off
ControlsMaxClients    2
ControlsLog           /var/log/proftpd/controls.log
ControlsInterval      5
ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>

# Include other custom configuration files
Include /etc/proftpd/conf.d/

 

Configuration du montage

sudo mkdir ~ftp/Garbage

sudo mount --bind DOSSIER_A_PARTAGER ~ftp/Garbage

Pour automatiser le montage au démarrage, modifier le crontab (sudo crontab -e) et y coller les lignes :

# Fais le lien entre le dossier ftp et son contenu sur le disque externe (doit attendre que le disque externe soit monté)
@reboot sleep 30 && mount --bind DOSSIER_A_PARTAGER ~ftp/Garbage


Publié : 1 août 2016
Dernière modification: 6 janvier 2017