ajout de la documentation pour Elasticsearch et Full Text Search
This commit is contained in:
parent
57004db5ba
commit
362ae91903
7 changed files with 155 additions and 50 deletions
|
@ -1,6 +1,4 @@
|
|||
# Installation
|
||||
|
||||
## Installation du serveur Nextcloud
|
||||
# Installation des applications et des clients
|
||||
|
||||
## Installation des applications
|
||||
|
||||
|
@ -52,44 +50,4 @@ apk add nextcloud-client
|
|||
Le client principal et ceux pour les applications sont aussi disponibles directement depuis la page Applications, section Intégration
|
||||
|
||||
- [Android](https://apps.nextcloud.com/categories/integration?search=android)
|
||||
- [iOS](https://apps.nextcloud.com/categories/integration?search=iOS)
|
||||
|
||||
## Installation de l'application Nextcloud pour Full Text Search
|
||||
|
||||
https://apps.nextcloud.com/apps/fulltextsearch_elasticsearch
|
||||
|
||||
## Installation Elasticsearch
|
||||
|
||||
```bash
|
||||
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
|
||||
```
|
||||
|
||||
```bash
|
||||
Démarrer le service Elasticsearch
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo systemctl enable elasticsearch.service
|
||||
sudo systemctl restart elasticsearch.service
|
||||
```
|
||||
|
||||
## Installation de Kibana sur mon instance Yunohost
|
||||
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get install kibana
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo /bin/systemctl daemon-reload
|
||||
sudo /bin/systemctl enable kibana.service
|
||||
sudo systemctl start kibana.service
|
||||
```
|
||||
|
||||
```bash
|
||||
sudo yunohost app install redirect --args "domain=kibana.francoispelletier.org" -l "Kibana"
|
||||
#Redirect destination path (default: http://127.0.0.1): http://127.0.0.1:5601
|
||||
#Redirect type [public_302 | public_301 | public_proxy | private_proxy] (default: public_302): private_proxy
|
||||
```
|
||||
- [iOS](https://apps.nextcloud.com/categories/integration?search=iOS)
|
BIN
Nextcloud-Installation-VirtualBox-045.png
Normal file
BIN
Nextcloud-Installation-VirtualBox-045.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 265 KiB |
BIN
Nextcloud-Installation-VirtualBox-046.png
Normal file
BIN
Nextcloud-Installation-VirtualBox-046.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 126 KiB |
BIN
Nextcloud-Installation-VirtualBox-047.png
Normal file
BIN
Nextcloud-Installation-VirtualBox-047.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 135 KiB |
BIN
Nextcloud-Installation-VirtualBox-048.png
Normal file
BIN
Nextcloud-Installation-VirtualBox-048.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
Nextcloud-Installation-VirtualBox-049.png
Normal file
BIN
Nextcloud-Installation-VirtualBox-049.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 36 KiB |
|
@ -198,6 +198,16 @@ Avec PuTTY:
|
|||
|
||||
Avec un terminal, vous verrez un invite de commandes précédé d'un dièse lorsque connecté en root.
|
||||
|
||||
## Installation de screen (optionnel)
|
||||
|
||||
Comme nous allons rouler des commandes qui prennent un temps considérable à exécuter, nous allons utiliser screen, qui permet de garder une session active sur le serveur même si la connexion fait défaut.
|
||||
|
||||
```bash
|
||||
sudo apt install -y screen
|
||||
```
|
||||
|
||||
Pour la suite de ce tutoriel, si vous choisissez d'utiliser screen, nous allons assumer que vous avez lu la [section d'introduction du manuel](https://www.gnu.org/software/screen/manual/screen.html#Getting-Started).
|
||||
|
||||
## Installation de Yunohost
|
||||
|
||||
Exécuter les commandes suivantes en tant que root
|
||||
|
@ -254,9 +264,10 @@ Dans notre configuration de routeur DHCP à la maison, nous allons figer cette a
|
|||
|
||||
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`
|
||||
- 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
|
||||
|
@ -265,12 +276,148 @@ Ajouter la ligne suivante au fichier (Changer selon l'adressse IP de votre machi
|
|||
|
||||
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)
|
||||
![accepter https](Nextcloud-Installation-VirtualBox-042.png)
|
||||
|
||||
Une fois arrivé à la fenêtre de connexion, entrez `utilisateur` et `nextcloud`
|
||||
|
||||
![figer IP](Nextcloud-Installation-VirtualBox-043.png)
|
||||
![connexion](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)
|
||||
![accueil yunohost](Nextcloud-Installation-VirtualBox-044.png)
|
||||
|
||||
## Installation de Nextcloud
|
||||
|
||||
On se connecte en SSH sur le serveur en utilisant le domaine cette fois-ci.
|
||||
|
||||
```bash
|
||||
ssh -p 22 admin@nextcloud.local
|
||||
```
|
||||
|
||||
On installe une instance de Nextcloud.
|
||||
|
||||
```
|
||||
sudo yunohost app install nextcloud
|
||||
```
|
||||
|
||||
Vous pouvez conserver les paramètres par défaut proposés à monis que vous désiriez utiliser un sous-domaine. Les paramètres de l'installation devraient ressembler à ceci.
|
||||
|
||||
```text
|
||||
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 vous assurer que l'installation de Nextcloud est bien fonctionnelle, ouvrez l'URL suivante dans votre navigateur: `https://nextcloud.local/nextcloud`
|
||||
|
||||
![Interface Nextcloud](Nextcloud-Installation-VirtualBox-045.png)
|
||||
|
||||
## Installation d'Elasticsearch
|
||||
|
||||
Nous allons installer Elasticsearch comme engin de recherche plein texte
|
||||
|
||||
```bash
|
||||
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.
|
||||
|
||||
```bash
|
||||
sudo systemctl enable elasticsearch.service
|
||||
```
|
||||
|
||||
Enfin, nous allons installer et activer le plugin d'indexations de documents pour Elasticsearch
|
||||
|
||||
```bash
|
||||
/usr/share/elasticsearch/bin/elasticsearch-plugin install --batch ingest-attachment
|
||||
```
|
||||
|
||||
Pour terminer, on redémarre le service
|
||||
|
||||
```bash
|
||||
sudo systemctl restart elasticsearch.service
|
||||
```
|
||||
|
||||
## Installation de l'engin 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:
|
||||
|
||||
- Full text search
|
||||
- Full text search - Files
|
||||
- Full text search - Elasticsearch Platform
|
||||
|
||||
![applications full text search](Nextcloud-Installation-VirtualBox-046.png)
|
||||
|
||||
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](Nextcloud-Installation-VirtualBox-047.png)
|
||||
|
||||
## Initialiser l'index
|
||||
|
||||
Depuis la session SSH, idéalement dans un screen, nous allons initialiser l'index Elasticsearch. Exécuter en tant que root.
|
||||
|
||||
```bash
|
||||
cd /var/www/nextcloud
|
||||
chmod a+x occ
|
||||
sudo -u nextcloud php ./occ fulltextsearch:index
|
||||
```
|
||||
|
||||
![initialiser l'index](Nextcloud-Installation-VirtualBox-048.png)
|
||||
|
||||
## Activer l'indexation en continu
|
||||
|
||||
Nous souhaitons que tous les nouveaux documents ajoutés dans Nextcloud soit indexés. Pour ce faire, nous allons créer un service dans systemd qui permet l'indexation en continu.
|
||||
|
||||
Avec un éditeur de texte, ouvrir et modifier le fichier "unit" du service.
|
||||
|
||||
```bash
|
||||
sudo nano /etc/systemd/system/nextcloud-fulltext-elasticsearch-worker.service
|
||||
```
|
||||
|
||||
Insérer le contenu suivant:
|
||||
|
||||
```text
|
||||
[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
|
||||
```
|
||||
|
||||
Activer et démarrer le service
|
||||
|
||||
```bash
|
||||
systemctl daemon-reload
|
||||
systemctl enable nextcloud-fulltext-elasticsearch-worker.service
|
||||
systemctl start nextcloud-fulltext-elasticsearch-worker.service
|
||||
```
|
||||
|
||||
Valider que le service est bien activé
|
||||
|
||||
```bash
|
||||
systemctl status nextcloud-fulltext-elasticsearch-worker.service
|
||||
```
|
||||
|
||||
![service d'indexation en continu](Nextcloud-Installation-VirtualBox-049.png)
|
||||
|
||||
On peut utiliser la recherche plein texte depuis l'URL suivante: `https://nextcloud.local/nextcloud/apps/fulltextsearch/`
|
Loading…
Reference in a new issue