You are on page 1of 26

BTS SERVICES INFORMATIQUES AUX ORGANISATIONS

OPTION SOLUTIONS D’INFRASTRUCTURE


SYSTÈMES ET RESEAUX

Projet Personnalisé Encadré 2 ( PPE2)

INSTALLATION ET CONFIGURATION DE
NEXTCLOUD
Réalisé par Lacroix Werley

Session 2019
BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Table des matières


I INTRODUCTION..............................................................................................................................5
II INSTALLATION DU SERVEUR UBUNTU SERVER 16.04 LTS ET CONFIGURATION DE
PUTTY.................................................................................................................................................7
A) Installation de Ubuntu server 16.04 LTS...................................................................................7
B) Installation de Putty...................................................................................................................8
III INSTALLATION Apache ET MariaDB........................................................................................11
IV PREPARATION DE NEXTCLOUD............................................................................................13
A) Configuration du serveur web Apache.....................................................................................16
B) Activation du module SSL.......................................................................................................17
V CREATION DE LA BASE DE DONNEES DE NEXTCLOUD (MariaDB)................................19
VI ASSISTANT D’INSTALLATION EN MODE WEB...................................................................21
VII INSTALLATION FINALE DE NEXTCLOUD..........................................................................23
VIII CONCLUSION..........................................................................................................................25

Session 2019 Page1


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

listes des figures


Illustration 1: Schéma explicatif pour le cloud....................................................................................6
Illustration 2: Ubuntu server 16.04 LTS..............................................................................................7
Illustration 3: Commande if config sur Ubuntu server........................................................................8
Illustration 4: Configuration PUTTY..................................................................................................9
Illustration 5: Commande mise a jour apt update et apt upgrade......................................................10
Illustration 6: Différentes étapes des mises à jours des paquets........................................................10
Illustration 7: Commande d'installation ( MariaDB,PHP7)...............................................................11
Illustration 8: Installation des paquets...............................................................................................12
Illustration 9: Installation de PHP7...................................................................................................12
Illustration 10: Fin d’installation PHP7.............................................................................................12
Illustration 11: Commande installation de Nextcloud.......................................................................13
Illustration 12: Commande de décompression de Nextcloud............................................................13
Illustration 13: Commande var/www................................................................................................14
Illustration 14: Commande ls-...........................................................................................................14
Illustration 15: Changement de la place du dossier Nextcloud.........................................................15
Illustration 16: Configuration du modèle APACHE..........................................................................16
Illustration 17: Activation du module rewrite...................................................................................17
Illustration 18: Commande SSL........................................................................................................18
Illustration 19: Activation "default-ssl".............................................................................................18
Illustration 20: "Recharger Apache"..................................................................................................19
Illustration 21: Installation de MySQL..............................................................................................20
Illustration 22: Commande "chown -R"............................................................................................21
Illustration 23: Page test APACHE 2.................................................................................................22
Illustration 24: Site Nextcloud...........................................................................................................23
Illustration 25: Identifiant utilisateur Nextcloud...............................................................................24
Illustration 26: Page de Nextcloud....................................................................................................25

Session 2019 Page2


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Contexte Dans le cadre de ce PPE en organisation, il m’est


demander de créer une documentation et une
installation complète de Nextcloud 12 ; car l’entreprise
possédait une version obsolète de Nextcloud.

Objectifs Créer une documentation et une installation Nextcloud


12

Matériel Deux ordinateurs Windows 10

Logiciel VirtualBox , un émulateur de terminal Putty, Ubuntu


server 16.04 LTS

Difficultés Difficulté à synchroniser Putty avec le serveur : Ubuntu


rencontrés server 16.04 LTS
Les commandes Ubuntu server 16.04 LTS

Durée de la 2 jours
réalisation

Solution retenue : Pour l’installation de Nextcloud j’ai demandé conseil à mon


responsable et une solution a été retenue de faire le test sur une machine virtuelle
avant de le créer sur l’environnement informatique de l’entreprise. J’ai donc installé
VirtualBox pour pouvoir installer le serveur adéquat; Ubuntu server 16.04 LTS.

Conditions initiales : Ubuntu Server 16.04 LTS installé et prêt à l’emploi sur
VirtualBox.
Emulateur de terminal Putty, déjà installé et configuré.

Outils utilisés : Deux ordinateurs fonctionnant sous Windows 10


Une machine virtuelle sous VirtualBox Ubuntu Server 16.04 LTS
ISO Nextcloud 12.04
Emulateur Putty
Du réseaux

Résaultat final : Un serveur Nextcloud 12.04 LTS créé


Une documentation complète de l’installation

Session 2019 Page3


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

COMPÉTENCES MISES EN ŒUVRE POUR CETTE ACTIVITE PROFESSIONNELLE

A1.2.1 Élaboration et présentation d'un dossier de choix de solution technique

A1.2.4 Détermination des tests nécessaires à la validation d'un service

A1.3.2 Définition des éléments nécessaires à la continuité d'un service

A1.3.4 Déploiement d'un service

A1.4.3 Gestion des ressources

A2.1.1 Accompagnement des utilisateurs dans la prise en main d'un service

A2.2.1 Suivi et résolution d'incidents

A3.2.1 Installation et configuration d'éléments d'infrastructure

A3.2.2 Remplacement ou mise à jour d'éléments défectueux ou obsolètes

A3.2.3 Mise à jour de la documentation technique d'une solution d'infrastructure

A3.3.1 Administration sur site ou à distance des éléments d’un réseau, de


serveurs …

A3.3.3 Gestion des identités et des habilitations

A5.1.2 Recueil d'informations sur une configuration et ses éléments

A5.2.4 Étude d’une technologie, d'un composant, d'un outil ou d'une méthode

Session 2019 Page4


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

I INTRODUCTION

Le but du projet est de réaliser un serveur Nextcloud récent pour pouvoir remplacer
l’ancienne version. Une installation test sera réalisée sur une machine virtuelle.

Nextcloud est un service de stockage et de partage de fichier. Nous allons voir


comment le mettre en place. Outils essentiels :

● Un serveur web : Apache 2 et php 7


● Un serveur SGBD (Système de Gestion de Base de Données)
● Un émulateur de terminal PUTTY
● VirtualBox et Machine virtuelle Ubuntu Server 16.04 LTS

Dans notre cas nous utiliserons une machine virtuelle (Ubuntu server 16.04 LTS) pour
montrer le plus concrètement possible la situation vécu en entreprise.

Qu’est-ce que Nextcloud ?

Nextcloud est une solution client/serveur pour héberger des fichiers et y accéder à
travers une interface conviviale au même titre que Dropbox, Google drive, pour ne
citer que les solutions les plus connues.
Nextcloud est un fork (un dérivé) du projet initial qui se nomme Owncloud. Nextcloud
est devenu complètement FOSS (logiciel libre et open-source) suivant le modèle Red
Hat de facturation pour le support d'entreprise plutôt que des fonctionnalités
d'entreprise.

Nextcloud nécessite :

● Un système GNU Linux


● Une base de données
● Un serveur web avec php
● Un certificat SSL (non mentionné mais obligatoire pour certaines applications)
● Un nom de domaine (obligatoire pour obtenir un certificat SSL)

Session 2019 Page5


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Ci dessous un schéma explicatif du cloud :

Illustration 1: Schéma explicatif pour le cloud

Etape 01 : L’utilisateur enregistre un fichier sur son ordinateur. Au lieu de


l’enregistrer dans son dossier "mes documents" ou sur une clé USB, il l’enregistre
dans un dossier spécifique connecté à son application cloud. Dans le cas présent,
utilisant le service de cloud, l’utilisateur enregistre donc son fichier dans son dossier
"NextCloud"

Etape 02 : Le fichier déposé dans le dossier NextCloud est synchronisé et enregistré


sur les disques durs situés dans des centres de stockage situés en France.

Etape 03 :A n’importe quel moment, l’utilisateur peut avoir accès à son fichier en se
connectant à internet depuis un ordinateur et en s’identifiant pour accéder à son
cloud.

Session 2019 Page6


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

II INSTALLATION DU SERVEUR UBUNTU SERVER


16.04 LTS ET CONFIGURATION DE PUTTY

A) Installation de Ubuntu server 16.04 LTS

Pour ce guide , Nextcloud sera installé sur un serveur Ubuntu 16.04 LTS pour lequel il
faudra téléchargé une image ISO.
L’ISO est disponible sur le site Officiel de Ubuntu.

Illustration 2: Ubuntu server 16.04 LTS

A la fin de l’installation, entrer l’IP de la machine virtuelle pour pouvoir l’utiliser par la
suite sur Putty (plus de détails ci après).

Exécuter la commande suivante : ifconfig

ifconfig est une commande Unix qui permet de configurer et d'afficher les
informations des interfaces réseau IP à partir de l'interpréteur de commande.

Session 2019 Page7


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Illustration 3: Commande if config sur Ubuntu server

Notez bien l’adresse IP de la machine Ubuntu server 16.04 LTS : ici cela correspond à
10.60.0.221.

B) Installation de Putty

Putty est un programme permettant de se connecter à distance à des serveurs


en utilisant les protocoles SSH. Cela va me permettre de copier/coller/gérer des lignes
de commande directement sur le serveur Ubuntu.

Lien de téléchargement
http://www.01net.com/telecharger/windows/Internet/serveur_ftp/fiches/20166.html

Protocole SSH : Protocole sécurisé de communication pour transférer et


gérer des fichiers à distance.

Session 2019 Page8


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Une fois télécharger rentrer l’adresse IP de la machine Ubuntu que nous avons vu
précédemment. 10.60.0.221
Cliquer sur Open. L’interface de Ubuntu server va s’ouvrir, rentrer votre nom
d’utilisateur ainsi que votre mot de passe du serveur Ubuntu que vous avez créé.

Illustration 4: Configuration PUTTY

Avant de commencer l’installation; mettre à jour le serveur. Taper la commande


suivante:

sudo apt update && sudo apt upgrade

«SUDO» pour obtenir des droit de « root»


Les systèmes GNU-Linux utilisent une séparation des droits stricts entre le
compte administrateur (« root») et les comptes d’utilisateurs. Parfois pour
effectuer une tâche sur des fichiers du système, ou pour simplement installer
de nouveaux logiciels, vous aurez besoin d’obtenir les droits du super-
utilisateur «root»

Session 2019 Page9


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Illustration 5: Commande mise a jour apt update et apt upgrade

On peut observer les différentes étapes de l’installation. L’installation s’effectue en


deux temps, dépaquetages puis installation des mises a jour des paquets.

Illustration 6: Différentes étapes des mises à jours des paquets

Session 2019 Page10


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

III INSTALLATION Apache ET MariaDB

MariaDB est de plus en plus utilisé, parce qu’il est plus libre que MySQL, mais
surtout parce qu’il est plu efficace.
En effet, bénéficiant d’une grande communauté de développeurs, et de
l’expérience de son créateur, MariaDB présente des performances supérieures
à MySQL, tout en étant parfaitement compatible avec celui-ci. Cela signifie
que pour améliorer votre site, vous n’avez qu’à installer MariaDB en lieu et
place de MySQL, et vous n’aurez même pas besoin de changer le code de vos
sites et applications !

Pour l’installation de Nextcloud on a besoin de plusieurs serveurs :

● Un serveur de base de données, qui sera MariaDB


● PHP7 qu’Apache utilisera pour traiter le code php
● Un serveur HTTP qui servira à traiter les requêtes : Apache2

Taper les commandes suivantes :

apt-get install apache2 mariadb-server libapache2-mod-php7

apt-get install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstring

apt-get install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip

Illustration 7: Commande d'installation ( MariaDB,PHP7)

Session 2019 Page11


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Cela prépare les paquets nécessaires.

Illustration 8: Installation des paquets

Illustration 9: Installation de PHP7

Illustration 10: Fin d’installation PHP7

Lors de l’installation du serveur Mysql/MariaDB, vous serez invité à créer un mot de


passe root.

Session 2019 Page12


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

IV PREPARATION DE NEXTCLOUD
Lorsque l’environnement du serveur est pret, nous allons passer au
téléchargement de Nextcloud.

Télécharger l'archive tar.bz2 ou .zip.

Exécuter la commande suivante:

wqget https://download.nextcloud.com/server/releases/nextcloud-12.0.4.tar.bz2

Nextcloud se trouve dans le dossier /home à la fin du téléchargement.

Illustration 11: Commande installation de Nextcloud

On va extraire le contenu de l’archive. Exécutez la commande de décompression.

tar -xjf nextcloud-12.0.4.tar.bz2

Illustration 12: Commande de décompression de Nextcloud

Session 2019 Page13


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

tar : Cette commande décompacte un fichier au format .tar.bz2


Le format tar.bz2 indique que le fichier est en réalité une archive (.tar) c’est a dire que le fichier
contient en réalité plusieurs fichiers, et qu’il est compacté (bz2)

Décompresser le contenu de l’archive dans le dossier Nectcloud.


Copiez le répertoire Nextcloud. Lorsque vous utilisez le serveur HTTP Apache, vous
pouvez installer Nextcloud en toute sécurité dans votre document racine Apache.

Tapez la commande cp -r Nextcloud var/www puis exit

Illustration 13: Commande var/www

cp -r : La commande cp (copy) permet de faire la copie d'un ou plusieurs fichier mais aussi
d'un ou plusieurs répertoire à la fois et en ligne de commande sous Linux (Debian, Ubuntu ...).
cp -r Pour copier récursivement les répertoires

Comme indiqué ci-dessous avec ls il a maintenant un dossier Nextcloud situé dans


/var/www/. (dossier racine par défaut du serveur web).

Illustration 14: Commande ls-

Session 2019 Page14


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Nous allons éditer le fichier dans un éditeur texte: rentrer les commandes suivantes

Sudo nano /etc/apache2/sites-available/nextcloud.conf

Illustration 15: Changement de la place du dossier Nextcloud

nano: C’est un éditeur de texte

Copier le texte suivant , valider et quitter.

Alias /nextcloud "/var/www/nextcloud/"

<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All

<IfModule mod_dav.c>
Dav off
</IfModule>

SetEnv HOME /var/www/nextcloud


SetEnv HTTP_HOME /var/www/nextcloud

</Directory>

Session 2019 Page15


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Illustration 16: Configuration du modèle APACHE

A) Configuration du serveur web Apache

Pour que Nextcloud fonctionne correctement , nous avons besoin du module mod-
rewrite.
Activez-le en exécutant :

• a2enmod headers
• a2enmod env
• a2enmod mime
• a2enmod dir

Le module rewrite est un module d’Apache ayant pour but de manipuler, réécrire
votre URL.

Session 2019 Page16


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Illustration 17: Activation du module rewrite

B) Activation du module SSL

On peut utiliser Nextcloud sur HTTP simple, mais pour protéger les connexions et les
données de l’utilisateur , il est fortement conseillé d'utiliser SSL .

SSL est un protocole qui permet à deux machines de communiquer de manière sécurisée. Les
informations échangées entre les deux machines sont de ce fait inviolables.
SSL assure 3 choses :
● Confidentialité:il est impossible d’espionner les informations échangées.
● Intégrité:il est impossible de truquer les informations échangées.
● Authentification:il permet de s’assurer de l’identité du programme, de la personne ou
de l’entreprise avec laquelle on communique.

Par défaut Apache 2 contient deux fichiers pré-configurés : « default » et « default-


ssl »qui pointent tous les deux ver le répertoire «/var/www ».Dans la configuration
d’origine, seul le site « default » est actif ce qui permet d’accéder à la page « it
works ! » d’apache tout de suite après avoir effectué l’installation. De ce fait , il suffit
d’effectuer deux choses pour le rendre actif et opérationnel :
-Activer le module SSL d’Apache
-Activer le site « default-ssl » d’Apache

Session 2019 Page17


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

sudo a2enmod ssl

Illustration 18: Commande SSL

Taper la commande suivante pour activer le site « default-ssl"

Sudo a2ensite default-ssl

Illustration 19: Activation "default-ssl"

Session 2019 Page18


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Recharger Apache :

Sudo service apache2 reload

Illustration 20: "Recharger Apache"

V CREATION DE LA BASE DE DONNEES DE


NEXTCLOUD (MariaDB)

Utiliser la commande Mysql pour pouvoir configurer la base de donnée de Nextcloud


(MariaDB)

MySQL est un système de gestion de bases de données relationnelle basés sur le modèle
client-serveur.

Session 2019 Page19


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Exécuter la commande :

sudo mysql -u root -p

Illustration 21: Installation de MySQL

Une instance Nextcloud configurée avec MySQL contiendrait le nom d'hôte sur lequel
la base de données est en cours d'exécution, un nom d'utilisateur valide et un mot de
passe pour y accéder, ainsi que le nom de la base de données.

Nous allons créer une base de données dédiées et un utilisateur pour Nextcloud avec
les commandes suivantes :

CREATE DATABASE nextcloud ;

CREATE USER 'adminDB'@'localhost' IDENTIFIED BY '$PMAmdp%';

● changer adminDB par le nom d'utilisateur que vous souhaitez


● changer $PMAmdp% par le mot de passe de votre choix

Puis on lui donne tous les droits :

GRANT ALL PRIVILEGES ON *.* TO 'adminDB'@'localhost' WITH GRANT OPTION;

On réinitialise pour que ça soit pris en compte : FLUSH PRIVILEGES;

Session 2019 Page20


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

VI ASSISTANT D’INSTALLATION EN MODE WEB

Après avoir redémarré Apache, on va changer le propriétaire du répertoires Nextcloud


pour votre utilisateur HTTP :
Exécuter la commande suivante : chown -R

sudo chown -R www-data:www-data /var/www/nextcloud/

Illustration 22: Commande "chown -R"

Session 2019 Page21


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

Si la configuration réseau du serveur est bien paramétrée, vous devriez accéder à la


page test depuis un poste distant et un navigateur.
Dans un navigateur en tapant l’adresse IP du serveurs 10 .60.0.221

Vous devriez avoir une page Apache 2

Illustration 23: Page test APACHE 2

Session 2019 Page22


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

VII INSTALLATION FINALE DE NEXTCLOUD


Ouvrer un navigateur et accéder à ip/nextcloud. Dans notre cas à l’adresse
10.60.0.221

Illustration 24: Site Nextcloud

Session 2019 Page23


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

L'écran d'installation de Nextcloud est là.

• Fournissez un nom d'utilisateur et un mot de passe pour le compte admin.


• Indiquer l'utilisateur de base de données que nous avons configurer
précédemment
• Indiquer le mot de passe de l'utilisateur de base de données
• Indiquer le nom de la base de données : nextcloud
• Laisser le paramètre localhost
• Terminer l'installation

Illustration 25: Identifiant utilisateur Nextcloud

Session 2019 Page24


BTS SERVICES INFORMATIQUES AUX ORGANISATIONS
OPTION SOLUTIONS D’INFRASTRUCTURE
SYSTÈMES ET RESEAUX

photos intérieur de Nextcloud

Illustration 26: Page de Nextcloud

VIII CONCLUSION

En suivant ce guide ,ce projet ma permis de créer un nouveau server virtuel exécutant
Nextcloud sur Ubuntu server 16.04. Aujourd’hui le développement de la solution
Nextcloud est de plus en plus important au même titre que Dropbox, Onedrive .

Session 2019 Page25

You might also like