GNU/Linux >> Tutoriels Linux >  >> OpenSuse

Comment installer Seafile avec Nginx sur openSUSE Leap 42.1

Seafile est un logiciel d'hébergement de fichiers gratuit avec une fonctionnalité comme Dropbox ou Google Drive qui peut être installé sur votre propre serveur. Seafile est publié sous une licence OpenSource. Vous pouvez créer votre propre serveur sécurisé de synchronisation et de partage de fichiers avec seafile, c'est un logiciel de partage de fichiers fiable qui permet aux utilisateurs de chiffrer leurs données sur le serveur. Seafile est écrit en C et Python.

Dans ce didacticiel, je vais vous montrer comment créer votre propre serveur de synchronisation et de partage de fichiers avec seafile sur openSUSE Leap 42.1. Nous vous guiderons tout au long de l'installation de seafile, puis configurerons l'interface graphique Web avec un cryptage https derrière un serveur proxy inverse nginx.

Prérequis

  • OpenSUSE Leap 42.1 - 64 bits
  • Privilèges root
  • Comprendre la commande zypper

Étape 1 - Configurer le nom d'hôte

Connectez-vous à votre serveur openSUSE :

ssh [email protected]

après vous être connecté au serveur, modifiez le fichier hosts avec vim :

vim /etc/hosts

Coller la configuration (remplacez l'adresse IP et le nom d'hôte par vos propres valeurs) :

192.168.1.101   cloud.kuonseafile.co    cloud

Enregistrez et quittez.

Remarque :

192.168.1.101 =l'adresse IP de mon serveur.

Cloud =nom d'hôte de mon serveur.

kuonseafile.co =mon nom de domaine.

Vérifiez le nom d'hôte et le FQDN (nom de domaine complet) :

hostname
hostname -f

Étape 2 - Installer les dépendances

Seafile est écrit en python, nous avons donc besoin de plusieurs bibliothèques python pour l'installation. Pour la base de données, seafile supporte SQLite et MySQL, dans ce tutoriel, j'utiliserai une base de données MySQL qui offre de meilleures performances que SQLite.

Installez tous les packages, y compris le serveur MySQL/MariaDB avec la commande zypper ci-dessous :

zypper in python python-imaging python-MySQL-python python-setuptools mariadb mariadb-client

Une fois l'installation terminée, passez à l'étape suivante.

Étape 3 - Configurer la base de données

Il y a une chose que vous devez savoir lorsque vous souhaitez déployer seafile. Seafile a besoin de 3 bases de données :

  1. base de données ccnet
  2. base de données seafile
  3. base de données seahub

À l'étape 2, nous avons installé avec succès le serveur MySQL/MariaDB, démarrez-le maintenant avec la commande ci-dessous :

rcmysql start

Définissez un nouveau mot de passe pour l'utilisateur mysql root avec la commande mysqladmin :

/usr/bin/mysqladmin -u root password 'aqwe123'

Ensuite, connectez-vous au shell MySQL et créez 3 bases de données pour seafile et un nouvel utilisateur pour ces 3 bases de données.

Connectez-vous au shell MySQL :

mysql -u root -p

SAISIR LE MOT DE PASSE "aqwe123"

Créez les trois bases de données pour l'installation de seafile :ccnet_db, seafile_db et seahub_db :

create database ccnet_db character set = 'utf8';
create database seafile_db character set = 'utf8';
create database seahub_db character set = 'utf8';

Et créez un nouvel utilisateur seafilecloud avec le mot de passe '[email protected]' :

create user [email protected] identified by '[email protected]';

Accordez maintenant l'accès à l'utilisateur seafilecloud à toutes les bases de données :

grant all privileges on ccnet_db.* to [email protected] identified by '[email protected]';
grant all privileges on seafile_db.* to [email protected] identified by '[email protected]';
grant all privileges on seahub_db.* to [email protected] identified by '[email protected]';
flush privileges;

Toutes les bases de données sont prêtes pour l'installation de seafile.

Étape 4 - Installer et configurer Seafile

Dans cette étape, nous allons installer et configurer seafile. Nous allons installer seafile sous l'utilisateur seafile et le répertoire personnel, nous devons donc créer un nouvel utilisateur Linux avec le nom "seafile".

Créer le nouvel utilisateur

Créez un nouvel utilisateur avec le nom seafile pour l'installation :

useradd -m -s /bin/bash seafile

Remarque :

-m =Créer un nouveau répertoire personnel pour l'utilisateur sous "/home/".
-s /bin/bash =Définir le shell pour l'utilisateur.

Télécharger Seafile

Basculez vers l'utilisateur seafile avec la commande su ci-dessous :

su - seafile

Maintenant que vous êtes dans le répertoire d'accueil de seafile, téléchargez le serveur seafile 5 avec la commande wget :

wget https://bintray.com/artifact/download/seafile-org/seafile/seafile-server_5.1.3_x86-64.tar.gz

Extrayez l'archive seafile et renommez-la :

tar -xzvf seafile-server_5.1.3_x86-64.tar.gz
mv seafile-server-5.1.3/ seafile-server

Installer Seafile 5

Accédez au répertoire seafile-server et exécutez le fichier de configuration pour installer seafile :

cd seafile-server/

Nous allons installer seafile avec la base de données MySQL, alors lancez le fichier d'installation MySQL :

./setup-seafile-mysql.sh

Maintenant, il vous sera demandé les détails du serveur.

nom du serveur =utiliser le nom d'hôte du serveur.
IP ou domaine du serveur =utiliser l'adresse IP de mon serveur.
Direction des données Seafile =appuyez simplement sur Entrée.
Port pour le serveur de fichiers seafile =appuyez simplement sur Entrée.

Ensuite, configurez la base de données. Nous avons créé notre propre base de données pour l'installation, alors choisissez le numéro "2" .

Maintenant, vous serez interrogé sur le profil de la base de données :

Hébergeur du mysql =La valeur par défaut est localhost.
Port par défaut =3306.
Utilisateur MySQL pour seafile =Utilise l'utilisateur que nous avons créé à l'étape 3 - "seafilecloud".
Mot de passe MySQL =mot de passe pour l'utilisateur seafilecloud.
base de données ccnet =Nous avons créé la base de données - ccnet_db.
base de données seafile =seafile_db.
base de données seahub =seahub_db.

Si aucune erreur ne s'est produite, vous pouvez confirmer l'installation en appuyant sur "Entrée".

attendez que le script génère la configuration et la base de données.

Démarrer Seafile et Seahub

Seafile est installé, vous pouvez maintenant le démarrer avec la commande ci-dessous :

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

Il vous sera demandé de créer un utilisateur administrateur pour seafile, entrez simplement votre adresse e-mail et votre mot de passe administrateur.

À ce stade, vous pouvez accéder à l'interface graphique Web Seafile sur le port 8000.

Étape 5 - Installer et configurer Nginx

Nginx est un serveur Web léger avec une faible utilisation de la mémoire et du processeur. Dans cette étape, nous allons installer nginx, puis créer un nouvel hôte virtuel pour l'accès proxy inverse à seafile. Nous allons activer https pour les connexions sur le serveur.

Installer Nginx

Installez le serveur Web nginx avec la commande zypper :

zypper in nginx

Générer le certificat SSL

Ensuite, allez dans le répertoire nginx et créez un nouveau répertoire pour le certificat SSL. Générez ensuite le fichier de certificat avec la commande OpenSSL :

mkdir -p /etc/nginx/ssl/
cd /etc/nginx/ssl/

Générez maintenant le fichier de certificat :

openssl genrsa -out privkey.pem 4096
openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095

Configurer l'hôte virtuel

Dans le répertoire nginx, créez un nouveau répertoire appelé "vhosts.d" pour stocker le fichier d'hôte virtuel. Créez ce répertoire, puis créez un nouveau fichier d'hôte virtuel avec vim :

mkdir -p /etc/nginx/vhosts.d/
cd /etc/nginx/vhosts.d/
vim cloud.kuonseafile.conf

Collez la configuration de l'hôte virtuel ci-dessous :

    server {
        listen       80;
        server_name  cloud.kuonseafile.co;    #Domain Name
        rewrite ^ https://$http_host$request_uri? permanent;    # force redirect http to https
    }
    server {
        listen 443;
        ssl on;
        ssl_certificate /etc/nginx/ssl/cacert.pem;        # path to your cacert.pem
        ssl_certificate_key /etc/nginx/ssl/privkey.pem;    # path to your privkey.pem
        server_name cloud.kuonseafile.co;                    #Domain Name
        proxy_set_header X-Forwarded-For $remote_addr;

        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
        server_tokens off;

        location / {
            fastcgi_pass    127.0.0.1:8000;
            fastcgi_param   SCRIPT_FILENAME     $document_root$fastcgi_script_name;
            fastcgi_param   PATH_INFO           $fastcgi_script_name;

            fastcgi_param   SERVER_PROTOCOL        $server_protocol;
            fastcgi_param   QUERY_STRING        $query_string;
            fastcgi_param   REQUEST_METHOD      $request_method;
            fastcgi_param   CONTENT_TYPE        $content_type;
            fastcgi_param   CONTENT_LENGTH      $content_length;
            fastcgi_param   SERVER_ADDR         $server_addr;
            fastcgi_param   SERVER_PORT         $server_port;
            fastcgi_param   SERVER_NAME         $server_name;
            fastcgi_param   HTTPS               on;
            fastcgi_param   HTTP_SCHEME         https;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        location /seafhttp {
            rewrite ^/seafhttp(.*)$ $1 break;
            proxy_pass http://127.0.0.1:8082;
            client_max_body_size 0;
            proxy_connect_timeout  36000s;
            proxy_read_timeout  36000s;
            proxy_send_timeout  36000s;
            send_timeout  36000s;
        }
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

Remplacez le nom_serveur par votre propre nom de domaine - lignes 3 et 11.
Pour la ligne 47 de l'emplacement du support, remplacez le chemin de l'installation seafile - '/home/seafile/seafile-server/seahub'.

Enregistrez le fichier et quittez l'éditeur, puis testez la configuration avec la commande :

nginx -t

assurez-vous qu'il n'y a pas de problème ou d'erreur sur la configuration.

Configurer Seafile pour utiliser votre propre domaine et HTTPS

Basculez vers le fichier marin utilisateur et modifiez la configuration. Avant de modifier la configuration, désactivez les services seafile et seahub.

su - seafile
cd seafile-server/
./seafile.sh stop
./seahub.sh stop

Revenez au répertoire d'accueil de l'utilisateur seafile, puis accédez au répertoire conf et modifiez les fichiers ccnet.conf et seahub_settings.py.

cd ~/
cd conf/

Modifier le fichier ccnet.conf :

vim ccnet.conf

À la ligne 5 : 'SERVICE_URL' :remplacez le domaine par votre propre nom de domaine par https.

SERVICE_URL = https://cloud.kuonseafile.co/

Enregistrez et quittez.

Modifiez maintenant seahub_settings.py

vim seahub_settings.py

Ajoutez la nouvelle ligne ci-dessous pour définir la racine du serveur de fichiers.

FILE_SERVER_ROOT = 'https://cloud.kuonseafile.co/seafhttp'

Enregistrez et quittez.

Étape 6 - Démarrer le fichier marin et les tests

Nginx est installé - MariaDB/MySQL sont installés et le serveur seafile est installé.

Faites en sorte que Nginx et MySQL démarrent au démarrage :

systemctl enable nginx
systemctl enable mysql

Redémarrez les services :

systemctl restart nginx
systemctl restart mysql

Ensuite, démarrez seafile et seahub à partir de l'utilisateur seafile :

su - seafile
cd seafile-server/
./seafile start
./seahub start-fastcgi

Tous les services sont démarrés.

Vous pouvez maintenant accéder au serveur seafile avec l'URL de votre serveur. Le mien est :

cloud.kuonseafile.co

Vous serez redirigé vers la page de connexion https de seafile.

Entrez les détails de l'utilisateur administrateur que nous avons créés à l'étape 4.

Vous pouvez maintenant voir le gestionnaire de fichiers seafile et commencer à télécharger des fichiers sur votre serveur seafile.


OpenSuse
  1. Comment installer Mongodb 5 dans Opensuse Leap 15.3

  2. Comment installer Mysql Server 8 sur OpenSUSE Leap 15.3

  3. Comment installer et configurer Redis 6 sur OpenSUSE Leap 15.3

  4. Comment installer et configurer Nginx en tant que proxy OpenSUSE Leap 15.3

  5. Comment installer et configurer PHP et Nginx (LEMP) sur OpenSUSE Leap 15.3

Comment installer Skype sur openSUSE Leap

Comment installer NGINX sur openSUSE

Comment installer TeamViewer 12 sur openSUSE Leap 42.2

Comment installer Dropbox sur openSUSE Leap 42.2

Comment installer RabbitMQ dans OpenSUSE Leap 15.3

Comment installer Google Chrome sur openSUSE Leap 15