====== Zendto - Partage de fichiers ====== [[https://zend.to/|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 : ServerName zendto.domaine.fr Redirect / https://zendto.domaine.fr/ 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:" Require all granted 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.