Création d'un service de cloud personnel NextCloud
Article publié le :
Introduction
Nous allons mettre en œuvre un service de cloud personnel comme le fait si bien dropbox ou
encore
Google. Pour cela nous utiliserons une distribution Linux, ici Debian 9.
Cela vous permettra d'accéder à partir de n'importe où à vos données personnelles, documents de
textes, tableurs, etc ... Nous aurons donc besoin d'un serveur équipé
des dernières mise à jours.
Ici, nous mettrons en place ce service avec NextCloud, un logiciel de cloud Libre et
gratuit. Il faut savoir qu'il existe d'autres logiciels comme OwnCloud,
Seafile, .... J'ai réalisé ce choix puisque ce logiciel nous offre davantage
d'options de personnalisation et est plus libre que OwnCloud. Cependant, il faut savoir que ce
logiciel
est un dérivé de OwnCloud et permet donc une transition entre OwnCloud et NextCloud, puisque
les
deux bases de données sont identiques. Ce logiciel est également mis à jour plus fréquemment
que
OwnCloud.
Mon choix s'est donc porté sur ces critères.
Les parties :
- Pré-requis
- Installation de NextCloud
- Configuration du serveur NextCloud
- Ajout de fonctionnalité
- Conclusion
- Sources
Pré-requis
Pour installer NextCloud sur un serveur Debian, il faut tout d'abord disposer des éléments suivants :
- Apache2
- PHP 7
- Unzip
- MariaDB pour un serveur MySQL
- Un nom de domaine
- Un certificat de domaine tel que lets encrypt
Mes actions se font en tant que Root !
Installation
MySQL
Pour installer NextCloud, vous devrez créer une base de données et un utilisateur associé. Pour ce faire vous pouvez faire ceci en ligne de commande si vous n'avez pas PHP MyAdmin : Ouverture du SHELL MySQL :mysql -u root -p
Maintenant, vous pouvez taper et exécuter des requêtes MySQL. Nous allons donc créer une
base
de données portant le nom de NextCloud en faisant ceci :
CREATE DATABASE NextCloud;
Il faut désormais créer un utilisateur se nommant NextCloud avec le mot de passe Iroise29
:
CREATE USER 'NextCloud'@'localhost' IDENTIFIED BY 'Iroise29';
Maintenant, ajoutons tous les privilèges pour cet utilisateur sur cette base :
GRANT ALL PRIVILEGES ON NextCloud . * TO 'NextCloud'@'localhost';
Validation des modifications et retour à l'invité de commande Linux :
FLUSH PRIVILEGES;
exit;
Téléchargement de NextCloud
Nous allons désormais installer le logiciel NextCloud. Pour cela nous devons nous rendre dans :cd /var/www/html
Téléchargement de l'archive de NextCloud :
wget https://download.nextcloud.com/server/releases/nextcloud-14.0.1.zip
On va désormais dé-zipper le fichier ainsi téléchargé :
unzip nextcloud-14.0.1.zip -d
On va maintenant donner tous les droits d'écriture et de lecture au répertoire NexCloud
pour
que le logiciel puisse fonctionner normalement. Pour cela
il faut faire ceci :
chmod -R 700 nextcloud-14.0.1
sudo chown -R http
Création d'un VirtualHost Apache pour accéder à NextCloud depuis un navigateur
Pour cela nous allons éditer le fichier domain.com.conf, pour cela on va lancer la commande suivante :nano /etc/apache2/sites-available/domain.com.conf
Maintenant entrons ceci ("#" Signifie qu'il s'agit d'un commentaire) :
<VirtualHost *:80>
ServerAdmin admin@domain.com # Adresse mail de l'administrateur
DocumentRoot /var/www/html/nextcloud
ServerName domain.com # Nom de domaine nous appartenant permettant d'accéder au service
ServerAlias www.domain.com # Alias de domaine
Alias /nextcloud “/var/www/html/nextcloud/”
<Directory /var/www/html/nextcloud>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/html/nextcloud
SetEnv HTTP_HOME /var/www/html/nextcloud
</Directory>
ErrorLog /var/log/apache2/nextcloud-error_log
CustomLog /var/log/apache2/nextcloud-access_log common
</VirtualHost>
On peut désormais quitter cette phase en enregistrant le fichier ainsi édité.
On relance Apache 2 :
systemctl reload apache2
Passons à la configuration.
Configuration
Pour configurer votre serveur cloud, vous devez vous rendre dans un navigateur et aller à
l'adresse que vous avez pécédemment défini. mondomaine.com par exemple.
Vous devez normalement obtenir un résultat tel que l'image ci-contre :
Vous devrez renseigner en premier lieu un nom d'utilisateur qui fera partie du groupe Administrateur.
Ensuite vous choisirez un mot de passe associé à celui-ci.
Nous allons configurer également le chemin d'accès au répertoire de fichier. Celui-ci est
automatiquement rempli par défaut. Vous aurez donc le choix de le modifier si vous
le voulez. Attention toutefois, le serveur web doit avoir tous les droits
de
lecture et d'écriture sur le répertoire mentionné. Il en va donc de même avec ses
sous-dossiers.
La partie qui va nous intérésser pour rendre utile nôtre serveur est la configuration de la
base de données. Rappellez-vous, nous avions créé une base vide avec un utilisateur
associé. Nous allons donc nous y connecter en remplissant le formulaire associé au type MySQL/MariaDB.
Vous devrez donc renseigner les informations dans l'ordre suivant :
- Le nom d'utilisateur de la base, ici j'avais choisi NextCloud.
- Le mot de passe associé, j'avais pris Iroise29.
- Le nom de la base, ici NextCloud.
- L'adresse IP du serveur MySQL, il peut être également local. Cependant il faut
préciser
le port. Exemple :
localhost:3306 ou 127.0.0.1:3306
.
Après nous devons nous connecter et le serveur remplira automatiquement la base avec des tables et mettra celles-ci à jour à chaque utilisation. Voilà, nous avons fini la configuration de base du serveur et vous avez un serveur opérationnel.
Ajout de Fonctionnalités
Pour ajouter des fonctionnalités vous disposer d'un market place au sein de votre serveur,
avec
pratiquement que des applications open-sources. Donc c'est un avantage pour nôtre serveur.
Vous pouvez ajouter une WebMail, une application calendrier, un connecteur d'éditeur de
texte
open-source également. Rien de plus simple, allez dans le market place, puis cliquez sur
ajouter
l'application ou installé et puis votre service est déjà prêt.
Je vous laisse découvrir toutes les applications.
Conclusion
Vous disposez donc d'une application web de Cloud accessible depuis une une connexion
internet
via un navigateur ou une application.
Pour vous connecter via une application vous pouvez les trouver sur les plateformes tels Google
Play et l'App Store sous IOS.
Il existe également également des applications d'autres plateforme comme sur MacOS,
Windows
ou bien Linux.
Le plus de ce service c'est qu'il est libre de droit et que nous avons la possibilité de
l'améliorer et le mettre à nôtre image puisque les
codes sources sont accessibles sur Github.
Sources
Mes différents projets
Portfolio
Veille Technologique
La veille technologique permet de se tenir informé des nouvelles technologies mises en place. Ici vous trouverez une veille technologique orientée sur les frameworks Web permettant de réaliser des Single-Pages Applications. Venez donc découvrir les nouvelles technologies mises en place ces dernières années.