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:
- Créer le package pour cette application ce qui n'est pas forcément évident
- Utiliser l'application Custom Web APP qui va créer une base solide pour l'installation de votre application
- 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:
- connaisances en bassh,
- appréhender le fonctionnement du packaging sur yunohost,
- du temps,
- voir de l'engagement dans la durée si on veut maintenir le paquet
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
- Serveur php
- Base SQL
- gestion des droits sur les dossier
- tache cron
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.