Yunohost - Consulter le contenu des tables de la base de données
8 avril 2020 09:00 3 messagesTAGS : Planet Libre Yunohost
Yunohost utilise MariaDB comme base de données pour la plupart des applications et fait donc tourner ce serveur en local. Il peut être intéressant (par curiosité) ou utile (mais dans ce cas là, il faut savoir ce que l’on fait) de pouvoir consulter les tables des différentes base de données (généralement une par application en nécessitant une).
PHPMyAdmin
Quand on pense base de données et site ou applications web, on pense à Phpmyadmin. Ce logiciel existe depuis 1998, est fourni par défaut dans l’application WAMP (ah mes débuts de développement de site web sous SPIP sous Windows dans les années 2000) et assez pratique et utile. Le problème est la sécurité. Il faut maintenir cette application à jour et surtout la sécuriser.
Ca tombe bien, l’ami SebOSS666 a fait un tutoriel à ce sujet : Quelles méthodes pour protéger un accès PHPMyAdmin ?
Yunohost a un paquet pour Phpmyadmin maintenue par l’ami JimboJoe, il faudra que je regarde quel est l’état de la sécurisation et si une contribution est nécessaire.
Dbeaver
Merci à Nolween pour m’avoir fait découvrir cet outil via un de ces toots sur Mastodon.
Dbeaver est un logiciel libre multiplateforme (disponible pour Ubuntu et Windows) https://dbeaver.io/download/. Il s’agit d’un logiciel client pour différentes bases de données : MySQL, PostgreSQL, SQLite, Oracle, DB2, SQL Server...
Une fois installé sur un PC, il va falloir se connecter à la base de données derrière Yunohost. Cette base de données n’écoute qu’en local, sur un serveur. Le logiciel client Dbeaver tourne sur un PC...
Une solution pour établir une connexion sécurisée est donc de passer par un tunnel SSH, qui va permettre d’avoir une connexion sur le port d’écoute de la base de données sur le serveur, que l’on expose au client.
On lance donc un tunnel SSH sur la machine cliente (et on laissera le tunnel ouvert)
ssh mamachine.org -L 3306:127.0.0.1:3306 -N
avec les options -L qui permet de connecter un port distant à port local, -N pour indiquer la redirection de port.
On lance ensuite DBeaver en indiquant comme serveur "127.0.0.1". Et pour l’utilisateur, ce sera "root".
Il faut aller trouver le mot de passe de mysql sur la machine Yunohost, il est contenu dans le fichier /etc/yunohost/mysql.
Et on est alors connecté avec DBeaver.
Dans la même rubrique
26 avril 2021 – Voir les mails de Yunohost dans Nextcloud
25 janvier 2021 – Nginx de Yunohost en reverse proxy
10 novembre 2020 – Yunohost - Les mails ne marchent plus d’un seul coup
3 septembre 2020 – De la dépendance d’une instance Yunohost au serveur de Yunohost
24 juin 2020 – Yunohost - Les mails d’administration système et mails automatiques
3 Messages
Yunohost - Consulter le contenu des tables de la base de données, AP | 8 avril 2020 - 14:54 1
En concurrent de phpMyAdmin, citons l’excellent "adminer", qui fait facilement 90% du boulot de phpMyAdmin en *un* fichier .php. 1. On le récupère sur le site officiel (https://adminer.org, plusieurs variantes sont disponibles selon qu’on veut du multi-moteurs, MySQL/MariaDB uniquement, multilingue ou anglais uniquement), 2. on le pose là où on veut dans l’arborescence du serveur web (qui doit quand même gérer le PHP et avoir les modules php-mysql qui vont bien) et 3. on y accède via l’URL correspondante et hop : on précise la base, le compte, le mot de passe et c’est parti. L’avantage de cette légèreté (un ficher .php et hop !) est que les mises à jour sont simples, rapides et aisément réversibles.
Méfiance cela-dit avec ces outils web, surtout sur des serveurs exposés car ils sont très recherchés par les traqueurs de vulnérabilités. Les conseils de SebOSS666 relatifs à phpMyAdmin sont également applicables à adminer (à commencer par une URL bien difficile à deviner).
Yunohost - Consulter le contenu des tables de la base de données, Makoto | 16 avril 2020 - 19:12 2
Super DBeaver,
Merci pour le tuyau et le coup du tunnel ssh, nice :)
Yunohost - Consulter le contenu des tables de la base de données, nicofrand | 28 mai 2020 - 08:58 3
Bonjour,
certaines applications utilisent également Postgresql (Synapse, Kresus notamment) et il existe un paquet pgadmin pour YunoHost qui est terriblement efficace : j’en ai eu besoin pour créer une base manuellement, et une fois installée, tout est détecté, le seul inconvénient étant qu’il faut créer un autre utilisateur admin.
Pour la sécurité du paquet j’avoue ne pas avoir trop regardé, j’espère que la base n’est accessible que localement…