Installation d'une application non packagé sur yunohost

Installation de GRR sur Yunohost

Utilisation de Custom Web APP

Yunohost c'est bien pratique! Mais tout les logiciels web disponible sur internet ne sont pas forcément dans la liste des applications disponibles sur Yunohost. Si vous êtes dans cette situation, il y a alors deux solution:

  1. Créer le package pour cette application ce qui n'est pas forcément évident
  2. Utiliser l'application Custom Web APP qui va créer une base solide pour l'installation de votre application
  3. Allez directement modifier les fichier de configuration de NGINX, SQL … comme on le ferai sur un serveur sans Yunohost

La première solution est bien sur la meilleur, car cela participe au projet Yunohost. Prérequis:

La troisième est plutôt déconseillé, allez modifier directement les fichiers de configuration risque de rendre Yunohost instable

Cette doc parle donc de la deuxième solution:

Prérequis: savoir installer le logiciel en question sans yunohost

Cette documentation traite d'un cas assez simple GRR.

GRR (Gestion et réservation de ressources) est un logiciel libre (GNU GPL v2)
Développer par le team https://site.devome.com/fr/

Le site de GRR https://site.devome.com/fr/grr3

Les prerequis pour installé GRR

Commençons par installer l'application Custom Web App (via la moulinettte ou l'interface web) comme n'importe quelle autre application :

Libellé : non afficher dans yunohost : GRR Choisir le domaine ainsi que le chemin (/ pour l'installer à la racine):

Le site sera accessible à l'adresse domaine/chemin

Définir un mot de passe, ce mot de passe est important, c'est à la fois le mot de passe pour accéder à l'utilisateur, le mot de passe de la base de donnée…

Le site est il public :

si la case est cocher, le site est accessible à tout le monde sinon il faudra s'identifier via le SSO de yunohost

Avez vous besoin d'une base SQL : oui dans notre cas

Quel est le résultat ?

Si vous vous connecté sur la page domaine/chemin, vous récupérer un nom d'utilisateur et un domaine (le domaine principale de yunohost)

le nom d'utilisateur et le domaine principal permettent de se connecter en sftp (mais pas en ssh).

sftp webapp1@domaineprincipal

Vous pouvez utiliser un client sftp, FileZilla par exemple.

Cette application créer l'utilisateur UNIX webapp1 (si vous avez plusieurs Custom Web App, l'utilisateur sera différent) avec le mot de passe saisi lors de l'installation.

Le dossier personnel de cette utilisateur est /var/www/my_webapp (un suffix __numero est ajouter pour les custom web apps suivante)

Une base de donnée est aussi créer ainsi qu'un utilisateur avec tout les droit dessus. Tout les informations sur le base SQL sont enregistrer dans le fichier db_acces.txt situé dans /var/www/my_webapp (ce fichier peut être supprimer une fois les informations récupérer)

un dossier nommé www est créer dans le dossier /var/www/my_webapp/ nginx (serveur web de yunohost) pointe dessus, c'est donc ici qu'il faut placer les fichiers du logiciel

Il contient le fichier index.html qui nous a permit de récupérer les informations de connection ssh

Ce fichier peut lui aussi être supprimé

Transmettre l'ensemble de ces informations à autrui reviens à lui fournir un espace web avec une basse de donnés plutôt imperméable par rapport au reste de votre serveur, cela peut être intéressant, attention néanmoins vous n'avez aucune maîtrise de l'espace disque et des ressources qu'il va utiliser

Installation de GRR

On télécharge le logiciel et la documentation

https://site.devome.com/fr/grr/telechargement

La documentation semble correspondre à la version 1.9, le logiciel est en version 3.3.

En résumer:

décompresser l'archive modifier le fichier de configuration config.inc.php situé dans le dossier include

transferer les fichiers en sftp

post-installation : se rendre sur l'adresse du site

configurer la base sql avec les donnée de db_acces

Bug Grr n'aime pas les base de donné avec des _ dedans

2 solutions :

fork de CustomwebApp , suppression du caractère _ dans manifest.json et insallation de l'apps personalisé

création d'une base avec phpmyadmin et donner les droit à l'utilisateur mywebapp

Cas de config ssh particulières

Si vous avez désactiver l'authentifcation par mot de passe en ssh, ou limité les utilisateur autorisé en ssh, vous ne pouvez pas vous connecter en sftp

Vous pouvez vous connecter en ssh avec votre utilisateur habituel puis vous connecter en tant que l'utilisateur webapp1, en utilisant su

su webapp1

L'utilisation d'un client sftp n'est donc pas possible, il va falloir jouer du scp, chown, chmod, …

Point sur les droits des fichiers

Le dossier /var/www/my_webapp appartient a root

Tout sont contenu appartient à l'utilisateur webapp1, c'est donc le résultat à obtenir par la suite.