DiouxX / docker-glpi

Project to deploy GLPI with docker
233 stars 183 forks source link

Cannot connect to database server #63

Closed jlgarnier closed 2 years ago

jlgarnier commented 2 years ago

Hi all,

Just gave a try to the tool using "Deploy with persistence data" scenario. Installation went smooth and I got immediate access to the installation wizard. When asked to connect to the database, I enter:

Did anyone else stumble of this issue at first launch?

Thanks in advance for any help!

Edit: I alternatively get "No route to host" message...

DiouxX commented 2 years ago

Hi,

I tried with "Deploy with persistence data" scenario and I don't occur any error for connect glpi to database.

Can you provide your config file ?

jlgarnier commented 2 years ago

The YAML file is exactly the same:

version: "3.2"

services:
#MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: glpi-db
    hostname: mariadb
    volumes:
      - /srv/dev-disk-by-label-omvdata/docker/glpi/mysql:/var/lib/mysql
    env_file:
      - ./mariadb.env
    restart: always

#GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi-app
    hostname: glpi
    ports:
      - "14000:80"
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - /srv/dev-disk-by-label-omvdata/docker/glpi/html:/var/www/html/glpi
    environment:
      - TIMEZONE=Europe/Paris
    restart: always

as is the config file:

MARIADB_ROOT_PASSWORD=R00tP4ssw0rd
MARIADB_DATABASE=glpidb
MARIADB_USER=glpi_user
MARIADB_PASSWORD=glpi

I'm using the above parameters to fill the connection form: Capture d’écran 2022-06-21 131024

Where am I wrong?

Thanks in advance for your help!

jlgarnier commented 2 years ago

Hi @DiouxX , Did you find any clue in the information I returned? I'm still getting this weird "Impossible de se connecter à la base de données Le serveur a répondu : php_network_getaddresses: getaddrinfo failed: Name or service not known" error... 🤔 Thanks in advance for any help!

Antoine2tt commented 2 years ago

Hi @jlgarnier

Let's speak French ; )

J'ai vu que vous étiez Français, ce sera plus simple pour nous deux je pense :p

Qu'avez-vous mis en adresse de connexion ? J'ai eu le même problème que vous, et j'ai réussi a le résoudre

jlgarnier commented 2 years ago

Bonjour Antoine ! Merci pour le message 😉

Comme vous l'avez vu, le montage du container est on ne peut plus simple ! Je laisse la stack (créée dans Portainer) se déployer tranquillement et je me connecte sur :14000. Là, aucune IHM n'apparait, mais j'obtiens un message d'erreur "Error accessing config table", qui est donc nouveau par rapport à mon dernier message ! Curieux... 🤔

Je peux essayer de supprimer la stack et de la recréer avec les mêmes fichiers de configuration si besoin.

Merci d'avance pour vos conseils !

Antoine2tt commented 2 years ago

Bien le re-bonjour ;)

Me concernant voici mon compose :

services:
#MariaDB Container
  mariadb:
    image: mariadb:10.7
    container_name: mariadb
    hostname: mariadb
    volumes:
      - ./mysql:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro  
    environment:
      MARIADB_ROOT_PASSWORD: SuperMotDePasseRoot
      MARIADB_USER: glpi_user
      MARIADB_PASSWORD: SuperMotDePasseAdmin
      MARIADB_DATABASE: glpi

#GLPI Container
  glpi:
    image: diouxx/glpi
    container_name : glpi
    hostname: glpi
    ports:
      - "3003:80"
    volumes:
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
      - ./glpi:/var/www/html/glpi
    environment:
      - TIMEZONE=Europe/Paris

J'ai opté plutôt pour avoir les variables MariaDB dans le compose directement, bon après les goûts et les couleurs ;)

J'vais aussi l'impression de que le fichier .env n'était pas pris en compte de mon côté, ça explique aussi mon choix de tout mettre dans le compose

Après avoir fait ça, j'ai supprimé le volume ./mysql en plus d'avoir fais un docker-compose up -d --force-recreate

Afin de bien être sur que mariadb comprenne que je veux le refaire de from skratch !

En suite, j'ai bien pu installé avec succès GLPI

Peut être que vous pourriez retirer la variable hostname ? Je pense que les noms de "service" sont amplement suffisent (sauf si vous en avez besoin autre part...)

En espérant vous avoir aidé !

jlgarnier commented 2 years ago

Super ! J'ai un rdv chez le médecin et je mets en oeuvre votre configuration dès mon retour ! A tout à l'heure !

jlgarnier commented 2 years ago

De retour plus tôt que prévu... Je viens de détruire l'ancienne stack et l'ai recréée conformément à votre configuration. Installation et lancement = OK, mais la connexion au serveur donne ça : Capture d’écran 2022-07-05 102146

Quelques erreurs trouvées dans les logs : glpi-db log

2022-07-05 10:23:51 0 [ERROR] InnoDB: Invalid flags 0x4800 in ./ibdata1
2022-07-05 10:23:51 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
2022-07-05 10:23:51 0 [Note] InnoDB: Starting shutdown...
2022-07-05 10:23:52 0 [ERROR] Plugin 'InnoDB' init function returned error.
2022-07-05 10:23:52 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2022-07-05 10:23:52 0 [Note] Plugin 'FEEDBACK' is disabled.
2022-07-05 10:23:52 0 [ERROR] Could not open mysql.plugin table: "Table 'mysql.plugin' doesn't exist". Some plugins may be not loaded
2022-07-05 10:23:52 0 [ERROR] Unknown/unsupported storage engine: InnoDB
2022-07-05 10:23:52 0 [ERROR] Aborting

glpi-app log

TLS_REQCERT isn't present
GLPI is already installed
Starting periodic command scheduler: cron.
Enabling module rewrite.
To activate the new configuration, you need to run:
  service apache2 restart

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.31.0.3. Set the 'ServerName' directive globally to suppress this message
Restarting Apache httpd web server: apache2.
Stopping Apache httpd web server: apache2.
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.31.0.3. Set the 'ServerName' directive globally to suppress this message

Un bon nettoyage semble nécessaire, non ? J'avais pourtant bien supprimé tous les volumes utilisés par l'ancienne stack...

Antoine2tt commented 2 years ago

Hum effectivement...

De vous à moi, j'évite totalement l'utilisation de Portainer (si j'ai bien compris c'est ce que vous utilisez ?) pour justement avoir la main à 100% sur ce que je fais (mais je ne remet pas en cause que cela reste un très bon outil !)

Avez-vous la possibilité de vérifier tout ce qu'il se passe directement en SSH ? Histoire de faire comme vous dite un bon nettoyage tout en gardant le compose comme il se trouve ?

jlgarnier commented 2 years ago

C'est bien mieux ! 😉 Capture d’écran 2022-07-05 133347

Donc, là :

Antoine2tt commented 2 years ago

Ah ! un peu de couleur ça fait plaisir !

Serveur SQL = mariadb

Le reste est bon :D

Tenez moi au courant

jlgarnier commented 2 years ago

Et voilà le résultat : Capture d’écran 2022-07-05 150159

Merci infiniment pour votre aide, je vais pouvoir enfin jouer un peu avec cet outil prometteur ! 👏👏

Antoine2tt commented 2 years ago

Un plaisir ! Bonne continuation