GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer Seafile pour synchroniser et partager des fichiers sur CentOS 8

Seafile est une solution de partage de fichiers gratuite, open source et auto-hébergée pour Linux. Il s'agit d'un logiciel d'hébergement de fichiers multiplateforme qui peut être utilisé pour stocker des fichiers sur un serveur central et les synchroniser avec votre ordinateur personnel ou votre appareil mobile. Seafile est écrit avec le framework Python Django et est fonctionnellement très similaire à Dropbox et Google Drive. Il possède de nombreuses fonctionnalités, notamment le cryptage de fichiers, le contrôle de version, l'authentification à deux facteurs, l'édition en ligne, le verrouillage de fichiers et bien d'autres.

Dans ce tutoriel, nous allons vous montrer comment installer Seafile avec Nginx en tant que proxy inverse sur CentOS 8.

Prérequis

  • Un nouveau VPS CentOS 8 sur la plate-forme cloud Atlantic.Net
  • Un nom de domaine valide pointant vers l'adresse IP de votre serveur
  • Un mot de passe root est configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant CentOS 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur CentOS 8, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

yum mise à jour -y

Étape 2 - Installer les dépendances requises

Tout d'abord, vous devrez installer le référentiel EPEL sur votre système. Vous pouvez l'installer avec la commande suivante :

yum installer epel-release -y

Une fois le référentiel EPEL installé, installez les autres dépendances avec la commande suivante :

yum installer python3 python3-devel python3-setuptools gcc gcc-c++ freetype-devel python3-pip python3-ldap memcached java-1.8.0-openjdk libmemcached libreoffice-headless libreoffice-pyuno libffi-devel pwgen curl tar -y 

Une fois toutes les dépendances installées, utilisez la commande pip pour installer d'autres dépendances :

pip3 install Pillow pylibmc captcha jinja2 sqlalchemy psd-tools django-pylibmc django-simple-captcha

Une fois tous les packages installés, activez le service Memcached pour qu'il démarre au redémarrage du système :

systemctl enable --now memcached

Étape 3 – Installer Nginx et MariaDB

Ensuite, vous devrez installer le serveur Nginx et MariaDB sur votre système. Vous pouvez installer les deux packages avec la commande suivante :

yum installer nginx mariadb-server -y

Une fois installés, démarrez les services Nginx et MariaDB et autorisez-les à démarrer au redémarrage du système :

systemctl démarrer nginxsystemctl démarrer mariadbsystemctl activer nginxsystemctl activer mariadb

Étape 4 - Créer une base de données pour Seafile

Tout d'abord, vous devrez définir le mot de passe root de MariaDB et sécuriser l'installation de MariaDB. Vous pouvez le faire en utilisant le script suivant :

mysql_secure_installation

Répondez à toutes les questions comme indiqué ci-dessous :

Entrez le mot de passe actuel pour root (entrez pour aucun) :Set root password ? [O/n] YNouveau mot de passe :Saisir à nouveau le nouveau mot de passe :Supprimer les utilisateurs anonymes ? [O/n] YInterdire la connexion root à distance ? [O/n] Supprimer la base de données de test et y accéder ? [O/n] YRecharger les tables de privilèges maintenant ? [O/n] O

Ensuite, connectez-vous au shell MariaDB avec la commande suivante :

mysql -u root -p

Une fois connecté, créez une base de données pour Seafile avec la commande suivante :

créer la base de données `ccnetdb` jeu de caractères ='utf8';créer la base de données `seafiledb` jeu de caractères ='utf8';créer la base de données `seahubdb` jeu de caractères ='utf8';

Ensuite, créez un utilisateur pour Seafile avec la commande suivante :

créer l'utilisateur 'seafile'@'localhost' identifié par 'votremot de passe' ;

Ensuite, accordez tous les privilèges à ccnetdb, seafiledb et seahubdb avec la commande suivante :

ACCORDER TOUS LES PRIVILÈGES SUR `ccnetdb`.* à `seafile`@localhost;ACCORDER TOUS LES PRIVILÈGES SUR `seafiledb`.* à `seafile`@localhost;ACCORDER TOUS LES PRIVILÈGES SUR `seahubdb`.* à `seafile`@localhost;

Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :

PRIVILÈGES FLUSH ;SORTIR ;

Étape 5 - Installer Seafile

Tout d'abord, téléchargez la dernière version de Seafile avec la commande suivante :

wget https://s3.eu-central-1.amazonaws.com/download.seadrive.org/seafile-server_7.1.5_x86-64.tar.gz

Une fois téléchargé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf seafile-server_7.1.5_x86-64.tar.gz

Ensuite, déplacez le répertoire extrait vers /opt avec la commande suivante :

mv seafile-server-* /opt/seafilecd /opt/seafile

Ensuite, changez le répertoire en /opt/seafile et configurez le serveur Seafile en exécutant le script suivant :

./setup-seafile-mysql.sh

Il vous sera demandé de fournir le nom du serveur, un nom de domaine valide et les détails de la base de données comme indiqué ci-dessous.

Vérification de python sur cette machine...-------------------------------------------------- --------------------------Ce script vous guidera pour configurer votre serveur seafile à l'aide de MySQL.Assurez-vous d'avoir lu le manuel du serveur seafile à l'adresse https:/ /download.seafile.com/published/seafile-manual/home.mdAppuyez sur ENTER pour continuer--------------------------------------------- ----------------------------------Quel est le nom du serveur ? Il sera affiché sur le client.3 - 15 lettres ou chiffres[ nom du serveur ] seafileQuelle est l'adresse IP ou le domaine du serveur ?Par exemple :www.mycompany.com, 192.168.1.101[ This server's ip or domain ] seafile.example .comQuel port souhaitez-vous utiliser pour le serveur de fichiers seafile ?[ "8082" par défaut]------------------------------- ------------------------Veuillez choisir un moyen d'initialiser les bases de données seafile :----------------- -------------------------------------------[1] Créer de nouvelles bases de données ccnet/seafile/seahub[ 2] Utilisez les bases de données ccnet/seafile/seahub existantes[ 1 ou 2 ] 2Quel est l'hôte du serveur mysql ?[ default "localhost" ]Quel est le port du serveur mysql ?[ default "3306" ]Quel utilisateur mysql utiliser pour seafile ?[ mysql user for seafile ] seafileQuel est le mot de passe de l'utilisateur mysql "seafile" ?[ password for seafile ]verifying password of user seafile ... doneEntrez le nom de la base de données existante pour ccnet :[ ccnet database ] ccnetdbverifying user "seafile" access to database ccnetdb ... doneEntrez la datab existante nom de base pour seafile :[ base de données seafile ] seafiledbvérification de l'accès de l'utilisateur "seafile" à la base de données seafiledb ... doneEntrez le nom de la base de données existante pour seahub :[ base de données seahub ] seahubdbvérification de l'accès de l'utilisateur "seafile" à la base de données seahubdb ... done

Fournissez soigneusement chaque détail. Une fois l'installation terminée, vous devriez voir le résultat suivant :

--------------------------------Voici votre configuration---------- -----------------------nom du serveur :seafileserver ip/domain :seafile.example.comseafile data dir :/opt/seafile-datafileserver port :8082database :use base de données ccnet existante :base de données ccnetdbseafile :base de données seafiledbseahub :utilisateur de la base de données seahubdb :seafile------------------------------Appuyez sur ENTRÉE pour continuer , ou Ctrl-C pour abandonner------------------------------------------------ ----------------------La configuration de votre serveur seafile s'est terminée avec succès.---------------------- ----------------------------------------------exécuter le serveur seafile :./seafile.sh { début | arrêter | redémarrer } lancer le serveur seahub :./seahub.sh { démarrer  | arrêter | redémarrer  }--------------------------------------------- --------------------Si vous êtes derrière un pare-feu, n'oubliez pas d'autoriser l'entrée/la sortie de ces ports tcp :------------ -------------------------------------------------- ---port du serveur de fichiers seafile :8082port du seahub :8000Lorsque des problèmes surviennent, reportez-vous àhttps://download.seafile.com/published/seafile-manual/home.mdpour plus d'informations.

Étape 6 - Configurer un compte administrateur

Ensuite, vous devrez créer un compte administrateur pour accéder à Seafile. Tout d'abord, démarrez le service Seafile avec la commande suivante :

/opt/seafile/seafile.sh start

Ensuite, démarrez le service Seahub pour définir un mot de passe administrateur :

/opt/seafile/seahub.sh start

Il vous sera demandé de définir un nom d'utilisateur et un mot de passe administrateur comme indiqué ci-dessous.

LC_ALL n'est pas défini dans ENV, défini sur en_US.UTF-8Starting seahub at port 8000 ...-------------------------- --------------C'est la première fois que vous démarrez le serveur seafile. Créons maintenant le compte administrateur----------------------------------------Quel est l'e-mail pour le compte admin ?[ admin email ] [email protected] est le mot de passe du compte admin ?[ admin password ]Entrez à nouveau le mot de passe :[ admin password again ]-------------- ---------------------Administrateur Seafile créé avec succès-------------------- --------------------

Ensuite, arrêtez les services Seafile et Seahub avec la commande suivante :

/opt/seafile/seafile.sh stop/opt/seafile/seahub.sh stop

Étape 7 - Créer un fichier de service Systemd pour Seafile

Ensuite, vous devrez créer des fichiers de service systemd pour Seafile et Seahub afin de gérer les services. Commencez par créer un fichier de service pour Seafile à l'aide de la commande suivante :

nano /etc/systemd/system/seafile.service

Ajoutez les lignes suivantes :

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]Type=forkingExecStart=/opt/seafile-server-latest/seafile.sh startExecStop=/opt/seafile-server-latest/seafile.sh stop[Install]WantedBy=multi-user.target

Enregistrez et fermez le fichier, puis créez un fichier de service pour Seahub avec la commande suivante :

nano /etc/systemd/system/seahub.service

Ajoutez les lignes suivantes :

[Unit]Description=SeafileAfter=mysql.serviceAfter=network.target[Service]Type=forkingExecStart=/opt/seafile-server-latest/seahub.sh startExecStop=/opt/seafile-server-latest/seahub.sh stop[Install]WantedBy=multi-user.target

Enregistrez et fermez le fichier, puis rechargez le démon systemd avec la commande suivante :

rechargement du démon systemctl

Ensuite, démarrez le service Seafile et Seahub et autorisez-les à démarrer au redémarrage du système avec la commande suivante :

systemctl start seafilesystemctl enable seafilesystemctl start seahubsystemctl enable seahub

À ce stade, le serveur Seafile est démarré et écoute sur le port 8000. Vous pouvez le vérifier avec la commande suivante :

ss -tunelp | grep 8000

Vous devriez obtenir le résultat suivant :

tcp LISTEN 0 128 127.0.0.1:8000 0.0.0.0:* utilisateurs :(("python3",pid=44925,fd=8),("python3",pid=44924,fd=8),(" python3",pid=44923,fd=8),("python3",pid=44922,fd=8),("python3",pid=44921,fd=8),("python3",pid=44916,fd =8)) ino:77620 sk:9 <->

Étape 8 - Configurer Nginx pour Seafile

Ensuite, vous devrez configurer Nginx en tant que proxy inverse pour accéder à Seafile en utilisant le port 80. Vous pouvez le configurer avec la commande suivante :

nano /etc/nginx/conf.d/seafile.conf

Ajoutez les lignes suivantes :

server {listen 80;listen [::]:80;server_name seafile.example.com;autoindex off;client_max_body_size 100M;access_log /var/log/nginx/seafile.com.access.log;error_log /var/log /nginx/seafile.com.error.log;location / {proxy_pass http://127.0.0.1:8000;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X -Forwarded-Host $server_name;proxy_read_timeout 1200s;}location /seafhttp {rewrite ^/seafhttp(.*)$ $1 break;proxy_pass http://127.0.0.1:8082;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_connect_timeout 36000s; proxy_read_timeout 36000s;proxy_send_timeout 36000s;send_timeout 36000s;}location /media {root /opt/seafile-server-latest/seahub;}}

Enregistrez et fermez le fichier, puis redémarrez le service Nginx avec la commande suivante :

systemctl redémarrer nginx

Si vous avez des erreurs, modifiez le fichier Nginx.conf :

nano /etc/nginx/nginx.conf

Ajoutez la ligne suivante sous http {:

server_names_hash_bucket_size 64 ;

Enregistrez et fermez le fichier, puis redémarrez le service Nginx :

systemctl redémarrer nginx

Étape 9 - Accéder à l'interface Web Seafile

À ce stade, Nginx est configuré pour servir Seafile. Maintenant, ouvrez votre navigateur Web et accédez à l'interface Web Seafile en utilisant l'URL http://seafile.example.com . Vous serez redirigé vers la page de connexion Seafile :

Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Seafile sur la page suivante :

Conclusion

Dans le didacticiel ci-dessus, vous avez appris à installer le serveur Seafile avec Nginx en tant que proxy inverse sur CentOS 8. Vous pouvez maintenant télécharger vos fichiers et photos personnelles sur le serveur Seafile, les partager avec vos amis et y accéder depuis votre ordinateur ou appareil mobile. Essayez Seafile sur l'hébergement VPS d'Atlantic.Net en utilisant le tutoriel ci-dessus !


Linux
  1. Comment installer et configurer Fail2ban sur CentOS 8 ?

  2. Comment installer MongoDB sur Ubuntu 20.04 et CentOS 8

  3. Comment installer DenyHost sur CentOS 6.7

  4. Comment installer PostgreSQL Server sur CentOS 8

  5. Comment installer et sécuriser MongoDB 4 dans CentOS 8

Comment installer et utiliser Docker sur CentOS 8

Comment installer Java sur CentOS 8

Comment installer Yarn sur CentOS 8

Comment installer la métabase sur CentOS 8

Comment installer Jenkins sur CentOS 8

Comment installer Seafile pour synchroniser et partager des fichiers sur CentOS 8