Installation Seafile · 4 min read · Nov 10, 2025

Installation de Seafile 6.3.2 dans ISPConfig 3.1

Seafile est un système de stockage de fichiers basé sur le cloud et open-source, similaire à Dropbox et Box. La différence est que Seafile peut être déployé sur le propre système d’un client. Cela offre un facteur de sécurité et de sûreté plus important, car les mots de passe ne sont échangés qu’entre le client qui a configuré le système et ses propres utilisateurs, plutôt qu’avec une entreprise d’hébergement cloud.

Il existe quelques tutoriels de configuration du serveur Seafile pour ISPConfig, mais aucun qui ne nécessite une bonne majorité de modifications des fichiers qui devraient vraiment être laissés seuls selon les recommandations des développeurs d’ISPConfig. Bien que cette configuration soit écrite pour Ubuntu 18.04 LTS et ISPConfig 3, elle peut être suivie pour d’autres distributions. Cette solution fonctionne pour moi, mais aucune garantie ou assurance n’est exprimée ou implicite.

On suppose que le lecteur souhaite déployer Seafile en utilisant MySQL et Apache (également https). On suppose également que vous pouvez utiliser ISPConfig de manière fonctionnelle, car ce n’est pas un tutoriel ISPConfig.

1 Configurer le site web

Ouvrez votre panneau de contrôle d’hébergement ISPConfig, cliquez sur l’onglet Sites et créez un nouveau site web. Vous voudrez vous assurer que vous sélectionnez Aucun pour le sous-domaine automatique, SSL, Let’s Encrypt SSL et Fast-CGI pour PHP. Bien que vous puissiez techniquement utiliser un site web existant, en créer un nouveau fonctionne mieux car cela nous permet de garder tous les fichiers cloud séparés des autres sites. Cela est également nécessaire pour utiliser le panneau ISPConfig pour les modifications de configuration.

Dans le panneau de configuration du site web, cliquez sur l’onglet Options et insérez ce qui suit dans la section Directives Apache :

Alias /media /var/www/seafile.myseafile.com/private/seafile/seafile-server-latest/seahub/media  
  
RewriteEngine On  
  
  
Require all granted  
  
  
# seafile httpserver  
#  
ProxyPass /seafhttp http://127.0.0.1:8082  
ProxyPassReverse /seafhttp http://127.0.0.1:8082  
RewriteRule ^/seafhttp - [QSA,L]  
#  
# seahub
#
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
ProxyPass / http://127.0.0.1:8000/
ProxyPassReverse / http://127.0.0.1:8000/

Directives Nginx
Vous devez également créer un utilisateur shell pour ce site car cela sera nécessaire sous peu.

Utilisateur SSH

2 Créer des bases de données

Depuis le panneau des Sites dans ISPConfig, sélectionnez Utilisateur de base de données et Ajoutez un nouvel utilisateur. Créez un seul utilisateur par client qui gérera les bases de données seafile de ce client.

Utilisateur de base de données

Après la création de l’utilisateur de base de données, cliquez sur Bases de données et Ajoutez une nouvelle base de données. Vous devrez ajouter trois bases de données séparées : ccnetdb, seafiledb, seahubdb

Première base de données

Base de données

Troisième base de données

3 Télécharger et installer le logiciel Seafile

Il y a quelques paquets requis que nous devons installer. Connectez-vous à votre serveur avec un utilisateur ayant des permissions suffisantes pour installer des logiciels.

apt-get install python2.7 python-setuptools python-simplejson python-pil python-mysqldb python-flup

Je préfère que tous mes serveurs fonctionnent dans le répertoire privé plutôt que dans le répertoire web, donc nous allons configurer cela. Connectez-vous au serveur avec le nom d’utilisateur que nous avons créé ci-dessus.

cd private  
mkdir seafile  
cd seafile  
   
wget https://download.seadrive.org/seafile-server_6.3.2_x86-64.tar.gz  
    ou pour 32 bits  
wget https://download.seadrive.org/seafile-server_6.2.5_i386.tar.gz  
   
tar zxvf seafile-server_6.3.2_x86-64.tar.gz  
mkdir installed  
mv seafile-server_* installed  
   
cd seafile-server-*  
./setup-seafile-mysql.sh

À ce stade, vous devrez répondre aux questions posées en rapport avec votre système et votre installation. Lorsque vous arrivez à la section intitulée Veuillez choisir une manière d’initialiser les bases de données seafile, vous devrez sélectionner 2 et entrer les informations de base de données de votre configuration ISPConfig.

4 Exécution initiale

Il est temps de démarrer seafile et de s’assurer que la configuration initiale fonctionne.

./seafile.sh start  
./seahub.sh start

Après avoir démarré les services, ouvrez votre navigateur web et naviguez vers l’adresse du site web que vous avez créée ci-dessus avec le port 8000.

http://192.168.1.111:8000/

5 Configuration d’Apache

Maintenant, modifiez le SERVICE_URL dans /path/to/seafile-server/ccnet/ccnet.conf

SERVICE_URL = https://www.myseafile.com

Nous devrons également modifier le FILE_SERVER_ROOT dans /path/to/seafile-server/seahub_settings.py

FILE_SERVER_ROOT = 'https://www.myseafile.com/seafhttp'

Redémarrez Apache.

sudo service apache2 restart

Redémarrez les services Seafile.

./seafile.sh start  
./seahub.sh start

6 Démarrer les services automatiquement

Puisque l’objectif ici est de garder tout contenu dans ISPConfig, plutôt que de créer un service de démarrage, nous allons ajouter le script seafile aux tâches cron de l’utilisateur. Naturellement, vous devrez vous assurer que le client a la capacité d’ajouter des tâches cron complètes.

Créez un fichier de démarrage :

cd ~/private/seafile  
touch startSeafile.sh  
chmod +x startSeafile.sh

Collez le code suivant dans le script startSeafile.sh :

#!/bin/bash  
   
# Changez la valeur de "seafile_dir" pour votre chemin d'installation de seafile  
seafile_dir=/var/www/clients/client1/web2/private/seafile  
script_path=${seafile_dir}/seafile-server-latest  
seafile_init_log=${seafile_dir}/logs/seafile.init.log  
seahub_init_log=${seafile_dir}/logs/seahub.init.log  
   
## La commande Sleep est nécessaire pour éviter les erreurs MYSQL si  
## ce script s'exécute avant que MYSQL ne soit pleinement opérationnel  
sleep 60 &   
wait %1  
   
case "$1" in  
start)  
${script_path}/seafile.sh start >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh start >> ${seahub_init_log} &   
wait %1   
;;  
restart)  
${script_path}/seafile.sh restart >> ${seafile_init_log} &   
wait %1   
${script_path}/seahub.sh restart >> ${seahub_init_log} &   
wait %1   
;;  
stop)  
${script_path}/seafile.sh $1 >> ${seafile_init_log} &   
${script_path}/seahub.sh $1 >> ${seahub_init_log}   
;;  
*)  
echo "Usage: /etc/init.d/seafile {start|stop|restart}"  
exit 1  
;;  
esac

Pour vous assurer que les fichiers cron sont écrits correctement, il y a quelques éléments à vérifier. Cliquez sur Client -> [votre client] -> Limites. Assurez-vous que les limites de tâches cron sont définies sur Cron complet avec 0 délai entre les exécutions. Après cela, vous n’aurez qu’à ajouter la seule tâche cron startServer.sh dans la section Commandes à exécuter d’ISPConfig.

/var/www/clients/client1/web42/private/seafile/startSeafile.sh start

Tâche cron

C’est tout !

Liens

  • ISPConfig
  • Seafile
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.