Installer WordPress sur un NAS Synology

28 commentaires
Installer WordPress sur un NAS Synology
Installer WordPress sur un serveur local peut s'opérer sur un serveur NAS (Network Attached Storage) de type Synology.

Ces espaces de stockage en réseau disposent de tous les paquets nécessaires au déploiement d’un environnement Apache, MariaDB et PHP. Une excellente combinaison pour développer en local sans impacter votre machine de travail quotidienne.

C’est quoi un serveur NAS Synology ?

Un serveur NAS pour Network Attached Storage ou espace de stockage en réseau est un boitier d’une ou plusieurs baies abritant des disques durs. En termes simples, cela ressemble à un gros disque dur externe à ceci près qu’il exécute un véritable système d’exploitation capable d’exécuter des applications.

Chez Synology, sans doute le meilleur fabricant de NAS au monde, on retrouve une suite incroyables d’applications pour disposer de votre propre cloud privé. La plupart des services connus des internautes comme du partage de fichiers (Google Drive, Dropbox), d’écoute musicale (Deezer, Spotify), de sauvegarde (Time Machine) ou encore de bibliothèque photo (Google Photos, iCloud) disposent de leurs équivalents sur un Synology. La plupart du temps ces applications surpassent même celles des marques citées précédemment.

Côté développement Web, nous retrouvons des paquets comme : Web Station, phpMyAdmin, MariaDB, PHP, node.js et même WordPress – bien qu’à l’instar des modules automatiques des hébergeurs je déconseille de l’utiliser. Les NAS disposent de tous les services de connexion comme FTP, SFTP, SSH et bien plus encore.

Vous l’aurez compris, on peut tout faire avec un NAS dont la capacité de stockage démentielle se chiffre en To.

Quels sont les avantages d’installer WordPress sur un Synology ?

Cette approche nous permet entre autres :

  • D’économiser de l’espace disque sur sa propre machine : la multiplication d’instances locales de vos WordPress augmentent très rapidement la consommation d’espace disque ;
  • De rendre disponible un environnement de développement sur votre réseau local et même à distance : un NAS est directement connecté sur votre réseau, c’est le propre de ce type de boitier alors profitons-en tout en prenant en compte les aspects liés à la sécurité ;
  • De créer des hôtes virtuels (virtual hosts) à la demande : le paquet Web Station nous permet de créer un virtual host par site. C’est donc facile de changer le domaine, le type de serveur (Apache ou nginx), la version de PHP, la présence ou non de HTTPS, les numéros de ports, etc. ;
  • De maintenir une stabilité générale : votre machine va évoluer au rythme des mises à jour de votre système d’exploitation (Windows, MacOS ou Linux). Il n’est pas rare de casser son environnement de développement suite à un changement de version par exemple. Avec son approche par paquet, Synology apporte une stabilité à toute épreuve ;

Il faut bien reconnaître un inconvénient toutefois : la rapidité des échanges entre vos NAS et votre ordinateur dépendront directement de la qualité de votre réseau ainsi que de la puissance de votre NAS. Pour ma part, je ne considère pas cela comme un frein car nous travaillons sur des fichiers de petites tailles.

Comment installer WordPress sur un NAS Synology ?

Prérequis Synology

Ouvrez le Centre de paquets puis installez :

  • Web Station : ce paquet nous permettra de créer les hôtes virtuels pour chaque site ainsi que leurs configurations respectives ;
  • MariaDB : ce paquet n’est autre que le moteur de bases de données ;
  • phpMyAdmin : ce paquet est indispensable pour gérer nos bases de données comme chez n’importe quel hébergeur ;

Les paquets nouvellement installés sont accessibles depuis le menu principal.

Création de l’hôte virtuel

Ouvrez Web Station puis cliquez sur Virtual Host et le bouton Créer :

  1. Définissez un nom d’hôte autrement dit votre nom de domaine. Dans mon cas, j’utilise la terminaison .local ;
  2. Indiquez la racine du document dans un nouveau répertoire sous /web ;
  3. Cochez HTTP/2 et éventuellement HSTS (à désactiver si problème d’accès au site) ;
  4. Choisissez Apache HTTP Server 2.4 pour un serveur stable et le plus répandu sur le Web ou bien nginx pour les connaisseurs ;
  5. Optez pour PHP en version 7, vous pourrez en modifier la configuration dans l’onglet Paramètres PHP si nécessaire ;

Création de la base de données

Lancez à présent le paquet phpMyAdmin depuis le menu principal.

Dans l’onglet Bases de données, saisissez un nom pour votre base et faites Créer. Prenez soin de vérifier que l’encodage est sous la forme utf8mb4_unicode_520_ci ou équivalent.

Créez également un utilisateur avec tous les privilèges que nous pourrons utiliser pour l’ensemble des sites. Vous pouvez aussi en créer un par projet.

Installation standard de WordPress

L’installation de WordPress sur un serveur local ne diffère pas vraiment d’une installation classique.

Commencez par télécharger l’archive officielle en français. Décompressez son contenu que vous placerez dans un nouveau dossier racine de l’hôte virtuel défini plus haut.

Ouvrez donc le nom de domaine défini plus haut en .local puis procédez à l’installation habituelle.

Réglages additionnels

Il vous faudra modifier le fichier hosts de votre ordinateur afin qu’il comprenne où se situe votre domaine .local :

  • Sous MacOS, ouvrez un Terminal puis exécutez la commande sudo nano /etc/hosts et saisissez votre mot de passe après validation. Là, ajoutez autant de lignes que de domaines locaux tel que 192.168.1.x example.local (remplacez l’IP par celle en local de votre NAS) ;
  • Sous Windows, même principe en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts ;
  • Si vous installez WP-CLI sur votre NAS, il vous faudra créer un alias dans votre profil de la console afin d’exécuter les commandes wp en PHP 7.3 et non 5.6 native chez Synology ;

Vous pouvez également ajouter la déclinaison IPV6 pour éviter les problèmes de performances avec des outils comme Gulp.

Vous disposez à présent d’un environnement de développement local sur votre Synology. Vous pouvez étendre les possibilités à bien des égards car ce type de système embarque tout ce qu’il faut comme services.

Par Aurélien Denis

Consultant & Développeur WordPress / WooCommerce. Un site à créer, à maintenir ou à débuguer ? Contactez-moi.

28 commentaires
  1. calvinux

    tu peux acheter un nom de domaine en .ovh a deux euros par an chez ovh et creer autant de sous domaine que tu veux pour tes multi site et faire des cname vers ton ddns dans la zone dns , il te faudra faire des virtualhost pour chaque sous domaine dans web station

  2. Cide

    Bonjour, très tuto. j’ai 2 serveurs DS918+ un perso et un pro pour site perso. le perso est déjà configurer avec un ddns gratuit pour un accès en ligne. sur le pro j’ai installé WordPress en multisite et il est fonctionnelle. Ma question: comment avoir accès au multisite via un DDNS gratuit (changeip.com).
    Merci pour votre aide.
    Cide.

    1. Aurélien Denis auteur de l’article

      Du moment qu’un DNS de type A pointe sur l’IP du Synology, le site devrait s’afficher (multisite ou non).

  3. Akhlan

    super tuto, merci beaucoup,

    j’ai une question, comment donner accès, montrer mon site à une personne distante ? Je n’ai pas de NDD pour le moment… Je fais un site WordPress pour le gite d’une ami et le nom de domaine n’est pas encore définit mais je voudrais lui montrer ce que ça donne…

    Merci

    1. Aurélien Denis auteur de l’article

      Sans domaine, il faudrait modifier le fichier host de chaque machine pour indiquer que le site est sur votre NAS. Pas simple.

      1. Akhlan

        j’ai que le pc de mon amie à modifier, moi je suis en local donc je peux me contenter de l’IP

      2. akhlan

        je ne parviens pas à rentrer les bonnes informations

        Vous devez saisir ci-dessous les détails de connexion à votre base de données. Si vous ne les connaissez pas, contactez votre hébergeur.

        Nom de la base de données : Nom de la base que j’ai créé dans phpMyAdmin (BDD)
        Identifiant : Celui que j’ai créé avec accès sur la base citée au dessus
        Mot de passe :
        Adresse de la base de données : localhost ou 127.0.0.1
        Préfixe des tables : wp_BDD

        Une erreur critique est survenue sur votre site.
        En apprendre plus sur le débogage de WordPress.

        ça peut venir de quoi ?

        1. Aurélien Denis auteur de l’article

          C’est compliqué de vous aider à distance, regardez les journaux de logs en activant les outils de déboggage de WordPress. Vous pouvez installer WordPress via le paquet Synology sinon ou encore contacter leur support.

          1. akhlan

            je ne veux pas du WordPress Synology, il est en 5.2 alors que nous somme sen 5.4, c’est le support synology qui m’a donné votre adresse 😉

            Je vais contacter le support WordPress alors 😉

  4. Pascal

    Bonjour,

    J’ai installer un site wordpress sur mon syno avec virtual host paramétrés sur apache et maintenant je cherche à modifier pour passer en nginx mais hélas cela ne fonctionne pas. Comment peux t’on basculer.

    Merci

    1. Aurélien Denis auteur de l’article

      Aucune idée, je n’utilise pas nginx. Je vous invite à vous reporter à leur excellente documentation et / ou voir avec le support.

  5. MH Lebée

    Je précise que je n’ai pas coché la case HSTS dans Virtual Host

  6. MH Lebée

    Bonjour, j’ai suivi tout le tuto, mais j’ai un problème quand je veux enfin accéder à mon installation de WordPress via mon navigateur.
    Je rentre donc mon adresse dans la barre d’adresse de mon navigateur et j’ai l’erreur suivante (avec https barré)

    Un chiffrement est normalement utilisé sur le site zeinorientalspa.dev pour protéger vos informations. Lors de la dernière tentative de connexion de Google Chrome au site zeinorientalspa.dev, des identifiants inhabituels et incorrects ont été retournés. Il est possible qu’un individu malveillant tente de se faire passer pour zeinorientalspa.dev ou qu’un écran de connexion Wi-Fi ait interrompu la connexion. Vos informations restent sécurisées, car nous avons arrêté la connexion avant l’échange des données.

    Le site zeinorientalspa.dev est actuellement inaccessible, car il utilise la technologie HSTS. Les erreurs réseau et les attaques sont généralement temporaires. Vous devriez donc pouvoir accéder à cette page plus tard.

    1. Aurélien Denis auteur de l’article

      Vous pouvez passer outre l’avertissement de sécurité et travailler avec un certificat auto-signé en local.

      1. MH Lebée

        Bonjour,

        merci de votre réponse.
        J’ai installé un certificat auto-signé sur mon Synology.
        J’ai retenté d’accéder à zeinorientalspa.dev, mais j’ai encore le même problème.
        Est-ce-qu’il y a une étape qui manque ?

        Merci, bonne journée

        1. MH Lebée

          J’ai changé les paramètres du certificat auto signé pour qu’il soit utilisé pour zeinorientalspa.dev, mais j’ai toujours l’erreur NET::ERR_CERT_AUTHORITY_INVALID, impossible de passer outre.

          De plus, j’ai une question : est-ce-que une fois que ça fonctionnera, mon client pourra accéder au site en cours de développement ?

          Merci, bonne journée

          1. Aurélien Denis auteur de l’article

            De mémoire, l’utilisation d’un .dev est déconseillé. Il est possible de générer des SSL depuis le panneau de configuration de Synology mais il faut bien lire la documentation. Pour ce qui est l’accès externe, cela reste techniquement faisable (c’est un serveur Web comme les autres) mais nécessitera une configuration additionnelle non détaillée ici.

            L’intérêt majeur reste le développement en local.

  7. thierry

    bonjour,
    je ne comprends pas la partie réglages additionnels
    “Sous Windows, même principe en éditant le fichier C:\WINDOWS\system32\drivers\etc\hosts ;”
    que dois je rajouter dans le fichier hosts ?
    par exemple une ligne du type
    127.0.0.2 wpchannel.local

    merci pour votre réponse et pour ce super article

    1. Aurélien Denis auteur de l’article

      Ce fichier hosts permet de surclasser les serveurs de DNS votre FAI. Autrement dit, c’est votre machine qui va définir quel serveur doit être utilisé pour afficher un domaine précis. Il vous faut spécifier l’IP de votre serveur local puis le domaine retenu pour votre projet.

  8. algaillard

    Bonjour,
    Merci pour les conseils.
    J’ai installé wordpress 5.1 sur mon Synology DS218+ et ça tourne.bien
    Néanmoins, l’installation de l’extension mailpoet (pour les abonnements et les newsletters) refuse de fonctionner car elle dit ne pas pouvoir se connecter à la base de données.
    Nota : C’est exactement la même chose en utilisant le paquet standard fourni par Synology qui lui, crée automatiquement une base de donnée.
    Quelqu’un aurait-il rencontré (et résolu) un tel problème ?

    1. Aurélien Denis auteur de l’article

      Le problème se produit-il à l’installation de l’extension ? Il faudrait sans doute revoir la configuration de PHP pour allouer plus de mémoire.

  9. Apostille

    Après avoir suivi la procédure, impossible d’ouvrir PhpMyadmin pour créer ma base de données, je tombe sur une fenêtre qui me demande un nom d’utilisateur

    1. Ivan

      J’ai le même problème. Y a-t-il une solution?

      1. Aurélien Denis auteur de l’article

        Si vous tombez sur la page de connexion à phpMyAdmin, c’est normal. Il vous faut spécifier le nom d’utilisateur et le mot de passe. Cela peut être modifié dans le paquet phpMyAdmin dans Synology.

  10. Bernard G.

    Bonjour,

    Merci pour cet excellent article… Très utile et bien détaillé.

    Amicalement

  11. alanya

    Merci pour cet article qui va me permettre de me lancer dans l’installation d’un WordPress sur mon DS2013.
    J’espère qu’il y en aura d’autres … En tout cas, je m’abonne 😉

Laisser un commentaire