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
- Prérequis
- Installation de Seafile
- Étape 1 : Installez les dépendances nécessaires
- Étape 2 – Créer un nouvel utilisateur \seafile\
- Étape 3 : Téléchargez et extrayez l'archive Seafile
- Étape 4 : Créer la base de données
- Étape 5 : Installer Seafile
- Étape 6 – Configurer les fichiers Seafile et Seahub Service
- Étape 7 : Installer et configurer Nginx en tant que proxy inverse
- É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.gzExtrayez 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 :
- serveur ccnet
- serveur Seafile
- 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.shAppuyez 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 startOn 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.serviceCollez 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.targetSauvegarder 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.targetSauvegarder et quitter.
Rechargez le service systemd et démarrez seafile et seahub :
systemctl daemon-reload
systemctl start seafile
systemctl start seahubAssurez-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.confCollez 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