Recherche de site Web

Comment installer Seafile sur Ubuntu 16.04 (Xenial Xerus)


Ce tutoriel existe pour ces versions d'OS

  • Ubuntu 15.04 (Vif Vervet)

Sur cette page

  1. Prérequis
  2. Installation de Seafile
    1. Étape 1 : Installez les dépendances nécessaires
    2. Étape 2 – Créer un nouvel utilisateur \seafile\
    3. Étape 3 : Téléchargez et extrayez l'archive Seafile
    4. Étape 4 : Créer la base de données
    5. Étape 5 : Installer Seafile
    6. Étape 6 – Configurer les fichiers Seafile et Seahub Service
    7. Étape 7 : Installer et configurer Nginx en tant que proxy inverse
    8. Étape 8 : Test avec le navigateur Web

    Seafile est un cloud privé tel que Dropbox, mega.co.nz et autres. Seafile est basé sur python et il est open source, vous pouvez donc créer votre propre cloud privé et il sera beaucoup plus sécurisé.

    Seafile prend en charge les bibliothèques de chiffrement qui rendent vos données plus sécurisées. Pour chiffrer des fichiers dans une bibliothèque, vous devez définir un mot de passe lorsque vous créez la bibliothèque. Le mot de passe ne sera pas stocké sur le cloud Seafile. Ainsi, même l'administrateur des serveurs ne peut pas voir vos données cryptées sans le mot de passe.

    Ce tutoriel montre l'installation de Seafile sur Ubuntu 16.04.

    Conditions préalables

    • Un serveur avec 2 Go de RAM
    • Ubuntu 16.04 64 bits

    Installation de Seafile

    Étape 1 - Installez les dépendances nécessaires

    Pour effectuer l'installation, le seafile a besoin de certaines dépendances :

    • openjdk-8jre
    • LibreOffice
    • Popler-utils
    • mysql-server
    • Python-pip et autres.

    apt-get install openjdk-8-jre poppler-utils libreoffice libreoffice-script-provider-python libpython2.7 python-pip mysql-server python-setuptools python-imaging python-mysqldb python-memcache ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy python-pip

    Installez boto avec pip :

    pip install boto

    Si vous rencontrez une erreur concernant les paramètres régionaux, exécutez toutes les commandes ci-dessous :

    export LANGUAGE=en_US.UTF-8
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8
    locale-gen en_US.UTF-8
    dpkg-reconfigure locales

    Étape 2 - Créer un nouvel utilisateur seafile

    Dans cette étape, nous allons créer un nouvel utilisateur pour l'installation de seafile. Nous exécuterons le serveur seafile en tant que cet utilisateur.

    Créez un nouvel utilisateur seafile pour l'installation.

    useradd -m -s /bin/bash seafile
    passwd seafile

    Étape 3 - Téléchargez et extrayez l'archive Seafile

    Seafile peut être téléchargé à partir du site officiel, veuillez télécharger en fonction de vos besoins. Ici, j'utilise Ubuntu 15.04 64 bits.

    Téléchargez l'archive Seafile avec wget :

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

    Extrayez le seafile-server_5.1.4_x86-64.tar.gz et renommez le répertoire en seafile-server.

    tar -xzf seafile-server_5.1.4_x86-64.tar.gz
    mv seafile-server-5.1.4/ seafile-server/

    Ainsi, le répertoire d'installation de seafile se trouve dans le répertoire d'accueil de l'utilisateur seafile.

    Étape 4 - Créer la base de données

    Seafile nécessite 3 bases de données :

    1. serveur ccnet
    2. serveur Seafile
    3. hub de mer

    Revenez maintenant à l'utilisateur root avec \exit\, puis connectez-vous à votre serveur mysql.

    Créez 3 bases de données avec un utilisateur et accordez l'utilisateur à toutes les bases de données.

    #Login to mysql
    mysql -u root -p
        
    #Create database
    create database ccnet_db character set = 'utf8';
    create database seafile_db character set = 'utf8';
    create database seahub_db character set = 'utf8';

    #Create user
    create user identified by 'yourpassword';
    flush privileges;

    Étape 5 - Installer Seafile

    Connectez-vous à l'utilisateur seafile et accédez au répertoire d'installation seafile-server/, puis exécutez le fichier setup-seafile-mysql.sh.

    su - seafile
    cd seafile-server/
    ./setup-seafile-mysql.sh

    Appuyez simplement sur Entrée et vous serez interrogé sur :

    • Nom du serveur - nous utiliserons seafile-server.
    • Domaine/IP : cloud.mondomaine.co.
    • Répertoire de données Seafile - répertoire de données par défaut
    • Configuration du port du serveur Seafile.

    Ensuite, il vous sera demandé la configuration de la base de données. Vous pouvez choisir le numéro 2 car toutes les bases de données ont été créées à l'étape 4.

    Seafile est installé. Démarrez seafile et le serveur seahub :

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

    On vous demandera l'e-mail et le mot de passe de l'administrateur pour l'e-mail et le mot de passe de l'administrateur seafile.

    Si l'utilisateur admin a été créé. Arrêtez seafile maintenant, nous allons ensuite créer un fichier de service pour le serveur seafile :

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

    Étape 6 - Configurer les fichiers Seafile et Seahub Service

    Ensuite, nous allons configurer les services seafile et seahub. Nous allons créer de nouveaux fichiers de service pour le serveur seafile et seahub.

    En tant qu'utilisateur root, accédez au répertoire /lib/systemd/system/ et créez un nouveau fichier de service seafile seafile-server.service avec l'éditeur vim :

    cd /lib/systemd/system/
    vim seafile.service

    Collez la configuration du service seafile ci-dessous :

    [Unit]
    Description=Seafile Server
    After=network.target mariadb.service

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seafile.sh start
    ExecStop=/home/seafile/seafile-server/seafile.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

    Sauvegarder et quitter.

    Créez maintenant un nouveau fichier de service seahub seahub.service :

    vim seahub.service

    Collez la configuration ci-dessous :

    [Unit]
    Description=Seafile Hub
    After=network.target seafile.target

    [Service]
    Type=oneshot
    ExecStart=/home/seafile/seafile-server/seahub.sh start-fastcgi
    ExecStop=/home/seafile/seafile-server/seahub.sh stop
    RemainAfterExit=yes
    User=seafile
    Group=seafile

    [Install]
    WantedBy=multi-user.target

    Sauvegarder et quitter.

    Rechargez le service systemd et démarrez seafile et seahub :

    systemctl daemon-reload
    systemctl start seafile
    systemctl start seahub

    Assurez-vous qu'il n'y a pas d'erreur et vérifiez que le serveur seafile et seahub fonctionne en vérifiant les ports de service.

    netstat -plntu

    Vous verrez le port seafile 8082 et le port seahub 8000.

    Étape 7 - Installer et configurer Nginx en tant que proxy inverse

    Dans cette étape, nous allons installer nginx à partir du référentiel Ubuntu, puis le configurer en tant que serveur proxy inverse pour seafile-server sur les ports 8000 et 8002.

    Installez nginx avec cette commande apt-get :

    apt-get install nginx -y

    Une fois l'installation terminée, accédez au répertoire de l'hôte virtuel nginx et créez un nouveau fichier d'hôte virtuel cloud.mydomain.conf avec vim :

    cd /etc/nginx/sites-available/
    vim cloud.mydomain.conf

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

    server {
        listen 80;
        server_name cloud.mydomain.co;

        proxy_set_header X-Forwarded-For $remote_addr;
        # Reverse proxy for seafile
        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   REMOTE_ADDR         $remote_addr;

            access_log      /var/log/nginx/seahub.access.log;
            error_log       /var/log/nginx/seahub.error.log;
            fastcgi_read_timeout 36000;
        }
        # Reverse Proxy for seahub
        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;
        }
        #CHANGE THIS PATH WITH YOUR OWN DIRECTORY
        location /media {
            root /home/seafile/seafile-server/seahub;
        }
    }

    Sauvegarder et quitter.

    J'utiliserai cloud.mydomain.co comme nom de domaine.

    Ensuite, activez le nouvel hôte virtuel en créant un lien vers le répertoire activé pour les sites et redémarrez nginx.

    Activer le nouvel hôte virtuel :

    ln -s /etc/nginx/sites-available/cloud.mydomain.co

    Testez et redémarrez le serveur Web nginx.

    nginx -t
    systemctl restart nginx

    Étape 8 - Test avec le navigateur Web

    Ouvrez votre navigateur cloud.mydomain.co et essayez de vous connecter avec votre compte administrateur.

    Tableau de bord d'administration Seafile :

    Conclusion

    Avec la grande variété d'applications cloud d'aujourd'hui, Seafile est une solution de cloud privé qui peut être utilisée aujourd'hui. Avec la fonction de cryptage de la bibliothèque/dossier, vous pouvez rendre les données plus sécurisées. Et aussi facilité à le configurer, à le rendre facile à mettre en œuvre dans votre serveur.

    Liens

    • Seafile

Articles connexes: