Comment héberger et partager de gros fichiers en ligne avec PicoShare sous Linux

Picoshare est une application web de partage de fichiers légère pour Linux. Cet article vous montre comment installer Picoshare et partager des fichiers en ligne sur Ubuntu Linux à l'aide de Docker.

Picoshare est une application web de partage de fichiers légère et très accessible pour Linux. Il propose une interface facile à utiliser où vous pouvez télécharger et partager des fichiers depuis votre propre serveur. Cet article vous montrera comment installer Picoshare et partager des fichiers en ligne à l'aide de Docker sur Ubuntu Linux.

Pourquoi utiliser Picoshare pour le partage de fichiers en ligne

Un des principaux points forts de PicoShare est qu'il est très facile à déployer sur n'importe quelle plateforme basée sur Linux. Avec l'aide de Docker, vous pouvez partager des fichiers en ligne avec PicoShare sans vous soucier des dépendances Linux et de la compatibilité des programmes.

Un autre atout de PicoShare est qu'il ne manipule pas les fichiers que vous téléchargez sur sa plateforme. Cela le rend utile pour le partage de photos et de vidéos, car vous pouvez être sûr que le serveur ne ré-encodera pas vos médias lors du téléchargement.

Enfin, PicoShare permet de dupliquer son stockage de fichiers vers des solutions de stockage d'objets externes. Par exemple, vous pouvez lier votre bucket compatible avec Amazon S3 à votre serveur PicoShare et créer une sauvegarde 1:1 du contenu de votre serveur. Cela facilite la restauration des données lors de la migration d'un système à un autre.

Installation des prérequis pour PicoShare

Hypothèse : Ce tutoriel est réalisé sur une machine Ubuntu 24.04 avec au moins 2 Go de RAM et 50 Go d'espace disque. Vous devrez disposer d'un nom de domaine pour lequel vous pouvez créer des enregistrements « A ». Enfin, cet article utilisera DigitalOcean Spaces comme backend de stockage d'objets compatible S3.

Remarque : Bien que les instructions ici soient pour Ubuntu, elles devraient également fonctionner pour la plupart des distributions Linux.

La première étape de l'installation de PicoShare consiste à obtenir Docker et Nginx pour votre système hôte (pour d'autres distributions Linux, voici comment installer Docker sur vos systèmes Linux). Tout d'abord, récupérez la clé de signature du dépôt du projet Docker :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg

Créez un nouveau fichier de dépôt apt en utilisant votre éditeur de texte préféré :

sudo nano /etc/apt/sources.list.d/docker.list

Collez la ligne de code suivante dans votre nouveau fichier de dépôt :

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu noble stable

Enregistrez votre fichier de dépôt, puis mettez à jour à la fois les listes de dépôts du système et ses paquets actuels :

sudo apt update && sudo apt upgrade

Installez Docker, Docker Compose et Nginx en utilisant apt sur Ubuntu :

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Création d'une sauvegarde de stockage en nuage pour PicoShare

Rendez-vous chez votre fournisseur de stockage en nuage compatible avec S3, puis créez un nouveau bucket de stockage. Dans ce cas, j'utilise DigitalOcean Spaces, donc je vais cliquer sur Create -> Spaces Object Storage sur mon tableau de bord.

Sélectionnez un emplacement de centre de données pour votre stockage compatible avec S3, puis cochez la case Enable CDN.

Donnez un nom à votre nouveau bucket Spaces, puis cliquez sur Create a Spaces Bucket pour l'initialiser.

Cliquez sur l'icône Copy dans la zone de texte Origin Endpoint et collez-la dans un fichier texte séparé.

Défilez dans la barre latérale gauche de votre tableau de bord DigitalOcean, puis cliquez sur la catégorie API.

Cliquez sur l'onglet Spaces Keys, puis sélectionnez Generate New Key.

Donnez un nom à votre nouvelle clé, puis cliquez sur Create Access Key.

Copiez à la fois la "clé d'accès" et la "clé secrète" à partir de la page et collez-les dans votre fichier texte.

Installation et exécution de PicoShare

Créez un nouveau dossier pour PicoShare à l'intérieur du répertoire principal de votre utilisateur, puis allez-y :

mkdir ~/picoshare && cd ~/picoshare

Utilisez votre éditeur de texte préféré pour créer le fichier de composition de PicoShare :

nano ./docker-compose.yml

Collez le bloc de code suivant dans votre nouveau fichier .yml :

version: "3.2" services: picoshare: image: mtlynch/picoshare environment: - PORT=4001 - PS_SHARED_SECRET=MOT DE PASSE ALÉATOIRE ICI - LITESTREAM_BUCKET="NOM DE VOTRE BUCKET" - LITESTREAM_ENDPOINT="VOTRE ENDPOINT D'ORIGINE ICI" - LITESTREAM_ACCESS_KEY_ID="VOTRE.

Remplacer la valeur de la variable "PS_SHARED_SECRET" par un mot de passe suffisamment long et aléatoire. Ceci servira de mot de passe pour l'interface web de PicoShare.

Note: vous pouvez générer votre propre mot de passe aléatoire en exécutant la commande suivante :
cat /dev/urandom | tr -dc 'A-Za-z0-9' | fold -w 32 | head -n 1
dans une session de terminal séparée.

Changez la valeur de la variable "LITESTREAM_BUCKET" par le nom de votre bucket Spaces.

Copiez la région et le nom de domaine de votre endpoint, puis collez-le comme valeur de la variable "LITESTREAM_ENDPOINT".

Remplacez les valeurs des variables "LITESTREAM_ACCESS_KEY_ID" et "LITESTREAM_SECRET_ACCESS_KEY_ID" par la Clé d'accès et la Clé secrète de votre bucket DigitalOcean Spaces.

Enregistrez votre fichier docker-compose.yml, puis exécutez la commande suivante pour construire et exécuter l'instance de PicoShare :

sudo docker compose up -d

Sécuriser PicoShare avec un proxy inverse SSL

À ce stade, PicoShare fonctionne sur le port 4001 de votre machine locale. Pour y accéder de manière sécurisée sur Internet, vous devez vous assurer que toutes les connexions sont chiffrées via SSL.

Commencez par créer un nouvel enregistrement "A" pour votre nom de domaine qui pointe vers l'adresse IPv4 de votre serveur PicoShare. Dans mon cas, je vais créer un enregistrement "A" avec la valeur "picoshare".

Installez le paquet snap "core" sur votre système Ubuntu :

sudo snap install core

Téléchargez le paquet snap certbot de l'Electronic Frontier Foundation (EFF) :

sudo snap install certbot --classic

Créez un nouveau fichier de configuration du site Nginx à l'aide de votre éditeur de texte favori :

sudo nano /etc/nginx/sites-available/picoshare

Collez le bloc de code suivant à l'intérieur de votre fichier de configuration du site :

server {
    server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;
    
    location / {
        proxy_pass http://127.0.0.1:4001;
        proxy_http_version 1.1;
        proxy_redirect off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        client_max_body_size 0m;
    }
}

Enregistrez votre fichier de configuration du site, puis créez un lien symbolique depuis le répertoire "/etc/nginx/sites-available/" vers le dossier "/etc/nginx/sites-enabled/":

sudo ln -s /etc/nginx/sites-available/picoshare /etc/nginx/sites-enabled/

Vérifiez à nouveau votre fichier de configuration Nginx pour vérifier s'il contient des erreurs, puis lancez le démon du serveur web Nginx à l'aide de la commande systemctl.

nginx -t
sudo systemctl enable --now nginx.service

Enregistrez votre serveur PicoShare à l'aide de l'outil certbot de l'EFF :

sudo certbot register --agree-tos -m YOUR-EMAIL@ADDRESS.HERE

Générez un nouveau certificat SSL pour votre domaine :

sudo certbot --nginx -d SUBDOMAIN.YOUR-ROOT.DOMAIN

Bon à savoir : apprenez comment HTTPS protège vos données en ligne en générant votre propre certificat SSL avec OpenSSL.

Tester PicoShare et télécharger votre premier fichier

Ouvrez un navigateur web, puis accédez à votre sous-domaine pour charger la page d'accueil de PicoShare.

Cliquez sur le bouton "Se connecter" dans le coin supérieur droit de la page.

Saisissez la valeur de "PS_SHARED_SECRET" dans la zone de texte "Passphrase", puis cliquez sur "Authentifier" pour vous connecter.

Vérifiez si vous pouvez enregistrer des données sur votre serveur PicoShare en cliquant sur le bouton "Télécharger", puis sélectionnez un fichier d'exemple dans le menu de sélection.

Copiez le premier lien que le serveur renvoie à l'utilisateur avec lequel vous souhaitez partager votre fichier.

Activer les téléchargements temporaires de fichiers sur PicoShare

En plus des téléchargements soumis par les utilisateurs, vous pouvez également créer des liens temporaires permettant aux utilisateurs anonymes de télécharger des fichiers sur votre serveur. Cela peut être utile si vous avez quelqu'un qui a besoin de partager des fichiers avec vous mais ne peut pas télécharger de fichiers sur un service cloud classique.

Commencez par cliquer sur la catégorie "Liens invités" sur la page d'accueil de PicoShare.

Cliquez sur le bouton "Créer un nouveau" juste au-dessus du tableau vide des liens.

Fournissez les informations de base pour votre lien de téléversement invité. Dans mon cas, je le nommerai "MakeTechEasier" et définirai la date d'expiration sur Jamais avec une limite de taille de fichier de 100 Mo et une limite globale de 10 téléversements.

Cliquez sur Créer pour générer le lien invité temporaire pour votre instance PicoShare.

Cliquez sur l'icône Copier située du côté droit du lien invité, puis envoyez le contenu de votre presse-papiers au destinataire prévu.

Déployer et sécuriser PicoShare pour partager des fichiers en ligne à l'aide de Linux est juste la première étape pour retrouver votre vie privée numérique en ligne. Découvrez comment vous pouvez vous protéger davantage en hébergeant votre propre serveur d'alias de messagerie en utilisant SimpleLogin.

Questions et réponses importantes à connaître

Comment partager un fichier sur Linux ?

Pour partager un fichier sur Linux, suivez ces étapes : 1. Ouvrez un terminal avec les droits de root. 2. Utilisez la commande 'Mount :/share/ <Répertoire à monter>'. 3. Entrez votre nom d'utilisateur et mot de passe. Astuce : Assurez-vous d'avoir les droits appropriés pour monter le dossier partagé.

Comment transférer et partager des fichiers entre Windows et Linux ?

Pour transférer et partager des fichiers entre Windows et Linux, vous pouvez utiliser le protocole Samba. Voici comment procéder : 1. Ouvrez l'explorateur de fichiers de Windows en utilisant le raccourci clavier + E. 2. Déroulez la section 'Réseau' dans l'explorateur. 3. Assurez-vous d'avoir activé la découverte du réseau. Si c'est déjà fait, votre serveur Samba devrait apparaître. 4. Cliquez sur le serveur Samba et ouvrez le partage correspondant. Une fois le partage ouvert, vous pourrez transférer des fichiers entre Windows et Linux en les glissant-déposant ou en les copiant-collant. Assurez-vous d'avoir les autorisations nécessaires pour accéder et modifier les fichiers.

Maintenant que tu as fini de lire Comment héberger et partager de gros fichiers en ligne avec PicoShare sous Linux, nous t'invitons à explorer davantage la catégorie Linux. Tu y trouveras d'autres articles intéressants qui élargiront tes connaissances et te tiendront informé. Ne cesse pas de lire et de découvrir plus!

Index
  1. Pourquoi utiliser Picoshare pour le partage de fichiers en ligne
  2. Installation des prérequis pour PicoShare
    1. Création d'une sauvegarde de stockage en nuage pour PicoShare
  3. Installation et exécution de PicoShare
  4. Sécuriser PicoShare avec un proxy inverse SSL
  5. Tester PicoShare et télécharger votre premier fichier
    1. Activer les téléchargements temporaires de fichiers sur PicoShare
  6. Questions et réponses importantes à connaître
    1. Comment partager un fichier sur Linux ?
    2. Comment transférer et partager des fichiers entre Windows et Linux ?

Laisser un commentaire

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

Go up