Aller au contenu

WordPress & mySQL


N.A.S.

Messages recommandés

Posté(e)

Bonjour,

J'avais installé deux conteneurs avec WordPress et mySQL, j'avais pas vraiment eu de soucis. Ayant fait pété mon WordPress avec des tests (je découvre), j'ai donc supprimé et refait mes conteneurs. Hors, il m'est impossible de refaire ça sans difficultés. Le message de WordPress dans son Terminal est :

MySQL Connection Error: (2002) Connection refused

Quelqu'un aurait-il un Tuto, une idée ou autre svp ?

 

J'ai lu les docs et cherché sur Google mais je ne sais pas ce qui m'échappe.

Merci.

Posté(e)

Tu as une raison particulière de ne pas utiliser l'application MariaDB du NAS pour MySQL ?

Sinon pour faire au plus simple, tu crées un réseau bridge personnalisé, voir partie Avant de se lancer de ce tutoriel.
A la création de tes conteneurs, tu les adjoints au réseau que tu viens de créer. Ils pourront accéder l'un à l'autre par leur nom de conteneur, typiquement depuis Wordpress, la base de données sera accessible à l'adresse : http://mysql:3306 (en supposant que le nom du conteneur MySQL soit : mysql).

Posté(e)
Le 24/01/2021 à 08:21, DaffY a dit :

Bonjour,

Dans ton conteneur y’a php et le profile est correctement renseigné pour accéder à Mariadb?

Bonjour,

Je pense que tu parles du conteneur WordPress, je ne sais pas comment vérifier cela.

Par contre j'ai testé avec un docker-compose qui fonctionne chez un ami et impossible de faire fonctionner tout ça. Avec un navigateur, quand je vais sur l'adresse du NAS en indiquant le port de WordPress, le site reste inaccessible. A priori la BDD est ok c'est WordPress qui n'arrive pas à s'y connecter.

Dans le Terminal du conteneur de WordPress, j'ai ceci :

[26-Jan-2021 17:50:14 UTC] PHP Warning:  mysqli::__construct(): php_network_getaddresses: getaddrinfo failed: No address associated
 with hostname in Standard input code on line 22                                                                                   
[26-Jan-2021 17:50:14 UTC] PHP Warning:  mysqli::__construct(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: No addr
ess associated with hostname in Standard input code on line 22                                                                     
                                                                                                                                   
MySQL Connection Error: (2002) php_network_getaddresses: getaddrinfo failed: No address associated with hostname

J'ai utilisé ces 2 variables d'environnement : WORDPRESS_DB_USER & WORDPRESS_DB_PASSWORD. WORDPRESS_DB_HOST, a priori, n'est pas utile.

Je tourne en rond depuis des jours, désolé pour la réponse un peu tardive et merci pour vos réponses.

Le 24/01/2021 à 08:23, .Shad. a dit :

Tu as une raison particulière de ne pas utiliser l'application MariaDB du NAS pour MySQL ?

Sinon pour faire au plus simple, tu crées un réseau bridge personnalisé, voir partie Avant de se lancer de ce tutoriel.
A la création de tes conteneurs, tu les adjoints au réseau que tu viens de créer. Ils pourront accéder l'un à l'autre par leur nom de conteneur, typiquement depuis Wordpress, la base de données sera accessible à l'adresse : http://mysql:3306 (en supposant que le nom du conteneur MySQL soit : mysql).

Alors, de manière générale je ne préfère pas utiliser les paquets du NAS. C'est ce que je faisais avant mais, surtout depuis Docker, je préfère éviter. Le plus gros problème de ces paquets c'est que tu sais plus qui à besoin de quoi au bout d'un moment.

Pour la seconde partie de ton message, oui c'est ce qui me semble, ils sont tous les deux en bridge. Bien que la première fois quand je l'ai mis en place (et que ça fonctionné, il me semble avoir mis un des deux en host).

Posté(e)

Tu es sûr de bien m'avoir lu ? Je parle d'un bridge personnalisé, pas le bridge par défaut.

Je ne vois pas en quoi la variable WORDPRESS_DB_HOST n'est pas utile, c'est sûrement seulement le cas si WordPress et MySQL sont sur le même hôte, car ça pointe sûrement par défaut sur la boucle locale. Ce n'est pas du tout ton cas ici, ou alors les deux conteneurs doivent être en mode host.

Et un conteneur ne peut pas être simultanément en bridge et en host.

Si tu suis mes instructions ça fonctionnera.

Posté(e)

Oui effectivement en répondant à DaffY j'ai oublié d'allez voir ton lien.

Alors j'ai fait ce que tu dis et maintenant WordPress me retourne cette erreur

MySQL Connection Error: (2002) Connection refused 

Du coup, pour être sur, je met quelle valeur à cette variable : WORDPRESS_DB_HOST ?

Posté(e)

Alors j'ai vérifié, j'ai bien créé un bridge perso, j'ai mis les mêmes valeurs que toi et on voit bien mes deux conteneurs dans la liste de ce bridge.

Dans les logs WordPress, j'ai cette erreur :

 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message

Je sais pas quoi faire avec ce ServerName.

 

Voici ma conf de variable d'environnement :

MYSQL_USER wordpress
MYSQL_PASSWORD wordpress
MYSQL_DATABASE wordpress
MYSQL_ROOT_PASSWORD mdp

WORDPRESS_DB_HOST mariadb
WORDPRESS_DB_USER wordpress
WORDPRESS_DB_PASSWORD wordpress
WORDPRESS_DB_NAME wordpress

Quand je clic sur l'onglet Terminal, le conteneur affiche un message d'erreur et se ferme.

Posté(e)

Alors j'ai parcouru l'article de ton lien mais je ne vois aucune référence au FQDN, enfin le terme n'est pas utilisé.

Est-ce que tu pourrais me dire où je doit aller sur le DSM pour faire cette manipulation stp ?

Posté(e)

Par curiosité je viens de tester d'installer Wordpress sur mon VPS.
Ca marche très bien. On se fiche du paramètre Servername au final.

Qu'est-ce qui ne fonctionne pas dans ton installation ? tu n'arrives pas à accéder à ton site Wordpress ?

Posté(e)

Alors quand je souhaite allez à l'adresse qui correspond bien à l'IP de mon NAS:PORT (indiqué dans le conteneur), le navigateur m'indique qu'il ne peut pas accéder au serveur.

Le conteneur de MariaDB à l'air ok, je n'ai pas su me connecter pour vérifier les tables vu que je n'ai que le compte root quand je me connecte au Terminal et que ce compte n'est pas autorisé à manipuler les BDD. Pourtant j'ai bien indiqué un user dans les variables d'environnement.

Concernant le conteneur WordPress, c'est bien lui (a priori) qui pose problème. Ne sachant pas ce qui se passe je vais pas pouvoir te donner plus de détails. J'ai effacé les conteneurs et les images plusieurs fois, vérifiés les paramètres, cherchez sur Google, j'ai utilisé l'appel à un ami, rien... Pourtant je l'avais déjà mis en place il n'y a pas longtemps et sans grande difficultés. Si j'ai effacé et tout refait c'est juste parce que j'avais fais pété mon WordPress lors de tests.

A oui, je précise que ce sont bien les images officielles que j'utilise.

Aujourd'hui, si je relance WordPress, voici les logs qui s'affichent :

wordpress1
date,stream,content
2021-01-27 11:45:58,stdout,[Wed Jan 27 11:45:57.882901 2021] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

2021-01-27 11:45:57,stdout,[Wed Jan 27 11:45:57.882740 2021] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.38 (Debian) PHP/7.4.14 configured -- resuming normal operations

2021-01-27 11:45:57,stdout,"AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
"
2021-01-27 11:45:57,stdout,"AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.3. Set the 'ServerName' directive globally to suppress this message
"

J'ai aussi fait du docker system prune pour nettoyer les références devenues inutiles.

Bref, je suis vraiment à court d'idée et ça fait maintenant une semaine que je cherche. Merci pour ton aide.

Posté(e)

Tes logs de Wordpress sont tout à fait normaux, je pense simplement que tu ne rends pas Wordpress accessible par ta configuration.
Si tu utilises un proxy inversé, il te suffit de faire pointer le FQDN (Fully qualified domain name) vers ton conteneur, dans ton cas :

reverse-proxy-wordpress.png

Si tu n'utilises pas de proxy inversé, il faut alors exposer le port 80 du conteneur sur un port du NAS (autre que 80 car il y a déjà Webstation), par exemple 8080 :

nat-port-wordpress.png

Ca se trouve dans les paramètres avancés du conteneur.
Si tu veux que ton site soit accessible de l'extérieur, il faut penser à autoriser le port 8080 dans le pare-feu du NAS pour des sources autres que locales, et avoir rediriger un port de la box vers le port 8080 du NAS.

Le plus simple étant quand même de mettre en place le proxy inversé avec le NAS. C'est plus propre pour un site web de ne pas devoir taper un port à la suite de l'adresse. 😉 

 

Posté(e)

Bon je ne suis pas sur de tout comprendre parce que j'ai oublié de l'écrire plus haut mais j'avais bien fait un mappage de port.

Ça marche pour tous les autres conteneurs mais a priori pas pour WordPress.

Avec le Reverse Proxy ça fonctionne, merci pour ton aide, tu m'enlève une sacrée épine. Merci beaucoup.

Posté(e)
Le 27/01/2021 à 13:19, .Shad. a dit :

 

reverse-proxy-wordpress.png

Re,

Ce soir je voulais travailler sur mon instance mais le navigateur me dit que le site n'est pas accessible, c'est une page de Synology d'ailleurs.

Je n'ai pourtant rien touché aux conteneurs Docker.

Je me demande si l'adresse renseigné ci-dessus n'a pas changé, pourquoi ça termine par 3 (et pas 4 par exemple), comment je peux valider que l'adresse de mon conteneur est bien celle-ci.

Aurais-tu une idée de quel élément je pourrais regarder pour réparer le soucis ?

Merci.

Posté(e)

Le réseau docker que tu utilises a son propre DHCP.
Contacter un conteneur via son nom plutôt que par son IP est valable entre conteneurs, pas depuis l'hôte qui héberge ton proxy inversé.

J'ai regardé ce matin, je n'ai pas réussi à fixer l'IP du conteneur dans un réseau par l'interface Docker de DSM.
L'export des paramètres du conteneur ne do
En revanche en ligne de commande, ou par docker-compose c'est très simple.

Tu peux m'envoyer par message privé tous les réglages que tu fais pour créer ton conteneur dans DSM, je te traduis ça en ligne de commande.

Il faudra juste se connecter en SSH pour créer et lancer le conteneur.

Posté(e)

Merci pour ce retour, par contre la phrase sur l'export est pas terminé je crois 🙂

Alors me connecter en SSH et lancer la commande, pas de soucis.

Là j'ai pris un docker-compose de base pour tester et j'ai cette erreur :

ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

Je t'envoi en MP le fichier.

Merci.

Posté(e)

Il faut préciser "sudo" devant ta commande. Seul l'utilisateur root appartient au groupe docker sur DSM.

Pour le reste voir le MP.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.