# Création de la machine virtuelle  avec VirtualBox

## Téléchargement de Debian 10

Depuis le site web de Debian, il est possible de télécharger une version légère "net install" de la version 10. Cliquez simplement sur le bouton "télécharger". Sinon, l'image est disponible via ce lien: [debian-10.8.0-amd64-netinst.iso](https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/debian-10.8.0-amd64-netinst.iso)

Note: il est possible que cette la version de l'image par défaut ait changé depuis la création de ce tutoriel. L'important est que ce soit la version 10 de Debian.

## Création d'une machine virtuelle Debian

On débute par ouvrir le logiciel VirtualBox qui est habituellement disponible via votre distribution Linux ou via le [site web de VirtualBox](https://www.virtualbox.org/)

![Accueil de Virtualbox](Nextcloud-Installation-VirtualBox-001.png)

Nous allons créer une nouvelle machine virtuelle de Type Linux et de version Debian (64-bit). Veuillez vous assurer que le dossier de la machine contienne au moins 20 Go d'espace libre pour assurer le bon fonctionnement de la machine virtuelle.

![créer une nouvelle machine virtuelle](Nextcloud-Installation-VirtualBox-002.png)

Choisissez la quantité de mémoire vive. Il est conseillé d'avoir au moins 2048 Mo de disponible pour que Nextcloud fonctionne de façon fluide avec quelques applications additionnelles.

![quantité de mémoire vive](Nextcloud-Installation-VirtualBox-003.png)

Choisissez le type de disque dur VDI

![type de disque dur VDI](Nextcloud-Installation-VirtualBox-005.png)

Choisissez le stockage dynamiquement alloué

![dynamiquement alloué](Nextcloud-Installation-VirtualBox-006.png)

Choisissez la taille du disque à utiliser pour la machine virtuelle. Je conseille d'utiliser au moins 15 Go. Validez que le répertoire d'enregistrement du disque contient suffissamment d'espace.

![taille disque](Nextcloud-Installation-VirtualBox-007.png)

Nous avons maintenant une configuration de base. Nous allons ajuster quelques paramètres pour notre besoin.

![configuration de base](Nextcloud-Installation-VirtualBox-008.png)

Je conseille de mettre au moins deux processeurs si possible.

![deux processeurs](Nextcloud-Installation-VirtualBox-009.png)

Si vous le désirez, vous pouvez enregistrer votre installation pour garder une trace pour référence future. C'est d'ailleurs ce que je fais pour préparer cette formation.

![enregistrer](Nextcloud-Installation-VirtualBox-010.png)

Nous allons configurer une redirection de port afin de pouvoir nous connecter à la machine virtuelle en SSH avec une console virtuelle ou un logiciel tel que PuTTY au lieu de devoir utiliser l'interface de VirtualBox.

![redirection](Nextcloud-Installation-VirtualBox-011.png)

Ajouter la configuration suivante:

- Nom: ssh
- Protocole: TCP
- Port hôte: 3022
- Port invité: 22

![redirection](Nextcloud-Installation-VirtualBox-012.png)

Ensuite, sélectionner Afficher depuis l'écran d'accueil. Ceci démarre l'installation du système d'exploitation.

![configuration de base](Nextcloud-Installation-VirtualBox-008.png)

Sélectionner l'image ISO du système Debian 10 que vous avez téléchargée préalablement.

![image ISO](Nextcloud-Installation-VirtualBox-013.png)

![image ISO](Nextcloud-Installation-VirtualBox-014.png)

Démarrer l'installation

![installation](Nextcloud-Installation-VirtualBox-015.png)

## Installation de Debian

Nous allons maintenant installer le système Debian sur notre machine virtuelle.

Choisir l'option "install" comme nous n'installons pas un système avec une interface graphique.

![install](Nextcloud-Installation-VirtualBox-016.png)

Choisissez votre langue. Cette installation fonctionnera dans toutes les langues disponibles.

![langue](Nextcloud-Installation-VirtualBox-017.png)

Choisissez votre pays

![pays](Nextcloud-Installation-VirtualBox-018.png)

Choisissez votre disposition de clavier

![disposition de clavier](Nextcloud-Installation-VirtualBox-019.png)

Nom de machine: `nextcloud`

Mot de passe root: `nextcloud`

![machine](Nextcloud-Installation-VirtualBox-020.png)

Utilisateur: `demo`

![Utilisateur](Nextcloud-Installation-VirtualBox-021.png)

Mot de passe: `demo`

![Mot de passe](Nextcloud-Installation-VirtualBox-022.png)

Choisissez le partitionnement assisté

![partitionnement assisté](Nextcloud-Installation-VirtualBox-023.png)

Choisissez tout dans une seule partition

![une seule partition](Nextcloud-Installation-VirtualBox-024.png)

Choisissez terminer et appliquer tous les changements

![appliquer](Nextcloud-Installation-VirtualBox-025.png)

Choisissez "oui"

![démarrage installation](Nextcloud-Installation-VirtualBox-026.png)

L'installation des packages du système débute, ceci peut prendre quelques minutes.

Choisissez "non" à cette invite qui demande s'il y a d'autres disques à analyser.

![disque analyser](Nextcloud-Installation-VirtualBox-027.png)

Choisissez votre pays pour un miroir. Ici, c'est la proximité géographique qui est la plus importante.

![pays du miroir](Nextcloud-Installation-VirtualBox-028.png)

Choisissez ensuite un miroir pour télécharger les packages additionnels de Debian que vous installerez.

![miroir](Nextcloud-Installation-VirtualBox-029.png)

Laissez le champ du mandataire vide sauf si vous en avez un (c'est très rare sur un réseau résidentiel)

Un autre ensemble de packages sera téléchargé puis installé. En cours de route, vous aurez à répondre à un invite sur popularity-contest. Choisissez Non.

![popularity-contest](Nextcloud-Installation-VirtualBox-030.png)

L'installation se poursuivre par la suite. On vous invitera à choisir différentes options. Comme nous installons Yunohost, nous allons réduire ces options au minimum, car son propre script d'installation s'en chargera.

![sélection logiciels](Nextcloud-Installation-VirtualBox-031.png)

Sélectionner "oui" pour l'installation du système d'amorçage.
![sélection logiciels](Nextcloud-Installation-VirtualBox-032.png)

Choisir le disque `/dev/sda`

![sélection logiciels](Nextcloud-Installation-VirtualBox-033.png)

Ensuite, choisissez "continuer" et la machine virtuelle redémarrera. Debian est maintenant installé.

## Se connecter en SSH sur la machine virtuelle

Pour se connecter sur la machine virtuelle, nous utiliserons le port configuré lors de la création de la machine virtuelle ainsi que l'utilisateur demo.

Dans un terminal, saisir:

```bash
ssh -p 3022 demo@localhost
```

Vous authentifier avec le mot de passe `demo`

Avec PuTTY

![putty hote](Nextcloud-Installation-VirtualBox-034.png)
![putty user](Nextcloud-Installation-VirtualBox-035.png)

Ensuite, se connecter en tant que root avec `su -` et saisir le mot de passe root `nextcloud` entré lors de l'installation de Debian.

Vous êtes maintenant connecté en tant qu'administrateur sur votre machine virtuelle Debian 10 et prêt à installer Yunohost.

```text
(base) ~ ❯❯❯ ssh -p 3022 demo@localhost
demo@localhost's password: 
Linux yunohost 4.19.0-14-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sat Mar  6 17:20:55 2021 from 10.0.2.2
demo@yunohost:~$ su -
Mot de passe : 
root@yunohost:~# 
```

Avec PuTTY:

![putty user](Nextcloud-Installation-VirtualBox-036.png)

Avec un terminal, vous verrez un invite de commandes précédé d'un dièse lorsque connecté en root.

## Installation de Yunohost

Exécuter les commandes suivantes en tant que root

```bash
apt install -y curl
curl https://install.yunohost.org | bash
```

Lancez l'installation

![débuter installation](Nextcloud-Installation-VirtualBox-037.png)

Laisser Yunohost gérer le SSH. Ce faisant, lorsque vous vous connecterez la prochaine fois, l'utilisateur administrateur sera `admin`. C'est un rôle intermédiaire entre `demo` et `root` en terme de permissions.

![gestion ssh](Nextcloud-Installation-VirtualBox-038.png)

Une fois l'installation terminée, nous allons maintenant effectuer la post-installation. 

Nous aurons besoin d'un nom de domaine pour notre installation. Nous utiliserons `nextcloud.local`.

Le mot de passe d'administration sera `nextcloud`.

Nous allons aussi créer un premier utilisateur `utilisateur`

```bash
yunohost user create utilisateur
```

Le résultat est:

```text
Succès ! L’utilisateur a été créé
fullname: utilisateur nouveau
mail: utilisateur@nextcloud.local
username: utilisateur
```

## Accès à la machine virtuelle comme un serveur séparé sur notre réseau local.

Nous allons maintenant configurer la machine virtuelle en mode "pont" afin qu'elle ait sa propre adresse IP. Ce faisant, nous allons pouvoir associer le nom de domaine à cette adresse pour simplifier les manipulations futures. Ceci va simuler comme si on avait une machine physique séparée ou un serveur avec une adresse IP publique tel un serveur privé virtuel (VPS).

![reseau pont](Nextcloud-Installation-VirtualBox-039.png)

Nous allons ensuite redémarrer la machine virtuelle depuis VirtualBox (Menu Machine/Redémarrage).

Une fois redémarrée, l'affichage VirtualBox de la machine virtuelle affiche son adresse IP. Dans cet exemple, c'est 192.168.0.151.

![reseau pont](Nextcloud-Installation-VirtualBox-040.png)

Dans notre configuration de routeur DHCP à la maison, nous allons figer cette adresse. Voici un exemple pour un routeur D-Link

![figer IP](Nextcloud-Installation-VirtualBox-041.png)

Nous allons maintenant ajouter notre domaine au fichier "hosts".

Sur Windows (éditer en mode administrateur): `C:\Windows\System32\drivers\etc\hosts`
Sur Linux (éditer avec sudo): `/etc/hosts`
Sur MacOS (éditer avec sudo): `/private/etc/hosts`
Ajouter la ligne suivante au fichier (Changer selon l'adressse IP de votre machine virtuelle):

```text
192.168.0.151 nextcloud.local
```

Vous pouvez maintenant vous connecter à votre instance Yunohost via l'adresse `https://nextcloud.local` dans votre navigateur. Attention, le navigateur va vous demander d'accepter le risque d'une adresse sans certificat valide.

![figer IP](Nextcloud-Installation-VirtualBox-042.png)

Une fois arrivé à la fenêtre de connexion, entrez `utilisateur` et `nextcloud`

![figer IP](Nextcloud-Installation-VirtualBox-043.png)

Si vous voyez cette fenêtre, vous avez réussi ! Votre installation de Yunohost est fonctionnelle.

![figer IP](Nextcloud-Installation-VirtualBox-044.png)