Installer Wordpress avec Docker
Wordpress

Installer Wordpress avec Docker

Table des matières

Wordpress, avec ses 60% de part du marché, plus ou moins, reste le CMS le plus utilisé dans le monde. Mais aussi le plus piraté du coup. Voyez en fin d'article pour ce sujet. Ce n'est pas du tout une fatalité, il faut juste prendre quelques précautions.

Il faut dire que pour monter un blog ou un site web sans trop se casser la tête, c'est un choix pertinent, en plus il est pourvu de nombreux thèmes et nombreux plugins.


⚡Caractéristiques

  • Simplicité: Rien ne devrait vous empêcher de créer votre site Web et de diffuser votre contenu. WordPress est conçu pour y parvenir.
  • La flexibilité: Avec WordPress, vous pouvez créer tout type de site Web de votre choix : un blog ou site Web personnel, un photoblog, un site Web d'entreprise, un portfolio professionnel, un site Web gouvernemental, un site Web de magazine ou d'actualité, une communauté en ligne et même un réseau de sites Web.
  • Publier en toute simplicité: Si vous avez déjà créé un document, vous êtes déjà un expert en création de contenu avec WordPress.
  • Outils de publication: WordPress vous permet de gérer facilement votre contenu. Créez des brouillons, planifiez la publication et examinez les révisions de vos publications.
  • Gestion des utilisateurs: Tout le monde n’a pas besoin du même accès à votre site Web. Les administrateurs gèrent le site, les éditeurs travaillent avec le contenu, les auteurs et les contributeurs rédigent ce contenu et les abonnés disposent d'un profil qu'ils peuvent gérer.
  • Gestion des médias: On dit qu’une image vaut mille mots, c’est pourquoi il est important que vous puissiez télécharger rapidement et facilement des images et des médias sur WordPress. Faites glisser et déposez vos médias dans le téléchargeur pour les ajouter à votre site Web. Ajoutez du texte alternatif et des légendes, et insérez des images et des galeries dans votre contenu. Nous avons même ajouté quelques outils d'édition d'images avec lesquels vous pouvez vous amuser.
  • Conformité totale aux normes: Chaque morceau de code généré par WordPress est entièrement conforme aux normes établies par le W3C.
  • Système de thème facile: WordPress est livré avec trois thèmes par défaut, mais s'ils ne vous conviennent pas, il existe un répertoire de thèmes contenant des milliers de thèmes pour vous permettre de créer un magnifique site Web.
  • Extension avec des plugins: WordPress est doté de nombreuses fonctionnalités pour chaque utilisateur. Pour chaque fonctionnalité qui ne figure pas dans le noyau de WordPress, il existe un répertoire de plugins contenant des milliers de plugins.
  • Commentaires intégrés: Votre blog est votre maison et les commentaires offrent un espace permettant à vos amis et abonnés d'interagir avec votre contenu.
  • Moteur de recherche optimisé: WordPress est optimisé pour les moteurs de recherche dès la sortie de la boîte.
  • Utilisez WordPress dans votre langue: WordPress est disponible dans plus de 70 langues.
  • Installation et mises à niveau faciles: WordPress a toujours été facile à installer et à mettre à niveau.
  • Importateurs: WordPress est livré avec des importateurs pour Blogger, LiveJournal, Movable Type, TypePad, Tumblr et WordPress.
  • Possédez vos données: Utiliser WordPress signifie que personne n’a accès à votre contenu. Possédez toutes vos données : votre site Web, votre contenu, vos données.
  • Liberté: WordPress est sous licence GPL qui a été créée pour protéger vos libertés. Vous êtes libre d’utiliser WordPress comme vous le souhaitez : installez-le, utilisez-le, modifiez-le, distribuez-le.

L'installation

Avec Cosmos Cloud

Cette application peut-être installée en un clic sur votre Cosmos Cloud en cliquant sur l'image ci-dessous:


Avec docker-compose

  1. Créez votre docker-compose.yml:
nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: '3.1'

services:

  wordpress:
    image: wordpress
    container_name: wordpress
    restart: always
    ports:
      - 8989:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: AcMb$nRY2A
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - /srv/appdata/wordpress:/var/www/html

  redis:
    image: redis:latest
    hostname: redis
    container_name: redis
    restart: always
    expose:
      - 6379
    command:
      - redis-server
      - --save 60 1
      - --loglevel warning
      - --maxmemory 128mb
      - --maxmemory-policy allkeys-lru
    volumes:
      - /srv/appdata/wordpress/redis:/var/lib/redis
      - /srv/appdata/wordpress/redis/data:/data
      #- ./redis.conf:/usr/local/etc/redis/redis.conf

  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: AcMb$nRY2A
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - /srv/appdata/wordpress/db:/var/lib/mysql

Ces deux lignes sont liées, remplacez AcMb$nRY2A par un mort de passe fort:

  • WORDPRESS_DB_PASSWORD: AcMb$nRY2A
  • MYSQL_PASSWORD: AcMb$nRY2A
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8989 par défaut:
http://ip:8989

Terminer l'installation

Choisir votre mangue, ici le français:

Personnalisation et création du compte admin:

Super, tout s'est bien passé! On se connecte:

Entrez les identifiants de votre compte admin et connectez-vous au tableau de bord de Wordpess:

Parfait. 😃


Accélérez votre site avec Redis

Avant de s'occuper de Redis on va activer Memory overcommit, modifier le fichier:

sudo nano /etc/sysctl.conf

Dans le fond de la page, ajoutez vm.overcommit_memory = 1

vm.overcommit_memory = 1

Ce qui donne:

Enregistrez le fichier et maintenant tapez cette commande pour l'activer/le recharger:

sudo sysctl vm.overcommit_memory=1

Redis

Redis va permettre d'accélérer le chargement des pages.
Il faut éditer, toujours à la racine du dossier d'installation de Wordpress:

sudo nano wp-config.php

et ajoutez ce bloc:

/**
 * REDIS config
 */

define('WP_REDIS_HOST', 'redis');
define('WP_REDIS_PORT', '6379');

avant la ligne:
/* That's all, stop editing! Happy publishing. */ :

Ce qui donne:

Redémarrez Wordpress:

docker restart wordpress

Dans le tableau de bord de Wordpress, allez dans la partie Extensions => Ajouter une extension, dans le champ de recherche, cherchez Redis Object Cache, installez-le et activez-le:

Cliquez sur Activer le cache objet:

On est bien:


Disponibilité

Sur votre navigateur préféré.


Changer l'url du site

Pour le moment votre site est accessible en local, reste à le relier à votre domaine, quelque soit la manière utilisée, il faudra remplir ces deux champs avec votre domaine complet.

  • Adresse web de WordPress => indiquez votre domaine complet: http(s)://ndd.tld.
  • Adresse web du site (URL) => indiquez votre domaine complet: http(s)://ndd.tld.

Une fois que c'est fait, redémarrez Wordpress, videz le cache de votre navigateur et lancez Wordpress.

docker restart wordpress

Augmenter la taille maximale de téléchargement

Quand vous êtes à la racine du dossier Wordpress, vous avez un fichier à éditer, le .htaccess:

sudo nano .htaccess

Ajouter ces lignes en fin de page.
Définissez la taille maximale des fichiers qui peuvent être envoyés avec la ligne php_value upload_max_filesize 32M :

php_value upload_max_filesize 32M
php_value post_max_size 64M
php_value memory_limit 128M
php_value max_execution_time 300
php_value max_input_time 300

Ce qui donne:

Redémarrez Wordpress.

docker restart wordpress

⚠️ Sécuriser Wordpress

Wordpress étant le CMS le plus utilisé, c'est tout naturel qu'il soit la cible de personnes mal intentionnées. En prenant quelques précautions, il est tout à fait possible d'avoir un niveau de sécurité satisfaisant.

Je vous renvoie vers ce site, à vous après de creuser un peu plus. Mais au moins vous aurez une idée de ce qui est sensible.

Comment sécuriser son site WordPress en 2024 en 10 étapes?
Nos experts en conception Web partagent 10 astuces pratiques pour sécuriser facilement et rapidement son site Wordpress en 2024.

Wordpress en HTTPS

Afin de sécuriser Wordpress et le joindre sur son nom de domaine vous avez le choix entre:

Cosmos Cloud

Cosmos Cloud | Le guide
Guide d’utilisation de Cosmos Cloud.

Ou Nginx Proxy Manager

Installer Nginx Proxy Manager avec Docker
Tutoriel d’installation de Nginx Proxy Manager, exposez vos services facilement et en toute sécurité.

zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.