Préconisations d’hébergement WordPress

Important

Nous attirons votre attention sur le fait qu’héberger un site nécessite d’avoir de solides connaissances en administration système afin de pouvoir intervenir sur tout type de problème relatif à son hébergement et pouvoir assurer tout type d’intervention système qui pourrait être demandée par Inovagora.

Parmi les aspects importants à maitriser on peut notamment citer la sécurisation du serveur, un plan de sauvegarde opérationnel, la mise à jour régulières des logiciels du serveur, son monitoring…
Les offres des hébergeurs tel qu’OVH ne proposent souvent qu’une petite fraction de ce qui devra être assuré pour un hébergement robuste et pérenne. Il est nécessaire d’avoir une ressource humaine disponible maitrisant le sujet, en mesure d’installer et configurer les éléments nécessaires et étant en mesure de gérer votre hébergement au quotidien.

En cas de doute, nous vous recommandons fortement de nous confier cette mission d’hébergement et d’infogérance.

Afin de pouvoir vérifier la compatibilité de votre hébergement et préparer la mise en ligne de votre site, il est nécessaire de nous livrer les informations de cet hébergement à minima 3 semaines avant la mise en ligne, complètement configuré selon les préconisations.

L’hébergement nécessaire est de type LAMP (Linux, Apache, MySQL, PHP).

Ci-dessous sont présentées les caractéristiques principales de l’hébergement de votre site WordPress, dont nous utilisons la dernière version.

Toute configuration complémentaire spécifique vous sera indiquée à part.

Serveur

Espace disque

Nous recommandons à minima 50Go d’espace disque en SSD. Les besoins en volume pouvant varier selon votre usage.

Processeur

Nous recommandons l’usage d’un dual-core au minimum, un quad-core idéalement.

RAM

Nous recommandons 8Go de RAM au minimum.

Accès

Inovagora doit impérativement avoir un accès SSH au serveur, permettant également l’accès en SFTP.

Attention : nous n’acceptons pas d’accès RDP (type bureau à distance Windows), votre serveur web doit être joignable soit en direct sur le réseau public, ou en direct une fois connecté à un VPN (utilisation de Tunnelblick ou Forticlient).

Si nécessaire, Inovagora peut transmettre des clés SSH et une liste d’IP à autoriser.

Cet accès SSH doit permettre de modifier et créer des fichiers pour l’utilisateur configuré dans Apache. (les fichiers du site doivent pouvoir être manipulés par Apache directement)

La possibilité de passer en root n’est pas obligatoire mais peut s’avérer utile pour certaines opérations.

Un accès à la base de données via un PHPMyAdmin est également demandé, l’utilisateur fourni doit :

  • soit être l’utilisateur final qui sera utilisé par le site, avec sa propre base de données et l’ensemble des droits dessus
  • soit être un utilisateur de maintenance avec les privilèges suffisants pour créer un autre utilisateur avec sa base de données et l’ensemble des droits dessus

Logiciels pour l’exploitation du site

Linux

Nous recommandons l’utilisation de Debian dans sa version stable.

Apache

Nous recommandons l’utilisation d’Apache dans sa version la plus récente.

Un virtualhost pour le site doit être créé avec un dossier dédié aux fichier du site (exemple /var/www/www.monsite.fr).

AllowOverride doit être à All pour ce site et les options doivent être à -Indexes et +FollowSymlinks

La gestion du SSL pour accéder au site en HTTPS doit être gérée soit dans ce virtualhost, soit au niveau d’une machine réseau frontale par lequel le trafic passerait en premier avant d’arriver à la machine web.

PHP

Nous recommandons l’utilisation de PHP en version 8.2.

PHP doit répondre avec la même version avec Apache et en CLI (ligne de commande).

En vue de l’évolution, de la maintenance et de la sécurité du site, nous pourrons vous demander d’effectuer un changement de version de PHP.

Un changement de version de PHP pour Apache doit entrainer un changement de version version similaire en CLI.

Concernant la configuration de PHP, nous vous recommandons la surcharge de certains paramètres par défaut (aussi bien en Apache qu’en CLI) :

  • date.timezone = Europe/Paris
  • expose_php = Off
  • max_execution_time = 360
  • max_input_time = 360
  • max_input_vars = 250000
  • memory_limit = 512M
  • post_max_size = 64M
  • short_open_tag = Off
  • upload_max_filesize = 64M

Vous pouvez également régler error_reporting, error_log et log_errors selon votre politique de conservation des logs d’erreurs. Nous vous recommandons la conservation des logs avec le niveau « E_ALL & ~E_DEPRECATED & ~E_STRICT ».

Les extensions mod_rewrite, ssl, nd_mysqli (ou mysqlnd) et imagick de PHP doivent être actives, en complément des extensions classiques de PHP. L’extension opcache peut être désactivée.

MySQL

Nous recommandons l’utilisation de MySQL dans sa version la plus récente.

GIT

L’outil GIT doit être installé et disponible globalement sur le serveur.

WP-CLI

L’outil WP-CLI doit être installé et disponible globalement sur le serveur avec la commande « wp » (voir site officiel).

Mails

Le serveur doit pouvoir envoyer des mails, soit via sendmail et la fonction mail de PHP, soit via une configuration SMTP qui vous est propre et qui pourra être intégrée dans WordPress.

SSL

Le site doit impérativement fonctionner en SSL, un certificat SSL doit donc être installé pour couvrir le nom de domaine du site.

Nous recommandons l’utilisation de Let’s Encrypt (avec le client CertBot par exemple).

Mises à jour

Les logiciels composant la machine doivent être mis à jour de manière régulière pour optimiser la sécurité.

Seule la version de PHP ne doit pas changer sauf demande de la part d’Inovagora.

Cronjobs

Le serveur doit être en mesure de lancer des tâches crons librement (commande curl notamment). Attention certains hébergements sont bridés à ce niveau, par exemple les mutualisés OVH ne permettant que de lancer des scripts PHP sans arguments, ce qui n’est pas compatible.

Infrastructure

Machine frontale

Dans le cas où le trafic vers votre machine web passe en premier par une machine frontale, nous vous recommandons de mettre en place une redirection HTTP au lieu d’une redirection TCP.

Il nous est notamment nécessaire au niveau du site de connaître l’IP publique de l’internaute accédant au site grâce au X-Forwarded-For (en PHP dans la variable $_SERVER, l’entrée HTTP_X_FORWARDED_FOR doit être exploitable).

Sauvegardes

Vous devez vous assurer d’avoir un plan de sauvegarde fonctionnel et vous permettant de restaurer une base de données, un fichier ou une arborescence facilement. (sauf si gestion par Inovagora)

A minima ces sauvegardes doivent être sur 7 jours glissants, idéalement sur 30 jours voir 60 jours. Il est également recommandé d’avoir en parallèle des sauvegardes mensuelles, glissant sur plusieurs mois. Idéalement ces sauvegardes sont copiées sur un site distant.

Sécurité

Nous recommandons :

  • La mise en place d’un firewall
  • La protection contre les attaques DDos et Brute force
  • La non utilisation du protocole FTP (si possible uniquement SSH/SFTP)
  • L’utilisation d’outils de monitoring avec alertes
  • Le retrait des accès root en direct depuis une interface publique
  • Toute bonne pratique de sécurité applicable et une veille active à ce sujet

Cette information vous a été utile ?