🌘 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

Conseil: valider la signature sha256sum de l’image tĂ©lĂ©chargĂ©e

wget https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/SHA512SUMS
sha512sum -c SHA512SUMS --ignore-missing

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 la distribution Linux ou via le site web de VirtualBox

Accueil de Virtualbox

On crĂ©e une nouvelle machine virtuelle de Type Linux et de version Debian (64-bit). Le dossier de la machine doit avoir au moins 20 Go d’espace libre pour assurer le bon fonctionnement de la machine virtuelle.

créer une nouvelle machine virtuelle

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

Choisissez le type de disque dur VDI

type de disque dur VDI

Choisissez le stockage dynamiquement alloué

dynamiquement alloué

Choisissez la taille du disque Ă  utiliser pour la machine virtuelle. Je conseille d’utiliser au moins 15 Go. VĂ©rifiez que le rĂ©pertoire d’enregistrement du disque contient suffisamment d’espace.

taille disque

Nous avons maintenant une configuration de base. On ajuste quelques paramĂštres pour le besoin.

configuration de base

Je conseille de mettre au moins deux processeurs si possible.

deux processeurs

Il est possible d’enregistrer l’installation pour garder une trace pour rĂ©fĂ©rence future.

enregistrer

On configure une redirection de port afin de pouvoir se 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

Ajouter la configuration suivante:

redirection

Ensuite, sĂ©lectionner Afficher depuis l’écran d’accueil. Ceci dĂ©marre l’installation du systĂšme d’exploitation.

configuration de base

SĂ©lectionner l’image ISO du systĂšme Debian 10 tĂ©lĂ©chargĂ©e prĂ©alablement.

image ISO

image ISO

DĂ©marrer l’installation

installation

🌘 Installation de Debian

On installe le systĂšme Debian sur la machine virtuelle.

Choisir l’option “install” comme on n’installe pas un systùme avec une interface graphique.

install

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

langue

Choisissez le pays

pays

Choisissez la disposition de clavier

disposition de clavier

Nom de machine: nextcloud

Mot de passe root: nextcloud

machine

Utilisateur: demo

Utilisateur

Mot de passe: demo

Mot de passe

Choisissez le partitionnement assisté

partitionnement assisté

Choisissez tout dans une seule partition

une seule partition

Choisissez terminer et appliquer tous les changements

appliquer

Choisissez “oui”

démarrage installation

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

Choisissez le pays pour un miroir. Ici, c’est la proximitĂ© gĂ©ographique qui est la plus importante.

pays du miroir

Choisissez ensuite un miroir pour télécharger les packages additionnels de Debian qui seront installés.

miroir

Laissez le champ du mandataire vide sauf si applicable (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, il faut répondre à une invite sur popularity-contest. Le choix recommandé est Non.

popularity-contest

L’installation se poursuivra par la suite. On aura Ă  choisir diffĂ©rentes options. On rĂ©duit ces options au minimum, car Yunohost a son propre script d’installation qui se chargera du reste.

sélection logicielle

SĂ©lectionner “oui” pour l’installation du systĂšme d’amorçage.
sélection logicielle

Choisir le disque /dev/sda

sélection logicielle

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, on utilise le port configurĂ© lors de la crĂ©ation de la machine virtuelle ainsi que l’utilisateur demo.

Dans un terminal, saisir:

ssh -p 3022 demo@localhost

S’authentifier avec le mot de passe demo

Avec PuTTY

putty hote
putty user

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

Nous sommes maintenant connectĂ©s en tant qu’administrateur sur la machine virtuelle Debian 10 et prĂȘts Ă  installer Yunohost.

(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

Note: Dans un terminal, l’invite de commandes est prĂ©cĂ©dĂ©e d’un diĂšse, lorsque connectĂ© en root.

🌘 Installation de screen (optionnel)

Pour rouler des commandes qui prennent un temps considĂ©rable Ă  exĂ©cuter, il est recommandĂ© d’utiliser des sessions screen, qui permettent de garder une session active sur le serveur mĂȘme si la connexion fait dĂ©faut.

sudo apt install -y screen

Pour la suite de ce tutoriel, on assume que la section d’introduction du manuel de screen ou les principales fonctionnalitĂ©s sont connues.

🌘 Installation de Yunohost

Exécuter les commandes suivantes en tant que root

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

Lancez l’installation

débuter installation

Laisser Yunohost gĂ©rer le SSH. À la prochaine connexion, l’utilisateur administrateur sera admin. C’est un rĂŽle intermĂ©diaire entre demo et root en termes de permissions.

gestion ssh

Une fois l’installation terminĂ©e, il faut effectuer la postinstallation.

Un nom de domaine est requis pour l’installation. On utilisera nextcloud.local.

Le mot de passe d’administration sera nextcloud.

On crée un premier utilisateur utilisateur

yunohost user create utilisateur

Le résultat est:

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 le rĂ©seau local

On configure maintenant la machine virtuelle en mode “pont” afin qu’elle ait sa propre adresse IP. Le nom de domaine pourra ĂȘtre associĂ© Ă  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).

réseau pont

Ensuite, redémarrer la machine virtuelle depuis VirtualBox (Menu Machine/Redémarrage).

Une fois redĂ©marrĂ©, l’affichage VirtualBox de la machine virtuelle affiche son adresse IP. Dans cet exemple, c’est 192.168.0.151.

réseau pont

Dans la configuration de routeur DHCP Ă  la maison, figer cette adresse. Voici un exemple pour un routeur D-Link.

figer IP

On ajoute le domaine au fichier “hosts”.

Ajouter la ligne suivante au fichier (changer selon l’adresse IP de la machine virtuelle):

192.168.0.151 nextcloud.local

On se connecte à l’instance Yunohost via l’adresse https://nextcloud.local dans le navigateur. Attention, ça va demander d’accepter le risque d’une adresse sans certificat valide.

accepter HTTPS

Une fois arrivĂ© Ă  la fenĂȘtre de connexion, on entre utilisateur et nextcloud

connexion

Nous avons rĂ©ussi ! L’installation de Yunohost est fonctionnelle.

accueil yunohost

🌘 Installation de Nextcloud

On se connecte en SSH sur le serveur en utilisant le domaine cette fois-ci.

ssh -p 22 admin@nextcloud.local

On installe une instance de Nextcloud.

sudo yunohost app install nextcloud

On conserve les paramĂštres par dĂ©faut proposĂ©s Ă  moins d’utiliser un sous-domaine. Les paramĂštres de l’installation devraient ressembler Ă  ceci.

Choose the domain where this app should be installed [nextcloud.local] (default: nextcloud.local): 
Choose the path where this app should be installed (default: /nextcloud): 
Choose an administrator user for this app [utilisateur] (default: utilisateur): 
Access the users home folder from Nextcloud? [yes | no] (default: no):

🌘 Validation de l’installation

Pour s’assurer que l’installation de Nextcloud est bien fonctionnelle, ouvrez l’URL suivante dans le navigateur: https://nextcloud.local/nextcloud

Interface Nextcloud

🌘 Installation d’Elasticsearch

On installe Elasticsearch comme moteur de recherche en plein texte

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https openjdk-11-jre-headless
echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
sudo apt-get update && sudo apt-get install elasticsearch

Il faut maintenant mettre en place et activer le service pour qu’Elasticsearch roule en arriùre-plan.

sudo systemctl enable elasticsearch.service

Enfin, il faut installer et activer le plug-in d’indexations de documents pour Elasticsearch

/usr/share/elasticsearch/bin/elasticsearch-plugin install --batch ingest-attachment

Pour terminer, on redémarre le service

sudo systemctl restart elasticsearch.service

🌘 Installation de l’moteur de recherche plein texte de Nextcloud

Depuis le navigateur web, ouvrir l’URL suivante: https://nextcloud.local/nextcloud/settings/apps

Dans la section Rechercher, cliquez sur télécharger et activer pour les trois applications suivantes:

applications recherche en plein texte

Maintenant, allons dans la section ParamÚtres de Nextcloud pour configurer ces applications. Sélectionner Elasticsearch comme plateforme de recherche.

Indiquer http://localhost:9200 comme adresse du Servlet et nc_index comme index

Configuration full text search

🌘 Initialiser l’index

Depuis la session SSH, idĂ©alement dans un screen, on initialise l’index Elasticsearch. ExĂ©cuter en tant que root.

cd /var/www/nextcloud
chmod a+x occ
sudo -u nextcloud php ./occ fulltextsearch:index

initialiser l'index

🌘 Activer l’indexation en continu

Tous les nouveaux documents ajoutĂ©s dans Nextcloud devraient ĂȘtre indexĂ©s. Pour ce faire, on crĂ©e un service dans systemd qui permet l’indexation en continu.

Avec un Ă©diteur de texte, ouvrir et modifier le fichier “unit” du service.

sudo nano /etc/systemd/system/nextcloud-fulltext-elasticsearch-worker.service

Insérer le contenu suivant:

[Unit]
Description=Elasticsearch Worker for Nextcloud Fulltext Search
After=network.target

[Service]
User=nextcloud
Group=nextcloud
WorkingDirectory=/var/www/nextcloud
ExecStart=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:live -q
ExecStop=/usr/bin/php /var/www/nextcloud/occ fulltextsearch:stop
Nice=19
Restart=always

[Install]
WantedBy=multi-user.target

AprĂšs avoir modifiĂ© un fichier “unit” il faut recharger systemd avant d’activer et de dĂ©marrer le service.

systemctl daemon-reload
systemctl enable nextcloud-fulltext-elasticsearch-worker.service
systemctl start nextcloud-fulltext-elasticsearch-worker.service

Vérifier ensuite que le service est bien activé:

systemctl status nextcloud-fulltext-elasticsearch-worker.service

service d'indexation en continu

On peut utiliser la recherche en plein texte depuis l’URL suivante: https://nextcloud.local/nextcloud/apps/fulltextsearch/

exemple recherche