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 :

  1. Pré-requis
  2. Installation de NextCloud
  3. Configuration du serveur NextCloud
  4. Ajout de fonctionnalité
  5. Conclusion
  6. 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
Je pars du principe que tout cela à déjà été réalisé. Je vais donc passer à son installation.
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.



Mes différents projets

Portfolio

Card image cap

Système et Réseaux

Dans cette section vous trouverez divers articles sur la création de systèmes informatiques, notamment la création de serveurs (mail, serveur active directory, etc ...).

Card image cap

Développement

Dans cette section vous trouverez des documents expliquant le fonctionnement des différents langages de programmation mais aussi certaines de mes réalisations.

Card image cap

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.

Card image cap

Veille Juridique

La veille juridique est spécialisée dans le domaine du droit. Elle consiste à prendre connaissance des nouvelles dispositions juridiques. Cela consiste à connaître sa mise en place, avec les droits et les devoirs que nous devons porter. Ici la veille juridique sera tournée autour du monde informatique.