Aller au contenu

[TUTO] Créer son site Wordpress avec Docker sur Synology


Andrea

Messages recommandés

Créer son site Wordpress avec Docker sur Synology

 

article1.thumb.jpg.8cf6fe37daeb6239f523f373254e956c.jpg

 

Prérequis

Premièrement assurez-vous bien que votre NAS Synology soit compatible avec Docker, vous pourrez trouver cette information dans la liste des modèles compatibles.

Deuxièmement , ce tutoriel supposera que vous ayez déjà votre accès externe au NAS configuré, c'est-à-dire :

  1. Un nom de domaine pointant sur l'IP de votre routeur, potentiellement un nom de domaine dynamique comme dans mon cas.

  2. Configurer votre routeur pour les redirections monNomDeDomaine.synology.me:80  IPdeMonNAS:80

    monNomDeDomaine.synology.me:443  IPdeMonNAS:443

    Attention : l'IP du NAS doit être statique car en cas de panne électrique, lors du redémarrage du NAS, celui-ci obtiendra une nouvelle IP, potentiellement différente de la précédente, cela est dû au DHCP fourni par le routeur si tel est le cas.

     


Installation des images Docker

  1. Installez le paquet Docker via le centre de paquets Synology.

  2. Ouvrez Docker :

     

    Capture1.thumb.PNG.3a61358e414db55efba0953cb99df7be.PNG

  3. Téléchargez les images de Wordpress et MariaDB

Capture2.thumb.PNG.1fe2d5539b30f1a925be915addbccea4.PNG

 


Configuration de MariaDB

  1. Lancez le conteneur mariadb :

    Capturem1.thumb.PNG.0633eb12be2cb24776df9045e9d12f74.PNG

     

    • Donnez le nom que vous voulez à votre conteneur, pour ma part j'ai choisi "mariadb" car je n'ai pas prévu d'instancier plusieurs sites wordpress ni d'utiliser d'autres bases de données mariadb.

    • En revanche par souci de sécurité, je vous déconseille de l'exécuter à l'aide de privilèges élevés.

    • Ensuite, choisissez d'activer ou non la limitation de ressources, il est vrai que si vous envisagez que votre site web soit très largement visité il vaut mieux fixer un quota en fonction de la mémoire RAM disponible sur votre NAS.

     

  2. Allez dans les Paramètres avancés :

    • cochez l'option redémarrage automatique

    Je détaillerai cette section lors de la configuration de Wordpress.

  3. Volumes :

    Capturem2.PNG.88565da12581282a1b63fd358d50b57d.PNG

  4. Réseau :

    Capture6.PNG.229cff966f3a0312126a8be09f3d0ed9.PNG

  5. Paramètres des ports :

    Capturem3.PNG.e9c1d6b6f2fb43d20b8877be3ec68da8.PNG

     

    Laissez le port 3306 par défaut du conteneur de mariadb car il est configuré ainsi dans le conteneur, seul le port de l'hôte (port local) doit être modifié au besoin.

    Choisissez un port disponible sur votre système pour le port local de l'hôte, par exemple : 32552.

  6. Liens :

    • Laissez comme tel

    Je détaillerai également cette section lors de la configuration de Wordpress.

     

  7. Environnement :

Sur la page officielle de MariaDB sur Docker Hub, des variables d'environnement peuvent être configurées, certaines sont optionnelles (MYSQL_USER, MYSQL_PASSWORD, etc) mais une seule est obligatoire : MYSQL_ROOT_PASSWORD !

MYSQL_USER: mariadb
MYSQL_PASSWORD: My$uP3RP@$$w0rD
MYSQL_ROOT_PASSWORD: My$uP3RP@$$w0rD

Je vous propose d'ajouter ces trois variables à celles déjà existantes.

Capturem4.thumb.PNG.68cf58d211dc2030f883c27f6e5959d2.PNG

Attention à ne pas réutiliser ce mot de passe, il ne s'agit pas de celui que j'utilise bien évidemment.


Configuration de Wordpress

  1. Lancez le conteneur wordpress :

    De même que pour MariaDB, j'ai choisi :

    • wordpress

    • aucun privilège

    • pas de limitation de ressources

       

  2. Allez dans les Paramètres avancés :

    Capture4-anon.thumb.PNG.77cd7abec033cb6f15ff855c28b254bf.PNG

    Pour un site web disponible 24H/24 je vous conseille d'activer l'option de redémarrage automatique, cela sera bien plus pratique au lieu de devoir se reconnecter au NAS chaque fois que son site sera indisponible. Surtout si vous comptez utiliser un plugin comme Jetpack sur votre site wordpress, il vous enverra automatiquement un mail dès que votre site ne sera plus accessible.

    Cochez l'option de la page web pour indiquer son FQDN (fully qualified domain name) au cas où vous souhaiteriez mettre en place par la suite plusieurs sites web sous le même nom de domaine.

  3. Volumes :

    Capture5-2.PNG.b8f47005d10ceb49b7b82b964d642527.PNG

    De même que pour MariaDB, je spécifie le répertoire dans lequel mon conteneur va écrire.

  4. Réseau :

    • Laissez comme tel

  5. Paramètres des ports :

    Capture7.PNG.f51efac686def8e928a574657e50abdf.PNG

    Laissez le port 80 par défaut du conteneur de wordpress car il est configuré ainsi dans le conteneur, seul le port de l'hôte (port local) doit être modifié au besoin.

    Choisissez un port disponible sur votre système pour le port local de l'hôte, par exemple : 32551.

  6. Liens :

    C'est le moment de paramétrer les liens de son conteneur wordpress en créant un lien avec le conteneur mariadb créé juste avant pour que wordpress puisse communiquer avec sa base de données mariadb.

Capture8.PNG.799a73caa39c89198ec05b7d6d10ab13.PNG

  1. Environnement

    Sur la page officielle de Wordpress sur Docker Hub, des variables d'environnement peuvent être configurées, trois variables sont obligatoires :

    If you'd like to use an external database instead of a mysql container, specify the hostname and port with WORDPRESS_DB_HOST along with the password in WORDPRESS_DB_PASSWORD and the username in WORDPRESS_DB_USER

WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: root
WORDPRESS_DB_PASSWORD: My$uP3RP@$$w0rD

 

Je vous propose d'ajouter ces trois variables à celles déjà existantes.

 

Capture9.thumb.PNG.f14fb09e412e1d904c5c6b5eb36a7865.PNG


Configuration du Reverse Proxy

  1. Allez dans Panneau de configuration > Portail des Applications > Proxy Inversé

    On va configurer le reverse proxy (proxy inversé en français) pour rediriger les requêtes sur le port 80 de votre nom de domaine.

    On va avoir deux configurations : une pour le http et une autre pour le https.

    Le HTTP de mon NAS Synology est toujours redirigé vers le HTTPS par sécurité, donc on pourrait se passer de la première configuration.

    rp1-anon.thumb.PNG.75afb82b0e7ace706258cbea6dc5ea71.PNG

Sans toucher aux autres options (En-tête personnalisé et Paramètres avancés), on va rediriger les requêtes HTTPS du port par défaut (443) vers notre port 32551 spécifique au conteneur wordpress.

rp2-anon.thumb.PNG.9c6eb25849920c55d1eb958fb9a5fe72.PNG


Conclusion

Et voilà ! Notre site est prêt à être développé !

À vous de jouer maintenant pour créer votre site wordpress avec Docker sur votre NAS Synology.

Pour aller plus loin, je vous invite à installer de la même façon phpMyAdmin avec Docker pour le connecter à MariaDB et gérer votre base de données.

 
Modifié par Andrea
Remarque d'Evotk sur le port par défaut des conteneurs
Lien vers le commentaire
Partager sur d’autres sites

  • Andrea a modifié le titre en [TUTO] Créer son site Wordpress avec Docker sur Synology

Bonjour,
Bon tuto, même si je ne vois pas, sauf pour du test ou du ponctuel, l’intérêt de passer par du docker pour faire ce qui peut nativement être géré par nos NAS.

Par ailleurs, pour ma curiosité, quid de l’envoi de mail dans cette solution? L’image wp contient les briques idoines ?

Merci pour la participation

Lien vers le commentaire
Partager sur d’autres sites

Il y a 1 heure, DaffY a dit :

Bonjour,
Bon tuto, même si je ne vois pas, sauf pour du test ou du ponctuel, l’intérêt de passer par du docker pour faire ce qui peut nativement être géré par nos NAS.

Par ailleurs, pour ma curiosité, quid de l’envoi de mail dans cette solution? L’image wp contient les briques idoines ?

Merci pour la participation

Merci @DaffY ,

il y a plusieurs intérêts de passer ici par un conteneur Docker pour Wordpress :

1 - Avoir éventuellement plusieurs instances, c'est-à-dire celui d'avoir plusieurs sites Wordpress, chacun dans un conteneur différent, il me semble que ce n'est pas possible avec le paquet Synology. Il suffit de configurer le reverse proxy. Tandis qu'on doit passer par le multi-host de Webstation pour héberger plusieurs sites sur le NAS.

2 - Plus de sécurité au cas où le site web aurait des failles, c'est-à-dire rester dans un environnement isolé.

3 - Simplicité, portabilité et scalabilité.

Concernant l'envoi d'email, cela fonctionne de la même façon qu'avec Wordpress sans Docker. Par exemple j'ai les notifications avec le plugin Jetpack et je peux très bien le connecter à Wordpress.com pour pouvoir rédiger des articles ou autre.

J'ai une question en revanche, pour améliorer la mise en page du tutoriel que je ne trouve pas franchement très bien, j'ai rédigé le tutoriel en Markdown donc je voudrais savoir s'il y a un moyen de mieux l'intégrer au forum et d'en améliorer la mise en page ?

Lien vers le commentaire
Partager sur d’autres sites

Salut,

Merci pour ce tuto 😉

J'ai une reflexion par rapport a :

Laissez le port 3306 par défaut du conteneur de mariadb si vous le souhaitez.

Tu dit d'ailleurs la même chose pour le port 80 de wordpress, a mon sens c'est pas "si vous le souhaitez", il faut le laisser par defaut, car cest comme cela qu'il est configurer dans le conteneur. Il ne doit etre modifié que sur l'hote au besoin.

Modifié par Invité
Lien vers le commentaire
Partager sur d’autres sites

Merci [mention=91]DaffY[/mention] ,
il y a plusieurs intérêts de passer ici par un conteneur Docker pour Wordpress :
1 - Avoir éventuellement plusieurs instances, c'est-à-dire celui d'avoir plusieurs sites Wordpress, chacun dans un conteneur différent, il me semble que ce n'est pas possible avec le paquet Synology. Il suffit de configurer le reverse proxy. Tandis qu'on doit passer par le multi-host de Webstation pour héberger plusieurs sites sur le NAS.

Heu oui avec le paquet mais non si on installe les choses manuellement soit en multipostes pour une instance wp soit plusieurs wp indépendants.
Mais oui pour la partie isolée docker est un plus.
Maintenant en terme de performance faut voir la latence ajoutée aux ressources consommées.

Bref à chacun de voir.
Lien vers le commentaire
Partager sur d’autres sites

Le 18/04/2021 à 18:00, EVOTk a dit :

Salut,

Merci pour ce tuto 😉

J'ai une reflexion par rapport a :

Laissez le port 3306 par défaut du conteneur de mariadb si vous le souhaitez.

Tu dit d'ailleurs la même chose pour le port 80 de wordpress, a mon sens c'est pas "si vous le souhaitez", il faut le laisser par defaut, car cest comme cela qu'il est configurer dans le conteneur. Il ne doit etre modifié que sur l'hote au besoin.

Merci @EVOTk

Effectivement, en regardant dans les bonnes pratiques de Docker https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ , il me semble qu'il est bon de laisser le port par défaut dans le conteneur. J'avais en tête que pour exposer certains services, il est souvent conseiller de changer le port pour des raisons de sécurité, mais s'agissant du port interne du conteneur je ne vois pas d'intérêt.

Je rebondis avec une question, quel est donc l'intérêt de laisser le port du conteneur configurable en variable d'environnement alors qu'il est conseillé de laisser le port par défaut ?

Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, Andrea a dit :

Je rebondis avec une question, quel est donc l'intérêt de laisser le port du conteneur configurable en variable d'environnement alors qu'il est conseillé de laisser le port par défaut ?

Un port n'est utilisable que une fois dans un réseaux. Et Quand on parle de port interne au conteneur, c'est un réalité le port interne au sous-reseau docker ( bridge ).

Tu pourra sans soucis faire 3 conteneurs Wordpress sur la meme machine, avec le port par defaut par exemple 80 en indiquant a chaque fois un port externe différent. Par contre, il te sera impossible de faire 3 conteneurs wordpress de la meme façon dans le meme sous-reseau ( bridge ) docker ! Dans ce cas, il te faudra modifier le port 80 en interne, mais donc également modifier nginx ( si c'est lui qui est utilisé ) afin qu'il n’écoute pas 80 mais l'autre port interne que tu aura configuré !

Lien vers le commentaire
Partager sur d’autres sites

Il y a 19 heures, EVOTk a dit :

Un port n'est utilisable que une fois dans un réseaux. Et Quand on parle de port interne au conteneur, c'est un réalité le port interne au sous-reseau docker ( bridge ).

Tu pourra sans soucis faire 3 conteneurs Wordpress sur la meme machine, avec le port par defaut par exemple 80 en indiquant a chaque fois un port externe différent. Par contre, il te sera impossible de faire 3 conteneurs wordpress de la meme façon dans le meme sous-reseau ( bridge ) docker ! Dans ce cas, il te faudra modifier le port 80 en interne, mais donc également modifier nginx ( si c'est lui qui est utilisé ) afin qu'il n’écoute pas 80 mais l'autre port interne que tu aura configuré !

Merci beaucoup pour l'explication @EVOTk, du coup je me suis renseigné sur les types de réseaux dans Docker (https://docs.docker.com/network/), je n'avais pas autant creusé le sujet et ça m'a permis d'apprendre des choses !

Lien vers le commentaire
Partager sur d’autres sites

Le 18/04/2021 à 17:30, Andrea a dit :

Plus de sécurité au cas où le site web aurait des failles, c'est-à-dire rester dans un environnement isolé.

Et pour rebondir, cela dépendra aussi si tu as isolé ton docker dans un sous réseau à part, il faut savoir sinon que ce dernier aura accès via le réseau à l’hôte, mais aussi aux autres sous machines qui s’y trouve.

Lien vers le commentaire
Partager sur d’autres sites

  • 8 mois après...
  • 1 mois après...

Bonjour,

J'ai testé plusieurs tutos pour avoir un WP en Docker et en production aussi efficace qu'une install normale.

L'avantage c'est que, à ce jour,  je déplace et duplique (et sauvegarde) mes sites en moins de 5 mn (chrono en main) d'un serveur à un autre et d'une IP à une autre.

Je vous donne le résultat final, d'une compil de différentes recherches et expérimentation, et assez facile à mettre en place pour des habitués de Docker sur Syno. 

 

1. L'image à télécharger est celle de : 'markpriddy/wordpress-intl'  - à ce jour, l'image officielle de WP n'est pas fournie avec l'extension 'intl' (utile pour divers plugins).

2. Suivre le tuto cité par baz1ga ci-dessus https://ten20four.co.uk/synology-docker-wordpress/ en effectuant une modif au chapitre 3 concernant Maria DB auquel il ne faut pas mettre le port en auto mais en déterminer un (celui par défaut ou celui que vous voulez) - afin de pouvoir installer par la suite phpMyAdmin (toujours en Docker).

3. Créer un fichier nommé 'uploads.ini' (avec les variables que vous souhaitez)
file_uploads = On
memory_limit = 256M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 600
 
Et placez le dans le dossier 'html'
Puis reliez le dans votre config Docker "wordpress" onglet "volume" avec le 'path' suivant:
/usr/local/etc/php/conf.d/uploads.ini
 
4. Installer phpMyAdmin en Docker et indiquez le port déterminé lors de la création de MariaDB (2)
Aussi, j'ai testé le transfert d'une base de donnée (d'une install classique) via le phpMyAdmin Docker - non sans difficultés.
Pour que cela fonctionne, il faut impérativement compresser votre base de donnée pour l'importation + redonner les droits (en créant un utilisateur à l'identique et avec tous les droits - voire un 'super utilisateur' si vous aviez déclenché cette fonction). Il vous faudra aussi changer l'adresse du site pour la BD si besoin.
 
5. Bien sûr, mettre vos domaines et/ou sous-domaines en proxy inversé pour un accès des + faciles.
 
6. Vous pouvez installer plusieurs WP en docker sur votre nas à partir des mêmes images, il vous faudra donner aux dossiers des sites respectifs des noms différents et un port différent à chacune des BD  : dans ce cas l'ouverture de phpMyAdmin n'ouvrira qu'une base de donnée et se fera avec le port correspondant.
 
Voilà,
 
 
 
 
 
 
 
 
 
Lien vers le commentaire
Partager sur d’autres sites

  • 9 mois après...

Bonjour @Andrea, @Einsteinium et tous ceux qui pourront me donner un coup de main 😉,

J'ai bien suivi le tuto en changeant certains paramètres pour que la liaison wordpress/mariadb fonctionne (certainement à cause des maj de ces 2 entités).

Au final tout fonctionne en local, en revanche impossible d'accéder à mon site depuis l'extérieur, ça mouline puis finit par me sortir une impossibilité d'accéder à la page web et dans l'url, ça me rajoute (à la suite du ndd) le port utilisé pour wordpress (chez moi 48152).

Je n'ai aucun problème pour les sous-domaines qui tournent aussi sur docker, ni pour mailstation (mail.monnomdedomaine.fr), j'ai le problème avec le site principal uniquement (ndd.fr et/ou www.ndd.fr)

J'espère avoir été clair et que vous pourrez m'aider à sortir de ce problème !

Très bonne journée à tous.

Lien vers le commentaire
Partager sur d’autres sites

@KahioBonjour, je serai très intéressé de savoir si tu as trouvé une réponse à ton problème. Je rencontre exactement le même problème que toi.

A la simple différence que wordpress et mariadb chez moi sont dans un stack. J'ai suivi ce tuto :

https://mariushosting.com/synology-how-to-install-wordpress-using-docker/

Au passage, comme évoqué par @morgyann, j'ai dû rajouté un fichier uploads.ini pour palier la limitation à 2Mo de la taille des fichiers uploadés.

Modifié par macpowered
Lien vers le commentaire
Partager sur d’autres sites

Le 23/11/2022 à 11:29, Kahio a dit :

Au final tout fonctionne en local, en revanche impossible d'accéder à mon site depuis l'extérieur, ça mouline puis finit par me sortir une impossibilité d'accéder à la page web et dans l'url, ça me rajoute (à la suite du ndd) le port utilisé pour wordpress (chez moi 48152).

Est-ce que tu as transféré le port (sur lequel Wordpress est exposé sur le NAS) depuis ta box vers le NAS ?
Quand tu dis impossible d'accéder à la page, de quelle erreur s'agit-il exactement ? Appuie sur F12 dans ton explorateur pour voir le numéro d'erreur dans la console.
Tu joins ton NAS depuis l'extérieur avec un DDNS ou un enregistrement A ? Pas de proxy inversé on est d'accord ?

il y a une heure, macpowered a dit :

J'ai suivi ce tuto

Il faut à tout prix éviter de suivre les tutos de ce site, c'est d'une qualité affligeante, par exemple dans le tutoriel en question il crée des volumes docker dans sa stack, qu'il n'utilise pas. Ça n'a aucun sens.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Il y a 8 heures, .Shad. a dit :

Quand tu dis impossible d'accéder à la page, de quelle erreur s'agit-il exactement ? Appuie sur F12 dans ton explorateur pour voir le numéro d'erreur dans la console.
Tu joins ton NAS depuis l'extérieur avec un DDNS ou un enregistrement A ? Pas de proxy inversé on est d'accord ?

Salut @.Shad. merci pour ton retour et de prendre du temps pour mon problème.

Voici ce qu'il se passe si je rentre mon ndd dans l'url...

image.thumb.png.be3ea82e000875905eb4f2232e6791e4.png

Après avoir mouliné un peu, l'url devient mon ndd:numduportDSMhttp quand je rentre le domaine en http et quand je rajoute https l'url me ressort : ndd:numduportDSMhttps

Pour répondre à tes questions, je joins mon NAS via un enregistrement A et j'utilise un reverse proxy ! Je n'ai aucun problème pour mes sous-domaines, mail.ndd.fr et d'autres programmes docker (Jellyfin par exemple)...

Si je veux utiliser un sous-domaine pour wordpress j'ai le même problème ! 

Certainement un problème avec le port 80 de mon container mais même en le modifiant rien ne fonctionne pour autant...

Modifié par Kahio
Lien vers le commentaire
Partager sur d’autres sites

Est-ce que :

  • tu as bien fait une translation de port entre ton NAS et ton conteneur ? 48152 du NAS -> 80 du conteneur.
  • dans ton proxy inversé tu as bien, par exemple : https://wordpress.ndd.fr -> http://localhost:48152 ?
  • associer ton entrée de proxy inversé à un certificat adéquat dans Panneau de configuration -> Sécurité -> Certificats -> Configurer
  • créer un CNAME wordpress.ndd.fr vers l'enregistrement qui pointe sur l'IP publique de ton NAS chez ton hébergeur de zone DNS.
  • créer une règle de NAT entre ta box et ton NAS

En vérifiant toutes ces règles, si ton conteneur est fonctionnel, ça devrait marcher.

Lien vers le commentaire
Partager sur d’autres sites

Le 31/03/2021 à 18:02, Andrea a dit :

Cochez l'option de la page web pour indiquer son FQDN (fully qualified domain name) au cas où vous souhaiteriez mettre en place par la suite plusieurs sites web sous le même nom de domaine.

Je ne trouve pas cette option sur DSM7, peut-être est-ce ça qui empêche le bon fonctionnement ?!

Il y a 16 heures, .Shad. a dit :
  • tu as bien fait une translation de port entre ton NAS et ton conteneur ? 48152 du NAS -> 80 du conteneur.
  • dans ton proxy inversé tu as bien, par exemple : https://wordpress.ndd.fr -> http://localhost:48152 ?
  • associer ton entrée de proxy inversé à un certificat adéquat dans Panneau de configuration -> Sécurité -> Certificats -> Configurer
  • créer un CNAME wordpress.ndd.fr vers l'enregistrement qui pointe sur l'IP publique de ton NAS chez ton hébergeur de zone DNS.
  • créer une règle de NAT entre ta box et ton NAS

Tout mon paramétrage est bon, tout est ok pour tous mes autres containers docker avec des sous-domaines, seul wordpress me pose problème ! Aucun problème en local mais injoignable via reverse proxy ! 

Peut-être l'option du dessus, le renseignement du FQDN que je ne trouve pas ?!

Bon week-end à tous

Lien vers le commentaire
Partager sur d’autres sites

Le 25/11/2022 à 18:21, .Shad. a dit :

Est-ce que :

  • tu as bien fait une translation de port entre ton NAS et ton conteneur ? 48152 du NAS -> 80 du conteneur.
  • dans ton proxy inversé tu as bien, par exemple : https://wordpress.ndd.fr -> http://localhost:48152 ?
  • associer ton entrée de proxy inversé à un certificat adéquat dans Panneau de configuration -> Sécurité -> Certificats -> Configurer
  • créer un CNAME wordpress.ndd.fr vers l'enregistrement qui pointe sur l'IP publique de ton NAS chez ton hébergeur de zone DNS.
  • créer une règle de NAT entre ta box et ton NAS

En vérifiant toutes ces règles, si ton conteneur est fonctionnel, ça devrait marcher.

Désolé, je me glisse dans la conversation car j'ai le même problème

Pour ma part,

  • 8181 du NAS -> 80 du conteneur.
  • https://wordpress.ndd.fr -> http://IP_DU_NAS:8181 (j'utilise NGINX pour ça)
  • Je ne peux pas associer de certificat car mon nom de domaine n'est pas un DDNS synology (si tu as une solution)
  • Je suis chez OVH et j'ai bien un CNAME redirigeant *.ndd.com vers IP publique du du NAS
  • Tout ce qui arrive en 80 et 443 est redirigé vers l'IP du NAS dans mon routeur

Pourtant, systématiquement, lorsque je cherche à joindre wordpress.ndd.com je suis redirigé vers wordpress.ndd.com:8181

J'ai d'autres sous-domaines et tous fonctionnent parfaitement. Seul Wordpress me fait cette cagade. En local, j'y accède sans problème.

Modifié par macpowered
Lien vers le commentaire
Partager sur d’autres sites

@macpowered @KahioQue donne un nslookup wordpress.ndd.fr depuis un PC Linux ou Windows en local ? Est-ce que ça pointe bien sur le NAS ?

@macpowered Sur DSM, si tu utilises Nginx pour une entrée de proxy inversé, il faut que le certificat soit valide et accessible, même si ce n'est pas un domaine Synology il y a des solutions, un exemple parmi d'autres :

Ou encore un import manuel (mais à répéter tous les 3 mois)

Ca ne règlera pas ton problème actuel, mais ça évitera de te taper un avertissement comme quoi ton accès n'est pas sécurisé.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Bonjour et merci de ta réponse.

Je suis sur Mac et un nslookup dans le terminal me donne ça :

nslookup wordpress.ndd.com
Server:        1.1.1.1
Address:    1.1.1.1#53

Non-authoritative answer:
wordpress.ndd.com    canonical name = ndd.com.
Name:    ndd.com
Address: 82.XX.XX.XX (Mon IP publique)

Merci pour le certificat, je vais regarder ça

Lien vers le commentaire
Partager sur d’autres sites

@.Shad. Petite précision :

dans Firefox : wordpress.ndd.com me donne wordpress.ndd.com:8181

 

dans Safari : wordpress.ndd.com me donne wwww.wordpress.ndd.com et j'ai une page Congratulations! de la part de Nginx Proxy Manager

si je mets wwww.wordpress.ndd.com/wp-admin il m'affiche bien la page pour me logger mais en IP_LOCAL_DU_NAS:8181/wp-login.php?redirect_to=http.... donc accès extérieur impossible j'imagine. En plus, ce n'est qu'avec Safari

Modifié par macpowered
Lien vers le commentaire
Partager sur d’autres sites

Ok là c'est bizarre, est-ce que par hasard tu as installé Nginx Proxy Manager ? car c'est soit lui, soit Nginx de DSM, mais pas les deux.

Tu peux aussi tenter de réduire le niveau de chiffrement TLS voir si ça a un effet sur la connexion par Safari :

dsm_compatibilite_tls.png

Tu peux également essayer de te connecter en navigation privée, car ça pourrait être un problème de cache qui ne se vide pas, d'autant plus que dans le tutoriel l'auteur coche HSTS, qui a ses avantages mais aussi ses inconvénients, comme le forçage HTTPS.

Enfin dernière chose, ton nslookup prouve que tu ne joins pas localement ton NAS, sinon ça te renverrait une IP privée, donc si tu n'as pas de serveur DNS local, tu sais d'ores et déjà que ta box ne fait pas de loopback (ou qu'il n'est pas activé) et que donc pour causer à ton NAS, tu passes par internet.

Modifié par .Shad.
Lien vers le commentaire
Partager sur d’autres sites

Bonjour @.Shad.

Oui j'utilise Nginx Proxy Manager dans un contener Docker. Jusqu'à maintenant il a fait parfaitement le job. Je n'utilise pas le "Portail des applications" dans DSM

J'ai paramétré mon routeur (UDM Pro) pour qu'il renvoit tout le traffic arrivant sur le port 80 et 443 vers l'IP locale de Nginx Proxy Manager.

Et chez OVH j'ai ajouté un CNAME *.ndd.com vers mon IP publique.

Ca passe donc vers Nginx quand j'essaye d'accéder vers worpress.ndd.com

Si je te détaille l'entrée que j'ai fait dans Nginx

Dans "Details"

Domain Names -> wordpress.ndd.com

Scheme -> http

Forward Hostname / IP -> IP de mon NAS

Forward Port -> Le port d'installation de Wordpress

Pour les 3 protections à activer (Cache Assets, Block Common Exploits et Websockets Support) c'est au petit bonheur la chance. J'ai essayé un peu tout sans trop savoir ce que je faisais.

Access List -> Publicly Accessible (seul choix possible)

Dans "Custom locations"

VIDE

Dans "SSL"

SSL Certificate -> wordpress.ndd.com

J'ai installé un certificat en plus dans mon NAS pour mon ndd

En dessous rien n'est activé

Dans "Advanced"

Rien n'est ajouté

 

Mon chiffrement dans le panneau de configuration était déjà en "Intermédiaire"

J'ai essayé la navigation privée dans firefox et safari...mêmes comportements

Concernant le nslookup, ma box est en mode Bridge, du coup le lookback devrait être activé dans mon routeur directement ?

Merci d'avance du temps que tu passes à me répondre. 😉

Modifié par macpowered
Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour,

Quelques rectifications et réponse aux postes précédents depuis ma dernière visite sur ce Forum. 

1. L'image à télécharger est depuis cet été 2022, est celle de WP officielle - elle contient toutes les extensions nécessaires (à ce jour) pour faire fonctionner WP. (L'image de 'markpriddy/wordpress-intl' n'existe plus et n'a plus d'intérêt).

2. Le tuto de Marius pour WP ne comporte pas une BDD "apparente" pour faciliter le transfert de votre "WP Docker" d'un NAS à un autre et/ou d'une IP à une autre. Aussi, l'intérêt majeur reste de pouvoir faire des sauvegardes quotidiennes (si vous avez un contenu dynamique) de l'intégralité de votre WP en 1 clic directement sur votre NAS (on ne peut pas faire + simple).

3. Pour la "réinstallation de WP" sur le même serveur pour une sauvegarde, vous devez - stopper les containers Docker (WP + BDD) - mettre à la corbeille le dossier WP - recréer les 3 dossiers vides (WP + les 2 sous dossiers html et sql) - redémarrer les containers puis les arrêter à nouveau - remplacer l'intégralité du contenu du dossier sql par votre sauvegarde +  remplacer le contenu du dossier html par votre sauvegarde sauf les sous dossiers wp-admin et wp-includes - donner les droits lecture et écriture au dossier WP à System - redémarrer les containers - ouvrir sur https://NDD/wp-admin et faire "réinstaller WP" pour vérifier si les droits d'accès sont bien valables. 

4. Pour l'accès externe, suivre les instructions de "Shad" ci dessus et surtout ne pas oublier

  • "associer ton entrée de proxy inversé à un certificat adéquat dans Panneau de configuration -> Sécurité -> Certificats -> Configurer"

Pour ma part, le + simple pour toutes mes applis Docker en prod ou en test, c'est :

  • pour le NAT de la box (ou du routeur si bridge) : associer le port 443 au NAS
  • associer le nom de domaine concerné (ou créer un nom de sous-domaine) en A (ip4 publique de votre box) chez votre registrar 
  • faire la demande sur votre NAS (à config sécurité) du certificat
  • créer votre appli Docker
  • donner les droits "system" au dossier concerné
  • associer le nom de domaine (ou sous domaine) : 443 -> localhost : le port de l'appli
  • retourner à "sécurité" -> "Certificats" -> "Configurer" et associer mon-NDD-de-l-appli à mon-NDD-de-l-appli

Voila, simple, rapide, efficace ...

 

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

Bonjour,

 

Peux-tu détailler ta dernière ligne "retourner à "sécurité" -> "Certificats" -> "Configurer" et associer mon-NDD-de-l-appli à mon-NDD-de-l-appli" ?

Pour ma part, ma config se décompose de la manière suivante :

- NDD chez OVH - redirection de wordpress.NDD.com en A vers IP Publique (ip fixe Free)

- Freebox en mode Bridge

- Routeur qui redirige tout mon trafiic 80 et 443 vers l'IP de mon NGINX (qui est dans une machine virtuelle sur mon NAS mais qui a sa propre adresse IP locale)

- Dans NGINX, redirection de https://wordpress.NDD.com vers IP_du_NAS:8181 et demande de certificat Let's encrypt

- l'utilisateur SYSTEM a tous les droits sur mes répertoires Wordpress et WordpressDB dans Docker

Pourtant ça ne fonctionne pas...

Si tu as une idée je suis preneur !! Je tourne en rond depuis des mois...

Modifié par macpowered
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • 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.