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

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¶
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¶
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¶
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¶
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. |
| Stockage | Démarrez le client Seafile et sélectionnez un répertoire local à synchroniser avec le cloud. |
| Identifiants | Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes. |
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. |
| Stockage | Lancez le client Seafile et selectionnez un répertoire local à synchroniser avec le cloud. |
| Identifiants | Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes. |
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. |
| Identifiants | Saisissez le nom du serveur et les identifiants de l'utilisateur. Si c'est activé, saisissez aussi l'authentification à deux-étapes. |
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. |
| 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. |
| 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. |
Guide étape par étape
| Instructions | Description |
|---|---|
| Installation | Téléchargez et installez la dernière version du client SeaDrive pour macOS. |
| 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. |
| 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. |
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. |
| 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. |
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). |
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). |
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. |
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.
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. |
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. |
| 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é. |
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. |
| 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. |
| 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. |
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 | ![]() | 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é | ![]() | 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é | ![]() | 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 | ![]() | 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 | ![]() | Un fichier ou un répertoire bloqué par son propriétaire ne peut être modifié par d'autres. |
| 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. |
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. |
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. |
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.
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.shpour 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.shpour 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¶
Pour davantage de précisions, consultez le manuel du server ou demandez de l'aide à la communauté de Seafile.





