Zendto - Partage de fichiers
Zendto est un logiciel qui permet de partager facilement des fichiers. Il permet de gérer les accès, de chiffrer les fichiers et d'envoyer les liens par mail.
Installation
Zendto n'est pas présent dans les dépôts Debian, mais un dépôt officiel existe pour le récupérer.
Récupérez les clés de signature :
wget -O - https://zend.to/files/zendto.gpg.asc | sudo apt-key add -
Installez le dépôt :
wget https://zend.to/files/zendto-repo.deb sudo dpkg -i zendto-repo.deb
Mettez à jour la liste de paquets :
sudo aptitude update
Puis installez Zendto :
sudo aptitude install zendto
Configuration de la base de donnée
Zendto ne crée pas la base de données, il va falloir l'importer avec le fichier fourni.
Commencez par lancer mysql :
sudo -u root mysql
Créez la base de données :
CREATE DATABASE zendto;
Créez l'utilisateur pour la base (modifier le mot de passe) :
GRANT ALL PRIVILEGES ON zendto.* TO zendto@localhost IDENTIFIED BY 'motdepasse';
Quittez mysql :
exit
ouvrez le dump de la base de données :
sudo nano /opt/zendto/sql/zendto.MySQL
Dans le bloc “Struttura della tabella `recipient`”, remplacez :
CREATE TABLE IF NOT EXISTS `recipient` ( `rowID` INT(11) NOT NULL AUTO_INCREMENT, `dID` INT(11) NOT NULL COMMENT 'References rowID in dropoff table', `recipName` VARCHAR(32) NOT NULL, `recipEmail` text NOT NULL, KEY `dID` (`dID`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Recipient data';
par
CREATE TABLE `recipient` ( `dID` INT(11) NOT NULL COMMENT 'References rowID in dropoff table', `recipName` VARCHAR(32) NOT NULL, `recipEmail` text NOT NULL, `rowID` INT(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`rowID`), KEY `dID` (`dID`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 COMMENT='Recipient data';
Importez la base de données (remplacez le mot de passe par celui utilisé précédemment) :
mysql --user=zendto --password='motdepasse' zendto < /opt/zendto/sql/zendto.MySQL
Vous aurez une erreur après l'import mais l'import a fonctionné.
Configuration de Zendto
Ouvrez le fichier /opt/zendto/config/preferences.php.
Activez mysql en remplaçant :
define('SqlBackend', 'SQLite3');
par
define('SqlBackend', 'MySQL');
Configurez l'accès à la base de données plus bas. Vous devez avoir comme suit (remplacez le mot de passe) :
// Next 4 lines needed for MySQL operation 'MySQLhost' => 'localhost', 'MySQLuser' => 'zendto', 'MySQLpassword' => 'motdepasse', 'MySQLdb' => 'zendto',
Modifiez la ligne “serverRoot” pour indiquer votre sous-domaine qui permettra d'accéder à Zendto
Changez la langue en français en remplaçant :
'language' => 'en_US',
par
'language' => 'fr_FR',
Pour être conforme au RGPD, remplacez :
'cookieGDPRConsent' => FALSE,
par
'cookieGDPRConsent' => TRUE,
Si vous ne souhaitez pas que des personnes non-identifiées puisse uploader des fichiers, remplacez :
'allowExternalUploads' => TRUE,
par
'allowExternalUploads' => FALSE,
Configurez la partie mail dans “E-mail settings.”
Ajoutez un utilisateur admin (appelez-le comme vous voulez) à la ligne 'authAdmins' (virez 'admin1','admin2','admin3'). Passez la ligne 'adminLoginsMustBeLocal' à False pour que les admins puissent avoir n'importe quel hébergeur mail.
Générez une valeur de pour la ligne 'cookiesecret' avec la commande suivante :
/opt/zendto/sbin/genCookieSecret.php
Créez un utilisateur avec la commande suivante (utilisez le même nom d'utilisateur que vous avez mis dans 'authAdmins') :
sudo /opt/zendto/bin/adduser /opt/zendto/config/preferences.php 'nom utilisateur' 'adresse mail' 'vrai nom' 'organisation'
Configuration d'Apache2
Créez le fichier de configuration zendto.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 zendto.domaine.fr Redirect / https://zendto.domaine.fr/ </VirtualHost> <VirtualHost *:443> DocumentRoot /opt/zendto/www ServerName zendto.domaine.fr LogLevel warn CustomLog ${APACHE_LOG_DIR}/zendto.access.log combined ErrorLog ${APACHE_LOG_DIR}/zendto.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:" <Directory /opt/zendto/www> Require all granted </Directory> </VirtualHost>
Activez le fichier avec la commande :
sudo a2ensite zendto.domaine.fr.conf
Puis, relancez Apache2 :
sudo systemctl reload apache2
Vous pouvez maintenant accéder à Zendto à l'adresse zendto.domaine.fr.