16/12/2024

Cloud

Partage de fichiers avec FileZ

I. Présentation

FileZ est une application web développée par l’Université d’Avignon et des Pays de Vaucluse qui permet de déposer et gérer des fichiers destinés à être partagés grâce à une URL unique.

 Site de l’éditeur ici.

II. Fonctionnalités

Fonctionnalités

  •  Authentification modulaire : CAS+LDAP, LDAP only, BDD, ou vos propres classes PHP
  • URL courtes (ex: filez.univ-avignon.fr/x42ni1)
  • Barre de progression d’upload (Utilisation non obstructive du javascript)
  • Formulaire d’installation
  • Protection des fichiers par mot de passe
  • Envoi d’emails
  • Tâches cron
  • Quota

III. Au préalable

Pour installer Filez il vous faut :

  • un serveur Linux sous Debian/Ubuntu/...
  • un serveur SSH, pour accéder au serveur depuis Putty (outils plus agréable que l’utilisation de la console linux)
  • Mysql-server, pour la gestion des comptes fichiers
  • Php5-mysql, php5-ldap, php5-dev
  • Pecl,
  • apache2, pour l'interface WEB de Filez
  • git-core, pour une installation depuis GitHub.

Remarque : l’utilisation du nom Rapin est à titre d’exemple.

image1

IV. Installation de Filez

  •  Téléchargement du paquet d'installation Filez :
git clone git://github.com/UAPV/FileZ.git /var/www/filez
  • Donner les droits d’accès à Apache (serveur Web sous Linux) sur le répertoire « filez » :
chown –R www-data:www-data /var/www/filez
  • Création de la base de données pour la gestion des fichiers et des utilisateurs :
mysql -u root -p
Enter password:

mysql> create database filez;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON filez.* TO "filez"@"localhost" IDENTIFIED BY "filezmdp";
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> USE filez

mysql>  CREATE TABLE `filez`.`db_users` (
`uid` SERIAL NOT NULL ,
`login` VARCHAR( 20 ) NOT NULL ,
`password` VARCHAR( 40 ) NOT NULL ,
`givenname` VARCHAR( 255 ) NOT NULL ,
`sn` VARCHAR( 255 ) NOT NULL ,
`mail` VARCHAR( 255 ) NOT NULL
) ENGINE = MYISAM ;

mysql> exit
Bye
  • Modification du Virtual host :

image01

 

  • Afin d'activer le module, il faut utiliser la commande « a2enmod » (Apache 2 Enable Module) suivi du nom du module et mod_rewrite pour permettre la réécriture des URLs. Enfin pour appliquer les changements, un redémarrage du service « apache2 » est nécessaire :
a2enmod rewrite 
apache2ctl restart
  •  Premier accès à l’interface Filez via l'adresse IP du serveur (http://localhost)

image2

Nous avons des alertes concernant plusieurs prérequis dont :

Upload_max_filesize : Taille maximum d'un fichier étant partagé.

Upload_tmp_dir : Chemin d'accès au répertoire temporaire des fichiers partagés.

 

  • Ces paramètres peuvent être modifiés ultérieurement en éditant le fichier « .htaccess » présent dans /var/www/filez. Il est important de vérifier l’existence du répertoire temporaire, sinon, il faut le créer et lui attribué les droits suivants :
 drwxrwxr-x 2 www-data www-data 4096 10 Janv 17:04 tmp
  •   La page suivante permet d'accéder à la configuration de FileZ (pour l'authentification utiliser "Database").

image3

  • Une fois la configuration complétée, il faut cliquer sur « Check configure and install ! »  pour poursuivre l'installation :

image4

 V. Création utilisateur

  • PhpMyAdmin (interface web permettant d'administrer des bases de données) va permettre de créer simplement les comptes utilisateurs :
aptitude install phpmyadmin
  • Pour accéder à l'interface web de PhpMyAdmin il suffit d'accéder à l'adresse suivante : http://localhost/phpmyadmin, de renseigner votre nom d'utilisateur et mot de passe que vous avez prédéfinit lors de l'installation de ce dernier. Puis d'insérer une nouvelle entrée dans la BDD FileZ :

image8

VI. Interface utilisateur

image5

  • Ajout d'un fichier avec comme argument, le temps de validité du lien correspondant au jour à partir duquel il doit être accessible et si l'on souhaite le protéger par un mot de passe :

image6

  • Liste des fichiers téléchargés sur le serveur pour le compte de l'utilisateur (ici : user1).  Le bouton "Partager" va créer un lien, permettant de télécharger le ou les fichiers hébergés sur le serveur, que l'on peut donner :

image7

author avatar
Arnaud Baumard
Adepte des nouvelles technologies, passionné d'informatique et plus particulièrement dans l'administration systèmes et réseaux, je viens partager mes connaissances, mes trouvailles, mes projets.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

5 commentaires sur “Partage de fichiers avec FileZ

  • Bonjour,

    Pouvez-vous me dire s’il est possible d’avoir un seul lien pour plusieurs fichiers sans avoir au préalable à créer un fichier zip ?

    En vous remerciant,

    Cordialement,

    Répondre
    • Bonjour,

      A ma connaissance Filez permet uniquement le partage de fichiers.

      Cordialement.

      Répondre
  • Bonjour, je suis sous linux (ubuntu 16.04) et je me suis decidé pour un projet de serveur, d’opté pour filez.

    Mais je tombe sur une erreur. En effet, lorsque je tente de crée la base de donnée pour la gestion des fichiers et des utilisateurs la syntax n’est pas reconnu.

    ERROR 1604 (42000): You have an error in your SQL syntax; check the manual that correspond to your Mysql server version for the right syntax user to use near ‘ ‘filez’.’db_users’ (
    ‘uid’ SERIAL NOT NULL ,
    ‘login’ VARCHAR( 20 ) NOT NULL ,’ at line 1

    Pouvez-vous, si possible, m’éclairer sur cette erreur ?

    Cordialement.

    Répondre
  • Bonjour,
    sauriez-vous si il existe un équivalent en FTPS

    Merci

    Répondre
  • Bonjour,
    Après réception de fichier, il est demandé au destinataire de saisir le mot de passe, alors qu’aucun mot de passe n’a été saisi lors de l’envoi par l’expéditeur (rarement mais cela est arrivé pour 2 expéditeurs différents). comment corriger ce bug, qui n’est pas systématique ?
    L’envoi avec mot de passe fonctionne normalement.
    merci,
    Antoine

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.