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

EVO

Administrateur
Membre du personnel
25 Novembre 2019
10 707
2 357
288
/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 ( Voir : [Mémo] Installation de Container Station sur un NAS QNAP )
- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8, ARMv7

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




1/ Récupération de l'ID de votre utilisateur

Récupérer l'ID de votre utilisateur : [Mémo] Connaitre l'UID ( ou ID ou PUID ) 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:
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

1753434718266.png

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 trouvé lors de l'étape 1 du tutoriel.
Dans la ligne :
- PUID=1000 remplacer 1000 pour le PUID 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, et 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, et 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 ).
1753434829097.png


Après une bonne dizaine de minutes ...
1753435773832.png

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




3/ Accès et 1ere configuration de 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


Dans mon cas, l'IP de mon NAS est 192.168.1.170, donc j'utilise http://192.168.1.170:8989

Je sélectionne Français, puis "Continuer"
1753435878724.png

Je renseigne un titre pour mon site, un pseudo et un mot de passe qui me serviront pour la connexion a l'interface d'administration de Wordpress, et un mail.
Enfin je clique sur "Installer Wordpress"
1753435922374.png

Wordpress m'indique que tout est bon, je clique sur "Se connecter" pour m'identifier :
1753435980786.png

Et j'arrive sur l'interface de gestion de Wordpress :)
1753436026147.png




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



2025-07-25 - clarification du point 1, correction orthographique, ajout d'image, modification du point 3 pour montrer la 1ere configuration
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
j'avais mis le port 89 et non 8989
Merci beaucoup
 
Dernière édition:
Bonjour,
Tu peux suivre mon tutorial pour le Reverse Proxy si tu veux. (voir ma signature en dessous)
 
UPDATE ! Clarification du point 1, correction orthographique, ajout d'image, modification du point 3 pour montrer la 1ere configuration
 
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, ...
Salut @EVO ,

Quelques modifs à opérer pour que cela fonctionne aux petits oignons :

1. L'image doit être (à ce jour) wordpress : php8.4
L'image wordpress: lastest à (actuellement) une version de php périmée et WP le signalera.
2. Il faut ajouter l'image redis:latest
Puis la lier avec l'extention sur WP (par le fichier "wp-config.php")
3. Rajouter 2 fichiers .ini --> 1 pour définir l'upload des fichiers (Important) - 1 pour php.ini (facultatif pour certains thémes)
4. Il est conseillé d'activer WP directement sur un NDD en https (Proxy Inversé) - les modifs à opérer par la suite sont compliquées et délicates. Acriver WP sur un port en http posera rapidement des soucis (activation des extensions et thémes, validité au niveau du navigateur etc) - sauf si c'est pour du Lab.

J'enverai les fichiers complémentaires et les manips à opérer ce soir ;)
 
  • J'aime
Réactions: EVO