Qnap [Tuto] Installation de Wordpress + MariaDB + Adminer en Docker sur un NAS QNAP ( Container Station )

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 209
1 575
278
/var/run/docker.sock
Installation de Wordpress + MariaDB + Adminer en Docker sur un NAS QNAP ( Container Station )

Wordpress, c'est quoi ?
WordPress est un outil de blogging gratuit et open source et un système de gestion de contenu (CMS) basé sur PHP et MySQL, qui fonctionne sur un service d'hébergement web.. Plus d'info sur le site officiel : fr.wordpress.org

MariaDB, c'est quoi ?
Le serveur MariaDB est l'un des serveurs de bases de données les plus populaires au monde. Il a été conçu par les développeurs originaux de MySQL et garantit le maintien de l'open source. Plus d'info sur le site officiel : mariadb.org
Note : Pour le déploiement de MariaDB dans ce tutoriel, nous allons utiliser l'image linuxserver/mariadb.

Adminer, c'est quoi ?
Adminer (anciennement phpMinAdmin) est un outil de gestion de base de données complet écrit en PHP. Plus d'info sur le site officiel : adminer.org/


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Pré-requis :
- Un NAS QNAP compatible avec Container Station ( vous pouvez vous aider du point 1 de ce tuto pour l'installation de Container Station : [Tuto] Installer Portainer en Docker sur son NAS QNAP ( Container Station ) )
- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8, ARMv7
- Accès en SSH à son NAS QNAP


Sommaire :
1/ Récupération de l'ID de votre utilisateur
2/ Création des conteneurs
4/ Accès a Wordpress
5/ Accès a Adminer




1/ Récupération de l'ID de votre utilisateur
Utiliser ce tuto pour vous connecter en SSH a votre NAS QNAP : [Tuto] Se connecter à son NAS QNAP par SSH

Récupérer l'ID de votre utilisateur : [Mémo] Connaitre le PUID / PGID d'un utilisateur sur un NAS QNAP




2/ Création des conteneurs
Dans la fenêtre de création d'application :
- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "wordpress_mariadb".
- Le code YAML :

YAML:
version: '3.1'

services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8989:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /share/Container/wordpress/html:/var/www/html
    depends_on:
      db:
        condition: service_healthy

  db:
    image: lscr.io/linuxserver/mariadb:latest
    restart: always
    environment:
      PUID: 1000
      PGID: 100
      TZ: Europe/Paris
      MYSQL_ROOT_PASSWORD: ROOT_ACCESS_PASSWORD
      MYSQL_DATABASE: wordpress
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
    volumes:
      - /share/Container/wordpress/mariadb:/config
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      start_period: 15s
      interval: 60s
      timeout: 10s
      retries: 3

  adminer:
    image: adminer
    restart: always
    ports:
      - 9090:8080

Dans ce code, il y a plusieurs choses a modifier :

Tout d’abord, le lieu de stockage des fichiers, j'ai choisi de tout placer dans un dossier "wordpress" dans le dossier partagé "Container" par défaut de Container Station. Mais vous pouvez le changer si vous le souhaitez :
- /share/Container/wordpress/html:/var/www/html, dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire ou vous souhaitez stocker la configuration de Wordpress.
- /share/Container/wordpress/mariadb:/config, dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire ou vous souhaitez stocker la configuration de MariaDB.

Nous allons reporter le PUID et PGUID retrouvez lors de l'étape 1 du tutoriel.
Dans la ligne :
- PUID=1000 remplacer 1000 pour le PUID trouvé au point 1.
- PGID=100 remplacer 100 pour le PGID trouvé au point 1.

A deux endroits dans le compose, nous allons retrouver : exampleuser et examplepass.
- A la place de exampleuser , choisissez un nom d'utilisateur pour la base de donnée, est remplacer au deux endroits du compose exampleuser par le nom d'utilisateur voulu.
- A la place de examplepass, choisissez un mot de passe pour la base de donnée, est remplacer au deux endroits du compose examplepass par le mot de passe voulu.

Dernière étape de personnalisation du compose ! Modifier dans le compose ROOT_ACCESS_PASSWORD par un mot de passe de votre choix, cela sera le mot de passe "root" de la base de données.

et on clique sur créer pour lancer la création du conteneur !

Container Station va en 1er télécharger les images des conteneurs, puis créer la DB et Adminer, ensuite il va attendre que la DB soit "ok", et lancer Wordpress ( cela peut prendre quelques minutes ).

Dans l'onglet présentation que l'état est "vert", notre stack est en fonctionnement !




3/ Accès a Wordpress
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8989 pour se connecter a l'interface Web de Wordpress.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8989




4/ Accès a Adminer
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 9090 pour se connecter a l'interface Web de Adminer.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:9090

Pour plus d'info sur l'utilisation d'Adminer, rendez vous ici : Utiliser Adminer pour administrer votre base MariaDB10 sur un NAS QNAP



2023-02-24 - Création
 
Dernière édition:
Bonjour et merci pour cet excellent tuto,

J'arrive à bien me connecter à mon wordpress en iplocal:8989, mais je n'arrive pas à me connecter depuis myqnapcloud
De plus lorsque je fais http://monNAS.myqnapcloud.com, il pointe vers un fichier html dans /web/index.html

image_2023-02-26_133904889.png
En rajoutant les ports :8989 ou :8989/wordpress j'ai un timeout

image_2023-02-26_134112424.png


Autre détail de moindre importance, les liens Adminer et wordpress on disparu, je peux quand même accéder à ma base adminer et wordpress en entrant l'URL. La seule chose que j'ai fait est d'avoir installé Qsync et HybridMount
image_2023-02-26_135227903.png
 
Dernière édition:
Salut,
Il te faut ouvrir le port 8989 dans ta box pour y accéder via ton nom de domaine myqnapcloud et indiquer ce port en fin d'url

Myqnapcloud ne gère pas les sous domaine/reverse proxy donc soit tu expose le port comme au dessus, soit tu désactive le webserveur et tu recréer le conteneur WordPress en exposant le port 443 au lieu de 8989
 
  • J'aime
Réactions: pierre75
Bonjour,
Tu peux suivre mon tutorial pour le Reverse Proxy si tu veux. (voir ma signature en dessous)