serveur_hebergement:send-partage_de_fichier

Send - Partage de fichier

Voici un autre logiciel, plus simple que Zendto pour partager des fichiers : Send. Pas de compte, pas d'envoi de mail.

Pour faire tourner Send, il vous faut un serveur web (Apache2 dans mon cas), git, nodejs et npm. Pour installer tout ça sous Debian :

sudo aptitude install git apache2 nodejs npm

Je ne traiterai pas la configuration générale d’Apache2 ici.

Rendez-vous dans le répertoire /var/www :

cd /var/www

Récupérez les sources (on va utiliser l'utilisateur www-data pour toutes les commandes) :

sudo -u www-data git clone https://github.com/timvisee/send.git

Rendez-vous dans le répertoire send créé :

cd send

Lancez l'installation :

sudo -i -u www-data
npm install
export NODE_OPTIONS=--openssl-legacy-provider
npm run build
exit

Ouvrez le fichier de configuration :

sudo nano /var/www/send/server/config.js

Remplacez la ligne

default: 'https://send.example.com',

par

default: 'https://partage.domaine.fr',

On va créer un fichier de configuration afin de pouvoir accéder à Send via un sous-domaine partage.domaine.fr (ou autre sous-domaine selon votre convenance).

Créez le fichier de configuration partage.domaine.fr.conf dans /etc/apache2/sites-available (remplacez domaine.fr par votre domaine) et collez-y les lignes suivantes en adaptant le domaine et l'emplacement des fichiers SSL :

<VirtualHost *:80>
 
        ServerName partage.domaine.fr
 
        Redirect / https://partage.domaine.fr/
 
</VirtualHost>
 
 
<VirtualHost *:443>
 
        ServerName partage.domaine.fr
 
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/partage.access.log combined
        ErrorLog ${APACHE_LOG_DIR}/partage.error.log
 
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/domaine.fr/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/domaine.fr/privkey.pem
        Header set Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; connect-src 'self'; media-src 'self'; child-src 'self'; object-src 'self'; form-action 'self'; img-src 'self' * data:" 
 
        RewriteEngine on
 
        # Make sure the original domain name is forwarded to Send
        # Otherwise the generated URLs will be wrong
        ProxyPreserveHost on
 
        # Make sure the generated URL is https://
        RequestHeader set X-Forwarded-Proto https
 
        # If it's a normal file (e.g. PNG, CSS) just return it
        RewriteCond %{REQUEST_FILENAME} -f
        RewriteRule .* - [L]
 
        # If it's a websocket connection, redirect it to a Send WS connection
        RewriteCond %{HTTP:Upgrade} =websocket [NC]
        RewriteRule /(.*) ws://127.0.0.1:1443/$1 [P,L]
 
        # Otherwise redirect it to a normal HTTP connection
        RewriteRule ^/(.*)$ http://127.0.0.1:1443/$1 [P,QSA]
        ProxyPassReverse  "/" "http://127.0.0.1:1443"       
 
</VirtualHost>

Activez les modules d'Apache2 nécessaires :

sudo a2enmod headers proxy proxy_http proxy_wstunnel rewrite

Activez le fichier de configuration :

sudo a2ensite partage.domaine.fr

Puis rechargez Apache2 :

sudo systemctl reload apache2

Créez le fichier

/etc/systemd/system/send.service

Copiez les lignes suivantes dedans

[Unit]
Description=Send - Partage de fichier

[Service]
WorkingDirectory=/var/www/send/
ExecStart=npm run prod
User=www-data

[Install]
WantedBy=multi-user.target

Activez le service au démarrage

sudo systemctl enable send.service

Démarrez le service

sudo systemctl start send.service

Vous pouvez maintenant accéder à Send à l'adresse partage.domaine.fr

Vous pourriez laisser un commentaire si vous étiez connecté.
  • serveur_hebergement/send-partage_de_fichier.txt
  • Dernière modification : 2024/06/07 18:39
  • de fate