Aller au contenu

Seafile, votre alternative Dropbox auto-hébergée

Installation de Seafile Installation de Seafile

Synchronisez et partagez vos fichiers en toute simplicité entre vos appareils ! Seafile est une solution auto-hébergée qui vous permet d’accéder à votre stockage en nuage personnel depuis de nombreuses plateformes. Seafile est libre, open source, rapide et fiable. Le programme prend en charge le chiffrement et économise de la bande passante grâce à la synchronisation différentielle, qui ne met à jour que les parties modifiées des fichiers.

Ce chapitre part du principe que vous avez déjà configuré votre serveur avec des mesures de sécurité de base et avancées, et activé un accès distant sécurisé.

Qu'en est-il de Nextcloud ou de Syncthing ?

Nextcloud est une solution de synchronisation de fichiers populaire et riche en fonctionnalités. Elle propose de nombreuses fonctionnalités telles que la gestion des contacts, la visioconférence, la messagerie web et les calendriers. Cependant, la synchronisation des fichiers reste relativement lente.

Syncthing est une solution de synchronisation de fichiers décentralisée. Contrairement à Seafile et Nextcloud, elle ne nécessite ni serveur central ni base de données. Cependant, la synchronisation des fichiers reste relativement lente et, selon votre configuration réseau, des problèmes de pare-feu peuvent apparaître.

Est-ce que je ne peux pas simplement continuer à utiliser mon stockage en nuage actuel ?

Si vous confiez vos données privées à des fournisseurs de services en nuage commerciaux, réfléchissez à ceci : ils peuvent accéder à vos données et les partager avec des tiers. Malgré leurs affirmations, des services els que iCloud, Google Drive, Dropbox ou OneDrive conservent des copies des clés qui protègent votre vie privée.

Fournisseurs de services en nuage Politique de confidentialité
Apple iCloud “Messages sur iCloud utilise également le chiffrement de bout en bout. Si la sauvegarde iCloud est activée, une copie de la clé protégeant vos messages est incluse dans votre sauvegarde. Cela vous permet de récupérer vos messages si vous perdez l'accès au trousseau iCloud et à vos appareils de confiance.“
Google Drive & WhatsApp “Les fichiers médias et messages que vous sauvegardez ne sont pas protégés par le chiffrement de bout en bout de WhatsApp lorsqu'ils sont dans Google Drive.“
Dropbox “Pour vous fournir cela et d'autres fonctionnalités, Dropbox accède, stocke et scanne vos Données. Vous nous donnez la permission de faire ces choses, et cette permission s'étend à nos filiales et aux tiers de confiance avec lesquels nous travaillons.”
Microsoft OneDrive “Lorsque vous utilisez OneDrive, nous collectons des données sur votre utilisation du service, comme le contenu que vous stockez, pour fournir, améliorer et protéger les services. Par exemple, cela inclut l'indexation des contenus de vos documents OneDrive pour que vous puissiez les chercher plus tard, ou bien l'utilisation d'informations de localisation pour vous permettre de chercher des photos en vous basant sur le lieu de prise de vue.”

Base de données

Seafile peut être déployé avec différentes bases de données comme MySQL, MariaDB ou PostgreSQL. Ce tutoriel se concentre sur la création de bases de données MySQL pour les composants serveur de Seafile.

Guide étape par étape

Connectez-vous à MySQL en tant que root :

sudo mysql -u root -p

Lancez la commande ci-dessous pour créer l'utilisateur MySQL seafileadmin (ajustez le cas échéant). Assurez-vous de remplacer la chaîne "MotDePasseFort" par un mot de passe unique et fort :

CREATE USER 'seafileadmin'@'localhost' IDENTIFIED WITH mysql_native_password BY 'MotDePasseFort';

Générez ensuite les bases de données nécessaires pour Seafile et accordez leurs les bonnes permissions :

CREATE DATABASE ccnet;
CREATE DATABASE seafile;
CREATE DATABASE seahub;
GRANT ALL ON ccnet.* TO 'seafileadmin'@'localhost';
GRANT ALL ON seafile.* TO 'seafileadmin'@'localhost';
GRANT ALL ON seahub.* TO 'seafileadmin'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Connectez-vous de nouveau à MySQL en tant qu'utilisateur seafileadmin (ajustez le cas échéant) :

sudo mysql -u seafileadmin -p

Assurez-vous que toutes les bases ont bien été créées correctement :

SHOW DATABASES;

L'affichage devrait être similaire à ceci :

+--------------------+
| Database           |
+--------------------+
| ccnet              |
| information_schema |
| performance_schema |
| seafile            |
| seahub             |
+--------------------+
5 rows in set (0.01 sec)

Quittez MySQL:

EXIT;


Installation de Seafile

Installation

Résolvez toutes les dépendances et installez Seafile sur votre serveur Ubuntu.

Guide étape par étape

Pré-requis

Seafile requiert Python pour fonctionner, installez-le sur le serveur :

sudo apt install python3 python3-{dev,setuptools,pip} libmysqlclient-dev ldap-utils libldap2-dev python3.12-venv memcached libmemcached-dev libffi-dev

Créez et activez un environnement virtuel (venv) afin de séparer les modules requis par Seafile des fichiers installés par le gestionnaire de paquets système d'Ubuntu :

sudo mkdir /var/www/seafile
cd /var/www/seafile
sudo python3 -m venv python-venv
source python-venv/bin/activate
sudo chown -R gofossadmin:gofossadmin /var/www/seafile

Ensuite, déployez les paquets dans l'environnement virtuel actif :

pip3 install django==4.2.* future==0.18.* mysqlclient==2.1.* pymysql pillow==10.2.* pylibmc captcha==0.5.* markupsafe==2.0.1 jinja2 sqlalchemy==2.0.18 psd-tools django-pylibmc django_simple_captcha==0.6.* djangosaml2==1.5.* pysaml2==7.2.* pycryptodome==3.16.* cffi==1.15.1 lxml python-ldap==3.4.3

Script d'installation

Vérifiez la dernière version du serveur Seafile disponible pour Linux. Au moment de la rédaction de ces lignes, c'est la version 11.0.13. Si ce n'est pas déjà fait, assurez-vous de vous déplacer vers /var/www/seafile, puis téléchargez et décompressez le paquet à l'aide des commandes suivantes (ajustez le numéro de version le cas échéant) :

cd /var/www/seafile
sudo wget -4 https://download.seadrive.org/seafile-server_11.0.13_x86-64.tar.gz
sudo tar -xvf seafile-server_*
sudo mkdir installed
sudo mv seafile-server_* installed

Lancez le script d'installation :

sudo bash seafile-server-11.0.13/setup-seafile-mysql.sh

Suivez les instructions à l'écran :

Instruction Description
Server name Choisissez un nom pour le serveur Seafile. Pour ce tutoriel, nous choisirons gofoss_seafile, ajustez le cas échéant.
Domain Fournissez le nom de domaine utilisé par le stockage en nuage. Il s'agit de la même adresse que celle de l'interface que nous installerons par la suite. Pour ce tutoriel, nous utiliserons https://myfiles.gofoss.duckdns.org, ajustez le cas échéant.
Port Choisissez le port TCP que Seafile utilisera. La valeur par défaut est 8082.
Databases Utilisez les bases de données ccnet/seafile/seahub que nous avons créées précédemment.
Host of MySQL server La valeur par défaut est localhost.
Port of MySQL server La valeur par défaut est 3306.
MySQL user Saisissez le nom de l'utilisateur MySQL. Dans notre exemple, c'est seafileadmin, ajustez le cas échéant.
Password of MySQL user Saisissez le mot de passe de l'utilisateur MySQL.
ccnet database name Saisissez le nom de la base de données ccnet. Dans notre cas, c'est ccnet.
seafile database name Saisissez le nom de la base de données seafile. Dans notre cas, c'est seafile.
seahub database name Saisissez le nom de la base de données seahub. Dans notre cas, c'est seahub.

Après une installation réussie, le terminal devrait afficher quelque chose comme :

-----------------------------------------------------------------
Your seafile server configuration has been finished successfully.
-----------------------------------------------------------------

run seafile server:     ./seafile.sh { start | stop | restart }
run seahub  server:     ./seahub.sh  { start <port> | stop | restart <port> }

-----------------------------------------------------------------
If you are behind a firewall, remember to allow input/output of these tcp ports:
-----------------------------------------------------------------

port of seafile fileserver:   8082
port of seahub:               8000

When problems occur, refer to https://download.seafile.com/published/seafile-manual/home.md for information.


Configuration de Seafile

Configuration

Vous avez installé Seafile avec succès ! Vous pouvez maintenant configurer les préférences linguistiques, les autorisations, les comptes administrateurs et le démarrage automatique.

Guide étape par étape

Compte administrateur

Connectez-vous au serveur et créez un utilisateur système qui peut lancer Seafile. Pour l'exemple de ce tutoriel, nous appellerons cet utilisateur système seafileadmin. Bien sûr, vous pouvez choisir n'importe quel nom, soyez juste certain d'ajuster les commandes le cas échéant :

sudo adduser --disabled-login seafileadmin

Si ce n'est déjà fait, déplacez-vous dans le répertoire /var/www/seafile et créez un script pour activer l'environnement virtuel lors de l'exécution de Seafile :

cd /var/www/seafile
sudo vi run_with_venv.sh

Ajoutez le contenu suivant au fichier :

#!/bin/bash
# Activate the python virtual environment (venv) before starting one of the seafile scripts

dir_name="$(dirname $0)"
source "${dir_name}/python-venv/bin/activate"
script="$1"
shift 1

echo "${dir_name}/seafile-server-latest/${script}" "$@"
"${dir_name}/seafile-server-latest/${script}" "$@"

Sauvegardez et fermez le fichier (:wq!), puis assignez les bonnes permissions pour l'utilisateur seafileadmin :

sudo chown -R seafileadmin:seafileadmin /var/www/seafile
sudo chmod -R 755 /var/www/seafile
sudo chmod 750 /home/seafileadmin

Démarrez Seafile:

sudo -H -u seafileadmin bash -C run_with_venv.sh seafile.sh start

Démarrez Seahub:

sudo -H -u seafileadmin bash -C run_with_venv.sh seahub.sh start

Au premier démarrage de Seahub, il vous demande de configurer un compte administrateur. Dans ce tutoriel, nous utiliserons l'email seafileadmin@gofoss.net pour l'administrateur. Bien sûr, n'importe quelle adresse appropriée fonctionnera. Assurez-vous simplement d'ajuster les commandes correspondantes le cas échéant. Lorsque cela vous sera demandé, saisissez un mot de passe fort et unique.

Désactivez l'environnement virtuel et revenez au répertoire racine :

deactivate
cd

Démarrage automatique

Assurez-vous que Seafile se lance automatiquement à chaque démarrage du serveur. Créez un premier fichier de configuration :

sudo vi /etc/systemd/system/seafile.service

Ajoutez le contenu suivant:

[Unit]
Description=Seafile
After= mysql.service network.target

[Service]
Type=forking
ExecStart= /var/www/seafile/run_with_venv.sh seafile.sh start
ExecStop= /var/www/seafile/run_with_venv.sh seafile.sh stop
User=seafileadmin

[Install]
WantedBy=multi-user.target

Sauvegardez et fermez le fichier (:wq!), puis créez un second fichier de configuration:

sudo vi /etc/systemd/system/seahub.service

Ajoutez le contenu suivant:

[Unit]
Description=Seahub
After= mysql.service network.target seafile.service

[Service]
Type=forking
Environment="LC_ALL=en_US.UTF-8"
ExecStart= /var/www/seafile/run_with_venv.sh seahub.sh start
ExecStop= /var/www/seafile/run_with_venv.sh seahub.sh stop
User=seafileadmin

[Install]
WantedBy=multi-user.target

Sauvegardez et quittez le fichier (:wq!).

Lancez Seafile automatiquement à chaque démarrage :

sudo systemctl daemon-reload
sudo systemctl enable seafile
sudo systemctl enable seahub

Redémarrez le serveur :

sudo reboot

Assurez-vous que Seafile est démarré et opérationnel (le statut devrait être Active) :

sudo systemctl status seafile
sudo systemctl status seahub

Dernière étape

Le stockage en nuage sera accessible depuis le domaine de votre choix. Pour ce tutoriel, nous avons choisi https://myfiles.gofoss.duckdns.org. Bien sûr, n'importe quelle autre adresse appropriée conviendra. Assurez-vous simplement d'ajuster les commandes correspondantes le cas échéant. Ouvrez le premier fichier de configuration :

sudo vi /var/www/seafile/conf/seahub_settings.py

Assurez-vous que le SERVICE_URL pointe vers la bonne adresse :

SERVICE_URL = "https://myfiles.gofoss.duckdns.org/"

Ajoutez ensuite les lignes ci-dessous à la fin du fichier (ajustez le fuseau horaire et l'URL à vos propres réglages) :

TIME_ZONE = 'Europe/Budapest'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
LOGIN_ATTEMPT_LIMIT = 2
FILE_SERVER_ROOT = 'https://myfiles.gofoss.duckdns.org/seafhttp'
CSRF_TRUSTED_ORIGINS = ['https://myfiles.gofoss.duckdns.org']

Sauvez et quittez le fichier (:wq!).

Pour empêcher ModEvasive de bloquer vos appareils pendant la synchronisation des fichiers, identifiez d'abord leurs adresses IP. Ouvrez un terminal et exécutez ip a (Linux), ifconfig (macOS), ou ipconfig (Windows). Vous verrez généralement une adresse telle que 192.168.1.XX lorsque vous êtes connecté via le réseau local, ou 10.8.0.YY lorsque vous êtes connecté via le VPN. Ensuite, ouvrez le fichier de configuration :

sudo vi /etc/apache2/mods-enabled/evasive.conf

Modifiez ou ajoutez la ligne suivante pour vous éviter que vos appareils ne soient bloqués lors de la synchronisation avec le serveur Seafile :

DOSWhitelist        192.168.1.XX 10.8.0.YY

Save and close the file (:wq!).


Interface web de Seafile

Interface web

Configurez un hôte virtuel Apache en tant que proxy inverse. Cela permet d’accéder à l'interface web de Seafile via une adresse personnalisée et de protéger le serveur d’une exposition directe à Internet. Lisez la suite pour plus de détails.

Guide étape par étape

Créez un fichier de configuration Apache:

sudo vi /etc/apache2/sites-available/myfiles.gofoss.duckdns.org.conf

Ajoutez le contenu ci-dessous et assurez-vous d'ajuster les paramètres à vos propres réglages, comme les noms de domaine (myfiles.gofoss.duckdns.org), chemins vers les clés SSL, l'adresse IP, et ainsi de suite:

<VirtualHost *:80>

    ServerName              myfiles.gofoss.duckdns.org
    ServerAlias             www.myfiles.gofoss.duckdns.org
    Redirect permanent /    https://myfiles.gofoss.duckdns.org/

</VirtualHost>

<VirtualHost *:443>

    ServerName              myfiles.gofoss.duckdns.org
    ServerAlias             www.myfiles.gofoss.duckdns.org
    ServerSignature         Off

    <IfModule security2_module>
        SecRuleEngine Off
    </IfModule>

    SSLEngine               On
    SSLProxyEngine          On
    SSLProxyCheckPeerCN     Off
    SSLCertificateFile      /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem
    SSLCertificateKeyFile   /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem
    DocumentRoot            /var/www/seafile

    <Location />
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
        Allow from 192.168.1.0/24
        Allow from 10.8.0.1/24
    </Location>

    Alias /media  /var/www/seafile/seafile-server-latest/seahub/media

    RewriteEngine On

    <Location /media>
    Require all granted
    </Location>

    # seafile fileserver
    ProxyPass /seafhttp http://127.0.0.1:8082
    ProxyPassReverse /seafhttp http://127.0.0.1:8082

    # seahub
    SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
    ProxyPreserveHost On
    ProxyPass / http://127.0.0.1:8000/
    ProxyPassReverse / http://127.0.0.1:8000/

    ErrorLog ${APACHE_LOG_DIR}/myfiles.gofoss.duckdns.org-error.log
    CustomLog ${APACHE_LOG_DIR}/myfiles.gofoss.duckdns.org-access.log combined

</VirtualHost>

Une fois que ce contenu est ajouté, sauvez et fermez le fichier (:wq!).

Notez comment nous avons activé le chiffrement SSL pour Seafile avec l'instruction SSLEngine On, et utilisé le certificat SSL /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem ainsi que la clé privée SSL /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem, que nous avions créés précédemment.

Notez également comment nous avons désactivé ModSecurity dans le fichier de configuration Apache avec l'instruction SecRuleEngine Off, car Seafile et ModSecurity ne font pas bon ménage.

Ensuite, activez l'hôte virtuel Apache et redémarrez Apache :

sudo a2ensite myfiles.gofoss.duckdns.org.conf
sudo systemctl reload apache2

Configurez Pi-Hole pour résoudre l'adresse locale de Seafile. Naviguez vers https://mypihole.gofoss.duckdns.org:8443/admin et connectez-vous à l'interface web de Pi-Hole (ajustez le cas échéant). Naviguez vers l'entrée Local DNS Record et ajoutez la combinaison domaine/IP suivante (ajustez le cas échéant) :

DOMAIN:      myfiles.gofoss.duckdns.org
IP ADDRESS:  192.168.1.100

Naviguez vers https://myfiles.gofoss.duckdns.org et connectez-vous en tant que seafileadmin@gofoss.net (ajustez le cas échéant). Puis appliquez les paramètres suivants :

Paramètre Description
System Admin ‣ Settings Changez le champs SERVICE_URL pour https://myfiles.gofoss.duckdns.org et cliquez sur Save.
System Admin ‣ Settings Changez le champs FILE_SERVER_ROOT pour https://myfiles.gofoss.duckdns.org/seafhttp and cliquez sur Save.


Clients Seafile

Clients

Seahub

Seahub est l’interface web de Seafile. Vous pouvez vous connecter via un navigateur pour parcourir, téléverser, modifier, télécharger ou partager vos fichiers. Seahub prend en charge les formats de fichiers Microsoft et LibreOffice, ainsi que les vidéos, les images, les PDF et les fichiers texte. Les modifications apportées dans Seahub sont automatiquement synchronisées sur tous les appareils connectés.

Client de synchronisation

Cette application permet de synchroniser les fichiers et répertoires sélectionnés à travers tous les appareils connectés. Idéale pour les appareils disposant d’une grande capacité de stockage.

Guide étape par étape

Instructions Description
Installation Téléchargez et installez la dernière version du client Windows de synchronisation Seafile pour ordinateur.

Seafile Desktop Sync
Stockage Démarrez le client Seafile et sélectionnez un répertoire local à synchroniser avec le cloud.
Seafile Desktop Sync
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes.
Seafile Desktop Sync

Guide étape par étape

Instructions Description
Installation Téléchargez et installez la dernière version du client de synchronisation Seafile pour ordinateur pour macOS.

Seafile Desktop Sync
Stockage Lancez le client Seafile et selectionnez un répertoire local à synchroniser avec le cloud.
Seafile Desktop Sync
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes.
Seafile Desktop Sync

Guide étape par étape

Instructions Description
Téléchargement Téléchargez la dernière version du client de synchronisation Seafile pour Linux. Le nom du fichier est Seafile-x86_64-x.y.z.AppImage.
Installation Rendez le fichier exécutable: sudo chmod +x Seafile-x86_64-x.y.z.AppImage. Ensuite, lancez le client de synchronisation: ./Seafile-x86_64-x.y.z.AppImage.
Stockage Sélectionnez un répertoire local à synchroniser avec le cloud.
Seafile Desktop Sync
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes.
Seafile Desktop Sync

SeaDrive

SeaDrive fonctionne comme un lecteur réseau, permettant l’accès aux fichiers sans synchronisation préalable. Les fichiers peuvent également être mis en cache pour une utilisation hors ligne. SeaDrive est idéal pour étendre la capacité de stockage des appareils dont l’espace disque est limité.

Guide étape par étape

Instructions Description
Installation Téléchargez et installez la dernière version du client SeaDrive pour Windows.

Seadrive
Disque virtuel Démarrez le client SeaDrive et sélectionnez une lettre de lecteur pour le disque virtuel. Par défaut S: sera utilisé.
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes.
Seafile Desktop Sync
Liste des fichiers SeaDrive va récupérer une liste des fichiers et répertoires disponibles sur le serveur, sans pour autant télécharger les données. Une notification sera affichée une fois la tâche terminée. Les fichiers du cloud sont désormais accessibles dans l'explorateur Windows, comme sur un disque ordinaire.
Seadrive

Guide étape par étape

Instructions Description
Installation Téléchargez et installez la dernière version du client SeaDrive pour macOS.

Seadrive
Disque virtuel Lancez le client SeaDrive et sélectionnez une lettre de lecteur pour le disque virtuel. Par défaut, S: sera utilisé.
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes.
Seafile Desktop Sync
Liste des fichiers SeaDrive va récupérer une liste des fichiers et répertoires disponibles sur le serveur, sans pour autant télécharger les données. Une notification sera affichée une fois la tâche terminée. Les fichiers du cloud sont désormais accessibles, comme sur un disque ordinaire.
Seadrive

Guide étape par étape

Instructions Description
Téléchargement Téléchargez la dernière version du client SeaDrive pour Linux. Le nom du fichier est SeaDrive-x86_64-x.y.z.AppImage.
Installation Rendez le fichier exécutable: sudo chmod +x SeaDrive-x86_64-x.y.z.AppImage. Ensuite, lancez le client SeaDrive: ./SeaDrive-x86_64-x.y.z.AppImage.
Identifiants Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes. Après identification, le lecteur virtuel sera monté dans ~/SeaDrive.
Seafile Desktop Client
Liste des fichiers SeaDrive va récupérer une liste des fichiers et répertoires disponibles sur le serveur, sans pour autant télécharger les données. Une notification sera affichée une fois la tâche terminée. Les fichiers du cloud sont désormais accessibles, comme sur un disque ordinaire.
Seadrive

Clients mobiles

L’application Seafile est disponible pour les smartphones et les tablettes. Les fichiers sont mis en cache sans synchronisation complète afin d'économiser de l'espace de stockage. Une fonctionnalité pratique permet également la sauvegarde automatique de vos photos sur votre serveur.

Guide étape par étape

Ouvrez F-Droid sur votre téléphone et installez l'application Seafile. Vous pouvez aussi installer Seafile depuis le dépot Aurora ou le dépot Google Play.

Paramètre Description
Serveur Saisissez l'adresse du serveur Seafile, e.g. https://myfiles.gofoss.duckdns.org (ajustez le cas échéant).
Email Saisissez l'adresse électronique de l'utilisateur de Seafile, e.g. seafileuser@gofoss.net (ajustez le cas échéant).
Mot de passe Saisissez le mot de passe de l'utilisateur Seafile.
Token Si l'authentification à deux facteurs est activée, entrez le code généré par andOPT sur votre téléphone.

Guide étape par étape

Installez Seafile via l'App Store.

Setting Description
Serveur Saisissez l'adresse du serveur Seafile, e.g. https://myfiles.gofoss.duckdns.org(ajustez le cas échéant).
Email Saisissez l'adresse électronique de l'utilisateur de Seafile, e.g. seafileuser@gofoss.net (adjust accordingly).
Mot de passe Saisissez le mot de passe de l'utilisateur Seafile.
Token Si l'authentification à deux facteurs est activée, entrez le code généré par andOPT sur votre téléphone.


Seafile ajoutez des utilisateurs

Utilisateurs

Seafile distingue deux types d'utilisateurs : les administrateurs ont un accès complet pour ajouter, modifier et supprimer des fichiers, des répertoires et des utilisateurs. Ils assurent également l’entretien et la mise à jour de l’interface web. Dans notre exemple, l'administrateur seafileadmin a été créé durant l'installation du serveur Seafile. Les utilisateurs, quant à eux, ont un accès restreint à Seafile. Ils ne peuvent gérer les fichiers et les répertoires que s’ils disposent des droits d’accès nécessaires.

Guide étape par étape

Étapes Description
Étape 1 Allez sur https://myfiles.gofoss.duckdns.org et connectez-vous en tant qu'administrateur/administratrice, p.ex.seafileadmin@gofoss.net (à modifier selon votre identifiant).
Étape 2 Allez dans System Admin ‣ Users ‣ Add user.
Étape 3 Saisissez un nom d'utilisateur, ainsi qu'un mot de passe fort et unique. Puis cliquez sur Submit.

Administrateurs, utilisateurs et utilisatrices ont besoin d'un accès VPN

Tout.e.s les utilisateurs et utilisatrices doivent être connecté.e.s via VPN pour accéder à Seafile.


Seafile authentification à deux facteurs

Authentification à deux facteurs

Optionnellement, vous pouvez renforcer la sécurité grâce à l’authentification à deux facteurs (2FA). Une fois activée, la connexion à Seafile nécessite à la fois un mot de passe et un code à six chiffres généré par une application. Nous vous recommandons d’utiliser andOTP, disponible sur F-Droid.

Guide étape par étape

Premièrement, l'administrateur de Seafile doit activer l'authentification à deux facteurs.

Étapes Description
Étape 1 Connectez vous à l'interface web de Seafile https://myfiles.gofoss.duckdns.org avec l'adresse seafileadmin@gofoss.net (ajustez le cas échéant).
Étape 2 Naviguez vers Administration Système ‣ Paramètres ‣ Mots de Passes.
Étape 3 Activez l'authentification à deux facteurs pour tout les utilisateurs.

Ensuite, chaque utilisateur doit configurer l'authentification à deux facteurs. Commencez par l'administrateur puis répétez pour chaque compte la configuration suivante:

Étapes Description
Étape 1 Connectez vous à l'interface web Seafile https://myfiles.gofoss.duckdns.org.
Étape 2 Naviguez vers Paramètres.
Étape 3 Activez l'authentification à deux facteurs.
Étape 4 Ouvrez andOTP sur l'appareil de l'utilisateur.
Étape 5 Scannez le QRCode affiché avec andOTP.
Étape 6 Saisissez le code à 6 chiffres généré par andOTP sur l'interface web Seafile.
Étape 7 Enregistrez la liste des jetons de récupérations générée par Seafile. Ils vous permettent de récupérer l'accès à Seafile sans andOTP.


Seafile ajouter des bibliothèques, fichiers et dossiers

Ajoutez vos fichiers

Seahub permet de créer de nouvelles bibliothèques, fichiers et répertoires via le navigateur. Le téléversement de fichiers et de répertoires dans les bibliothèques existantes est également simple.

Le client de synchronisation Seafile permet de créer de nouvelles bibliothèques, fichiers et répertoires. Le téléversement de fichiers et de répertoires dans les bibliothèques existantes est également simple.

Guide étape par étape

Instructions Description
Créer une nouvelle bibliothèque Ouvrez le client Synching, cliquez sur Sélectionner et naviguez jusqu'au dossier que vous voulez synchroniser avec le serveur. Autrement, glissez et déposez le dossier local dans la zone prévue. Ensuite, donnez un nom à la nouvelle bibliothèque et précisez si elle doit être chiffrée par un mot de passe ou non.
Seafile Desktop Sync
Ajouter des fichiers et des dossiers à une bibliothèque existante Utilisez le gestionnaire de fichiers de l'appareil. naviguez vers le dossier synchronisé et ajoutez des fichiers et dossiers voulus. Les modifications seront synchronisés avec le serveur de Seafile, tout comme pour tout autre apparel connecté.

SeaDrive fonctionne comme un lecteur réseau. Créez ou ajoutez des bibliothèques, des fichiers et des répertoires directement à partir du gestionnaire de fichiers de votre appareil. Consultez le manuel d'utilisation de Seafile pour obtenir des informations spécifiques sur Windows, macOS ou Linux.


Seafile synchronisation de données

Synchronisez vos fichiers

Seafile fonctionne avec des bibliothèques contenant vos fichiers et répertoires. Le client de synchronisation garantit que toute modification locale apportée à une bibliothèque est refletée sur le serveur et les autres appareils connectés, et vice versa.

Guide étape par étape

Instructions Description
Synchroniser une bibliothèque Ouvrez le client Synching et faites un clic-droit sur la bibliothèque. Ensuite, sélectionnez l'entrée Synchroniser cette bibliothèque du menu. Tous les fichiers et les répertoires seront téléchargés du serveur sur le stockage local. À partir de ce moment, toute modification du fichier local sera répliquée sur le serveur, et vice versa.
Seafile Desktop Sync
Désynchroniser une bibliothèque Pour arrêter la synchronisation d'une librairie, faites un clic-droit et sélectionnez l'entrée Désynchroniser. Les modifications locales ne seront plus synchronisées sur le serveur, et vice versa.
Navigateur de fichiers cloud Le client de synchronisation fournit aussi un navigateur de fichiers cloud. Il permet aux utilisateurs d'accéder et de modifier les fichiers directement sur le serveur, sans synchronisation préalable. Faites un clic-droit sur une bibliothèque (désynchronisée) et choisissez l'entrée Ouvrir dans le navigateur de fichiers cloud.

Seafile Desktop Sync
Synchroniser des sous-répertoires Pour éviter de synchroniser de grandes bibliothèques, il est possible de synchroniser uniquement certains sous-répertoires. Faites un clic-droit sur la bibliothèque, choisissez l'entrée Ouvrir dans le navigateur de fichiers cloud, faites un clic-droit sur le sous-répertoire et sélectionnez l'entrée Synchroniser ce répertoire.

Seafile Desktop Sync

SeaDrive fonctionne comme un lecteur réseau. Vous avez un accès direct aux fichiers stockés sur votre serveur sans avoir besoin d'une synchronisation préalable.

En apprendre davantage sur le statut de synchronisation

L'explorateur Windows utilise plusieurs icônes pour indiquer le statut de synchronisation des fichiers et des répertoires.

Status Symbole Description
Cloud-uniquement Seafile cloud uniquement C'est l'état par défaut des fichiers et des répertoires. Ils sont affichés dans SeaDrive, mais ne sont pas téléchargés sur le stockage local.
Synchronisé Seafile synchronisé Dès qu'une utilisatrice ou un utilisateur décide d'accéder à un fichier ou à un répertoire, il sera téléchargé sur le stockage local.
Partiellement synchronisé Seafile partiellement synchronisé Les répertoires contenant à la fois des fichiers cloud-uniquement et synchronisés sont considérés comme partiellement synchronisés.
Bloqué par d'autres Seafile bloqué Les fichiers qui sont bloqués par d'autres utilisatrices ou utilisateurs ne peuvent être ouvert qu'en lecture seule, et ne peuvent être modifiés, effacés ou renommés.
Bloqué par moi Seafile bloqué Un fichier ou un répertoire bloqué par son propriétaire ne peut être modifié par d'autres.
Lecture seule Seafile lecture seule Les fichiers et les répertoires partagés en mode lecture seule avec une utilisatrice ou un utilisateur peuvent être ouverts, mais ne peuvent être modifiés, effacés ou renommés.


Seafile partagez vos fichiers

Partagez vos fichiers

Quiconque dispose d'un lien public de partage et d'une connexion VPN peut accéder aux répertoires et fichiers sur le serveur. Aucun compte ni identifiant Seafile n'est nécessaire. Vous pouvez sécuriser les liens de partage à l’aide d’un mot de passe, d’une date d'expiration ou de permissions d’accès limitées.

Guide étape par étape

Étapes Description
Étape 1 Naviguez jusqu'au fichier ou répertoire à partager.
Étape 2 Survolez le fichier ou dossier et cliquez sur l'icône Partager.
Étape 3 Cliquez sur l'onglet Lien de partage dans la fenêtre popup.
Étape 4 Cliquez sur le bouton Générer pour créer le lien de partage.
Étape 5 Facultatif : créez un mot de passe, une date d'expiration ou des permissions.
Étape 6 Partagez le lien avec d'autres par mail, messagerie instantanée etc.

Quiconque dispose d'un lien public de téléversement et d'une connexion VPN peut téléverser des répertoires et fichiers sur le serveur. Aucun compte ni identifiant Seafile n'est nécessaire. Vous pouvez sécuriser les liens de téléversement à l'aide d'un mot de passe.

Guide étape par étape

Étapes Description
Étape 1 Naviguez jusqu'au répertoire dans lequel les fichiers devront être téléversés.
Étape 2 Survolez sur le répertoire et cliquez sur l'icône Partager.
Étape 3 Cliquez sur l'onglet Lien de partage dans la fenêtre qui s'affiche.
Étape 4 Cliquez sur le bouton Générer pour créer un lien de partage.
Étape 5 Facultatif : créez un mot de passe.
Étape 6 Partagez le lien avec d'autres par mail, messagerie instantanée etc.

Vous pouvez partager vos bibliothèques, fichiers et répertoires avec d’autres utilisateurs Seafile. Pour cela, ils auront besoin d’une connection VPN, d’un compte Seafile, et des droits d’accès appropriés.

Guide étape par étape

Étape Description
Étape 1 Naviguez jusqu'à la bibliothèque ou le répertoire que vous voulez partager avec les autres personnes utilisant Seafile.
Étape 2 Survolez la bibliothèque ou le répertoire et cliquez sur l'icône Partager.
Étape 3 Cliquez sur Partager avec une personne ou Partager avec un groupe dans la fenêtre qui s'affiche.
Étape 4 Sélectionnez la personne ou le groupe et cliquez sur le bouton Soumettre.
Étape 5 Donnez des permissions aux fichiers et répertoires partagés, comme lecture-écriture, lecture-seule, lecture-écriture en ligne ou lecture-seule en ligne.


Seafile rétablissez vos fichiers

Rétablissez vos fichiers

Seafile suit automatiquement l'historique des modifications apportées aux fichiers, répertoires et bibliothèques. Il conserve une sauvegarde des anciennes versions de même qu’une image des structures de répertoires et de bibliothèques pour une période de temps prédéfinie. Vous pouvez ainsi facilement rétablir des fichiers, des répertoires ou des bibliothèques entières en cas de suppression accidentelle ou d’opérations erronnées.

Déterminez la durée pendant laquelle Seafile conserve les versions des fichiers ou les images de bibliothèques. Vous pouvez configurer cela individuellement pour chaque bibliothèque.

Guide étape par étape

Étapes Description
Étape 1 Connectez-vous dans l'interface web Seahub. Cliquez sur Mes bibliothèques dans le panneau de navigation.
Étape 2 Pointez votre curseur sur la bibliothèque.
Étape 3 Cliquez sur Paramètres de l'historique.
Étape 4 Définissez la période de rétention.

Rétablissez une version précédente d’un fichier en suivant les instructions ci-dessous.

Guide étape par étape

Étapes Description
Étape 1 Connectez-vous à l'interface web de Seahub. Naviguez vers le dossier contenant le fichier.
Étape 2 Pointez votre curseur sur le fichier.
Étape 3 Cliquez sur Historique.
Étape 4 Téléchargez, rétablissez ou visualisez toute ancienne version du fichier. Pour les fichiers texte, le contenu de deux versions peut être comparé. Notez que les anciennes versions d'un fichier ne peuvent pas être visualisées si elles dépassent la période de rétention.

Rétablissez des fichiers ou répertoires supprimés depuis la corbeille en suivant les instructions ci-dessous.

Guide étape par étape

Étapes Description
Étape 1 Connectez-vous dans l'interface web de Seahub. Naviguez jusqu'au dossier parent contenant le fichier ou le répertoire effacé.
Étape 2 Cliquez sur l'icône corbeille dans la barre d'opération de la bibliothèque.
Étape 3 Rétablissez le fichier ou le répertoire effacé depuis la liste. Notez que les fichiers et répertoires ne peuvent pas être rétablis s'ils ont été effacés avant la période de rétention.

Rétablissez d’anciennes versions d’une bibliothèque entière, incluant toute la structure des fichiers et répertoires.

Guide étape par étape

Étapes Description
Étape 1 Connectez-vous dans l'interface web de Seahub. Naviguez jusqu'à la bibliothèque.
Étape 2 Cliquez sur le bouton Historique dans la barre supérieure.
Étape 3 Sélectionnez un état précédent de la bibliothèque, et cliquez sur Voir l'image.
Étape 4 Téléchargez, rétablissez, ou visualisez n'importe quelle version précédente d'un fichier ou d'un répertoire. Si vous êtes le propriétaire de la bibliothèque, vous pouvez rétablir la bibliothèque en entier dans un état précédent. Notez que les images des bibliothèques ne peuvent être accédées au delà de la période de rétention.


Seafile fichiers chiffrés

Chiffrez vos fichiers

Seafile assure un chiffrement de bout-en-bout. Protégez les bibliothèques à l'aide d'un mot de passe afin de limiter l'accès à certains utilisateurs. Personne ne peut accéder au contenu des bibliothèques chiffrées, pas même un administrateur Seafile. Notez cependant que le chiffrage protège uniquement le contenu des fichiers, les noms des répertoires et fichiers restent visibles.


Seafile mise à jour

Mises à jour

Procédez à la mise à jour de Seafile avec prudence, car le processus est principalement manuel et sujet à des erreurs. Ne prenez pas de risques, synchronisez d’abord toutes vos bibliothèques sur un appareil et sauvegardez vos données ! Assurez-vous de lire attentivement les instructions ainsi que les notes détaillées de mise à jour de Seafile. Voici un guide pour une mise à jour majeure.

Guide étape par étape

Pour ce tutoriel, nous supposerons que vous effectuez une mise à jour de la version 7.0.1 à la version 8.0.1. Cela s'appelle "mise à jour d'une version majeure". Notez que les "mises à jour de versions mineures", par exemple de 7.0.1 à 7.1.1, fonctionnent de la même manière.

Commencez par lire les notes de mise à jour, qui contiennent les paramètres spécifiques ou les changements qui doivent être appliqués avant ou pendant la mise à jour.

Téléchargez et décompressez la dernière version de Seafile Serveur pour Linux. Dans cet exemple, cela serait la version 8.0.1. Le cas échéant, assurez-vous d'ajuster la version :

sudo wget -4 https://download.seadrive.org/seafile-server_8.0.1_x86-64.tar.gz
sudo tar -xvf seafile-server_*
sudo mv seafile-server-* /var/www/seafile
sudo mv seafile-server_* /var/www/seafile/installed

Donnez les bons droits :

sudo chown -R seafileadmin:seafileadmin /var/www/seafile
sudo chmod -R 755 /var/www/seafile

Vérifiez que tout est prêt :

sudo ls -al /var/www/seafile

L'architecture du répertoire devrait ressembler à ceci :

/var/www/seafile/
-- ccnet
-- conf
-- installed
-- logs
-- pids
-- seafile-data
-- seafile-server-7.0.1
-- seafile-server-8.0.1
-- seafile-server-latest
-- seahub-data

Arrêtez le serveur Seafile :

sudo systemctl stop seafile
sudo systemctl stop seahub

Listez les scripts disponibles pour la mise à jour :

sudo ls -al /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_*

Vous devriez voir quelque chose comme ceci :

...
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.0_6.1.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.1_6.2.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.2_6.3.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_6.3_7.0.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.0_7.1.sh
/var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.1_8.0.sh
...

Maintenant, lancez les scripts de mise à jour nécessaires, en commençant par votre version actuelle de Seafile et en continuant jusqu'à la dernière version. Dans cet exemple :

  • Nous devons d'abord lancer le script upgrade_7.0_7.1.sh pour mettre à jour de la version 7.0.1 vers la version 7.1.x
  • Nous devons ensuite lancer le script upgrade_7.1_8.0.sh pour mettre à jour de le version 7.1.x vers la version 8.0.1

Commencez par le premier script de mise à jour :

sudo bash /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.0_7.1.sh

Le terminal devrait afficher quelque chose ressemblant à :

-------------------------------------------------------------
This script would upgrade your seafile server from 7.0 to 7.1
Press [ENTER] to contiune
-------------------------------------------------------------

Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating seahub database...
Done

migrating avatars ...

Done

updating /var/www/seafile/seafile-server-latest symbolic link to /var/www/seafile/seafile-server-7.1.0 ...

Maintenant le script de mise à jour suivant :

sudo bash /var/www/seafile/seafile-server-8.0.1/upgrade/upgrade_7.1_8.0.sh

Le terminal devrait afficher quelque chose ressemblant à :

-------------------------------------------------------------
This script would upgrade your seafile server from 7.1 to 8.0
Press [ENTER] to contiune
-------------------------------------------------------------

Updating seafile/seahub database ...

[INFO] You are using MySQL
[INFO] updating seahub database...
Done

migrating avatars ...

Done

updating /var/www/seafile/seafile-server-latest symbolic link to /var/www/seafile/seafile-server-8.0.1 ...

Enfin, redémarrez le serveur Seafile :

sudo systemctl start seafile
sudo systemctl start seahub

Si tout s'est bien passé, Seafile devrait fonctionner, avec un statut « Active » :

sudo systemctl status seafile
sudo systemctl status seahub

C'est facultatif, mais si la nouvelle version fonctionne bien, vous pouvez supprimer la précédente :

sudo rm -rf /var/www/seafile/seafile-server-7.0.1


Assistance Seafile

Assistance

Pour davantage de précisions, consultez le manuel du server ou demandez de l'aide à la communauté de Seafile.