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.
Prérequis
- Un serveur avec 2 Go de RAM
- Ubuntu 16.04 64 bits
Installer Seafile
Étape 1 - Installer 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 :
boto d'installation de pip
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 sous 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 fichier 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
- Seahub
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.
#Se connecter à mysql
mysql -u root -p
#Créer une base de données
créer une base de données ccnet_db character set ='utf8' ;
créer une base de données seafile_db character set ='utf8';
créer une base de données seahub_db character set ='utf8';
#Create user
créer un utilisateur [email protected] identifié par 'yourpassword' ;
#Accorder l'utilisateur aux bases de données
accorder tous les privilèges sur ccnet_db.* à [email protected] identifié par 'yourpassword' ;
accorder tous les privilèges sur seafile_db.* à [email protected] identifié par 'yourpassword' ;
accorder tous les privilèges sur seahub_db.* à [email protected] identifié par 'yourpassword' ;
vider les privilèges ;
É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 on vous demandera :
- 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
Après=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
Enregistrez et quittez.
Créez maintenant un nouveau fichier de service seahub seahub.service :
vim seahub.service
Collez la configuration ci-dessous :
[Unité]
Description=Seafile Hub
Après=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
Enregistrez et quittez.
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 ;
nom_serveur 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 ;
$ fast cgi_param script ;
FastCGI_PARAM Server_protocol $ server_protocol;
FastCGI_PARAM QUERY_STRING $ Query_String;
fastcgi_param request_method $ request_method /> fastcgi_param contenu_type $ contenu; Server_addr $ server_addr;
fastcgi_param server_port $ server_port;
fastcgi_param server_name $ server_name;
fastcgi_param rote_addr $ rote_addr;
Access_log /var/log/nginx/seaHub.Access .log;
error_log /var/log/nginx/seahub.error.log;
rapide cgi_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 36 000 s ;
proxy_read_timeout 36 000 s ;
proxy_send_timeout 36 000 s ;
send_timeout 36 000 s ; }/> pre#CHANGE CE CHEMIN AVEC VOTRE PROPRE RÉPERTOIRE
location /media {
root /home/seafile/seafile-server/seahub ;
}
}Enregistrez et quittez.
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 "sites-enabled" et redémarrez nginx.
Activer le nouvel hôte virtuel :
ln -s /etc/nginx/sites-available/cloud.mydomain.coTestez et redémarrez le serveur Web nginx.
nginx -t
systemctl redémarre nginx
Étape 8 - Tester 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 la facilité de configuration, facilitez sa mise en œuvre sur votre serveur.
Liens
- Seafile