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://
$ 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