Recherche de site Web

Installer et configurer Seafile Storage sur CentOS 8 |


Comment puis-je installer et configurer Seafile sur CentOS 8 ?. Le serveur Seafile est une plate-forme d'hébergement de fichiers open source, d'entreprise et auto-hébergée, conçue pour des performances et une fiabilité élevées. Seafile vous permet de placer des fichiers sur votre propre serveur et de permettre à vos différents appareils de se synchroniser et d'y accéder. Vous pouvez également accéder à tous les fichiers en tant que disque virtuel. Dans ce blog, nous allons voir comment installer et configurer le serveur de partage de fichiers Seafile sur CentOS 8.

Voici quelques-unes des fonctionnalités importantes de Seafile qui constituent une plate-forme de partage de fichiers fiable :

  • Cryptage de fichiers
  • Verrouillage de fichiers
  • Édition et co-rédaction en ligne
  • Gestion des versions et instantanés des fichiers
  • Accès aux fichiers mobiles
  • Client facile à installer et à utiliser
  • Partage de fichiers et contrôle des autorisations

Installer le serveur de stockage Seafile sur CentOS 8

Voici les étapes que vous suivrez pour installer et configurer le serveur de stockage Seafile sur le système CentOS 8.

Étape 1 : Mettre à jour le système et définir le nom d'hôte

Nous allons d'abord mettre SELinux en mode Permissif pour nous assurer que cela n'empêche aucune installation que nous allons effectuer.

sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
cat /etc/selinux/config | grep SELINUX=

Après avoir désactivé Selinux, exécutez les mises à jour sur votre CentOS 8.

sudo dnf -y update

Configurez maintenant le fichier hosts et définissez le nom d'hôte du serveur

sudo hostnamectl set-hostname seafile.example.com

Mettre à jour l'adresse IP et le nom d'hôte définis dans le fichier /etc/hosts

$ ip ad
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 6a:42:06:78:a3:6a brd ff:ff:ff:ff:ff:ff
    inet 10.116.0.2/20 brd 10.116.15.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::6842:6ff:fe78:a36a/64 scope link
       valid_lft forever preferred_lft forever

$ sudo vi /etc/hosts
10.116.0.2 seafile.example.com #example

Redémarrez votre système

sudo reboot

Étape 2 : Ajouter le dépôt EPEL et installer les dépendances

Commençons par installer les dépendances Seafile et les packages requis

sudo dnf -y install vim epel-release
sudo dnf -y install python3 python3-devel python3-imaging MySQL-python3 python3-simplejson python3-setuptools mariadb mariadb-server nginx gcc mysql-devel

Installation des modules Pip3 :

sudo pip3 install --upgrade pip
sudo python3 -m pip install --upgrade Pillow
sudo pip3 install pylibmc captcha jinja2 django-pylibmc django-simple-captcha python3-ldap mysqlclient
sudo pip3 install future sqlalchemy==1.4.3

Étape 3 : Configurer le serveur de base de données MariaDB

Nous avons déjà installé MariaDB lors de l'installation des dépendances. Allons-y pour le configurer. Démarrez MariaDB et activez-le pour démarrer au démarrage du système.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Sécurisez l’installation de Mariadb et définissez le mot de passe root.

$ sudo mysql_secure_installation
Enter current password for root (enter for none):  Press Enter
Set root password? [Y/n] y
New password:  Enter New Password
Re-enter new password:  Repeat New Password 
Remove anonymous users? [Y/n] Y 
Disallow root login remotely? [Y/n] Y 
Remove test database and access to it? [Y/n] Y 
Reload privilege tables now? [Y/n] Y 
... Success! 
Cleaning up... 
All done!  If you've completed all of the above steps, your MariaDB

Étape 4 : Créer des bases de données Seafile

Après avoir configuré MariaDB, nous allons créer l'utilisateur et les bases de données Seafile. Connectez-vous à MySQL à l'aide de la commande ci-dessous et saisissez le mot de passe que vous avez défini ci-dessus.

mysql -u root -p 

Nous allons créer un utilisateur pour Seafile et les trois bases de données suivantes :

  • ccnet_db
  • fichier_marin_db
  • seahub_db

Une fois connecté à MySQL, exécutez les commandes suivantes pour créer les bases de données requises :

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';
create user seacloud@localhost identified by 'StrongDBPassw0rd';
grant all privileges on ccnet_db.* to seacloud@localhost identified by 'StrongDBPassw0rd';
grant all privileges on seafile_db.* to seacloud@localhost identified by 'StrongDBPassw0rd';
grant all privileges on seahub_db.* to seacloud@localhost identified by 'StrongDBPassw0rd';
flush privileges;
exit

Étape 5 : Installer Seafile sur CentOS 8

Nous allons installer Seafile dans le chemin /var/www.

sudo mkdir -p /var/www/seafile
cd /var/www/seafile

Téléchargez Seafile avec la commande wget et extrayez l'archive téléchargée.

sudo dnf install -y wget
wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_8.0.7_x86-64.tar.gz

Extraire le fichier téléchargé

sudo tar xvf seafile-server_8.0.7_x86-64.tar.gz

Renommez le répertoire en « seafile-server » et passez à ce répertoire.

sudo mv seafile-server-8.0.7/ seafile-server
sudo rm -f seafile-server_8.0.7_x86-64.tar.gz

Étape 6 : Configurer Seafile sur CentOS 8

Exécutez le fichier « setup-seafile-mysql.sh » pour configurer la base de données.

$ cd  seafile-server
$ sudo ./setup-seafile-mysql.sh

Checking python on this machine ... 
----------------------------------------------------------------- 
This script will guide you to setup your seafile server using MySQL. 
Make sure you have read seafile server manual at 

       https://download.seafile.com/published/seafile-manual/home.md 

Press ENTER to continue 
----------------------------------------------------------------- 
What is the name of the server? It will be displayed on the client. 
3 - 15 letters or digits 
[ server name ] seafile 
What is the ip or domain of the server? 
For example: www.mycompany.com, 192.168.1.101 
[ This server's ip or domain ] seafile.example.com

Which port do you want to use for the seafile fileserver? 
[ default "8082" ]  

------------------------------------------------------- 
Please choose a way to initialize seafile databases: 
------------------------------------------------------- 

[1] Create new ccnet/seafile/seahub databases 
[2] Use existing ccnet/seafile/seahub databases 

[ 1 or 2 ] 2 

What is the host of mysql server? 
[ default "localhost" ]  press Enter

What is the port of mysql server? 
[ default "3306" ]  Press Enter

Which mysql user to use for seafile? 
[ mysql user for seafile ] seacloud

What is the password for mysql user "seahub"? 
[ password for seahub ]  StrongDBPassw0rd
                                                                                                                 
verifying password of user seacloud ...  done 

Enter the existing database name for ccnet: 
[ ccnet database ] ccnet_db 

verifying user "seacloud" access to database ccnet_db ...  done 

Enter the existing database name for seafile: 
[ seafile database ] seafile_db 

verifying user "seacloud" access to database seafile_db ...  done 

Enter the existing database name for seahub: 
[ seahub database ] seahub_db 

verifying user "seacloud" access to database seahub_db ...  done 

--------------------------------- 
This is your configuration 
--------------------------------- 

   server name:            seafile 
   server ip/domain:       seafile.example.com 

   seafile data dir:       /var/www/seafile/seafile-data 
   fileserver port:        8082 

   database:               use existing 
   ccnet database:         ccnet_db 
   seafile database:       seafile_db 
   seahub database:        seahub_db 
   database user:          seacloud 
--------------------------------- 
Press ENTER to continue, or Ctrl-C to abort

--------------------------------- 

Generating ccnet configuration ... 

done 
Successly create configuration dir /var/www/seafile/ccnet. 
Generating seafile configuration ... 

Done. 
done 
Generating seahub configuration ... 
---------------------------------------- 
Now creating ccnet database tables ... 

---------------------------------------- 
---------------------------------------- 
Now creating seafile database tables ... 

---------------------------------------- 
---------------------------------------- 
Now creating seahub database tables ... 

---------------------------------------- 

creating seafile-server-latest symbolic link ...  done 

----------------------------------------------------------------- 
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. 

Nous pouvons maintenant démarrer les services seafile et seahub. Démarrez seafile avec la commande ci-dessous :

$ sudo ./seafile.sh start
[08/17/20 11:16:33] ../common/session.c(148): using config file /var/www/seafile/conf/ccnet.conf 
Starting seafile server, please wait ... 
** Message: seafile-controller.c(563): No seafevents. 

Seafile server started 

Done.

Démarrer le service Seahub

$ sudo ./seahub.sh start
LC_ALL is not set in ENV, set to en_US.UTF-8 
Starting seahub at port 8000 ... 

---------------------------------------- 
It's the first time you start the seafile server. Now let's create the admin account 
---------------------------------------- 

What is the email for the admin account? 
[ admin email ] [email  

What is the password for the admin account? 
[ admin password ]  Enter Admin password

Enter the password again: 
[ admin password again ]  Repeat Admin password
----------------------------------------
Successfully created seafile admin
----------------------------------------

Seahub is started

Done.

Étape 7 : configurer le pare-feu

Si votre pare-feu est actif, assurez-vous d'ouvrir les ports seafile via le pare-feu :

sudo firewall-cmd --permanent --add-port=8000/tcp
sudo firewall-cmd --permanent --add-port=8082/tcp
sudo firewall-cmd --reload

Étape 8 : Accéder à Seafile sur le navigateur

Accédez à Seafile depuis votre navigateur en utilisant votre nom d'hôte/adresse IP sur le port 8000 : http://:8000. Si vous constatez que votre fichier Seafile ne se charge pas sur le navigateur, vérifiez la configuration de Seafile Gunicorn. Assurez-vous qu'il n'est pas lié à l'adresse IP locale, comme indiqué ci-dessous :

$ sudo vim /var/www/seafile/conf/gunicorn.conf.py
# default localhost:8000 
#bind = 127.0.0.1:8000
bind = "0.0.0.0:8000"

Puis redémarrez le service Seahub

$ sudo ./seahub.sh restart
Stopping seahub ...
Starting seahub at port 8000 ...

Seahub is started

Done.

Enregistrez le fichier et vous devriez pouvoir lancer Seafile sur le navigateur. Vous devriez voir une page comme ci-dessous :

Connectez-vous avec les informations d'identification d'administrateur que vous avez configurées précédemment et vous devriez obtenir une page comme indiqué :

Pour commencer à ajouter de nouveaux dossiers/fichiers, cliquez sur « Nouvelle bibliothèque » et donnez un nom à votre nouveau dossier, puis cliquez sur « Soumettre ».

Vous devriez pouvoir sélectionner votre nouvelle bibliothèque et créer ou télécharger un dossier/fichier.

Étape 9 : Configurer le client Seafile

Nous utiliserons la machine client Ubuntu 20.04 pour tester la connectivité au serveur Seafile.

Pour vous connecter à Seafile sur Ubuntu 20.04, exécutez d'abord la commande ci-dessous pour installer le client Seafile sur Ubuntu 20.04

sudo wget https://linux-clients.seafile.com/seafile.asc -O /usr/share/keyrings/seafile-keyring.asc
sudo bash -c "echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/seafile-keyring.asc] https://linux-clients.seafile.com/seafile-deb/focal/ stable main' > /etc/apt/sources.list.d/seafile.list"
sudo apt update
sudo apt install -y seafile-gui

Pour une utilisation cli uniquement, exécutez la commande :

sudo apt-get install seafile-cli

Une fois installé, recherchez le client seafile sur vos applications et vous devriez le voir.

Double-cliquez pour ouvrir et choisissez un dossier pour vos bibliothèques et cliquez sur suivant

Fournissez maintenant les informations auxquelles votre serveur seafile doit se connecter :

Lorsque vous cliquez sur « Connexion », vous devez être connecté à votre serveur seafile comme indiqué :

C'est ça. Profitez de votre installation Seafile. J'espère que le blog a été instructif. Consultez des guides plus intéressants ci-dessous :

  • Nextcloud VS owncloud vs Seafile vs Syncthing
  • Installer le partage de fichiers Pydio Cells sur Centos 8
  • Installer le partage de fichiers Pydio Cells sur Ubuntu 20.04
  • Installer et configurer Syncthing sur CentOS 8/CentOS 7
  • Installer et configurer Nextcloud 19 sur Debian 10 (Buster)
  • Installez Nextcloud sur CentOS 7 avec Let's Encrypt

Articles connexes: