Hebergement WordPress Administration
Informations techniques sur l’installation WordPress utilisée pour l’hébergement des site web des entrepreneurs sur le Serveur d’Optéos.
Liste des (super-)administrateurs :
- Responsable : Simon Sarazin (gérant)
- Infogérance du serveur et maintenance de WordPress : Benjamin Danon (développeur et administrateur web)
- Contributeurs, accompagnement des entrepreneurs : Frank Nirpot (webmaster), Christian Dupuy (web éditeur), Julien Lecaille (web éditeur)
Informations sur la plate-forme[modifier | modifier le wikicode]
- Application web WordPress en mode multisite
- Installée le 23 mars 2018 : 4.9.4
- Mise à jour WordPress le 16 novembre 2024 : 6.7
- Extensions et Thèmes mis à jour le 16 novembre 2024
- Optimisée avec W3 Total Cache, APCu et EWWW Image Optimizer
Coût de la plate-forme[modifier | modifier le wikicode]
- Serveur Optéos : 6,99 € HT /mois (chez OVH)
- Infogérance serveur : 50 € HT /mois (par Benjamin)
- Maintenance WordPress : (par Sébastien C.)
Sites web WordPress hébergés[modifier | modifier le wikicode]
- 13 : atelier-hwo.wordpress.opteos.fr : site de présentation de l’offre interne d’hébergement de site WordPress, thème Divi, en cours de développement
- 10 : ccommuneidee.fr : site de la marque ouverte, thème Divi. Responsable : Simon Sarazin
- 11 : christiandupuy.wordpress.opteos.fr : site de Christian Dupuy, en cours de développement
- 23 : christophe-barron.opteos.fr : site de Christophe Barron, thème Divi, en cours de développement
- 6 : coach-professionnelle.com : site pour Laurène Cabaret, thème Divi
- 12 : cooperativebaraka.opteos.fr : site de la Baraka, thème Divi, en cours de développement. Responsable : Simon Sarazin - 25 €
- 4 : desmotsdeslignes.fr : site de Matthieu Marsan-Bacheré, thème Twenty Seventeen
- 24 : desmotsdeslignes.opteos.fr : site de Matthieu Marsan-Bacheré, thème Divi, en cours de développement
- 7 : emiliebouviergissot.opteos.fr : site d’Émilie Bouvier Gissot, thème Twenty Seventeen
- 29 : adaptrh-emploi.com : site d’Émilie Maës, thème Divi, en cours de développement
- 28 : geraldine-louis.opteos.fr : site de Géraldine Louis, thème Divi, en cours de développement
- 17 : grenzaboka.com : site de Christèle Rosinet, thème Divi
- 20 : gyroscop.opteos.fr : site Optéos Gyroscop, thème Divi, non référencé par les robots
- 3 : journaliste-video.fr : site de Carine Mandère, thème Divi
- 22 : kartierlibre.fr : site de la marque ouverte, thème Divi. Responsable : Capucine Deweer
- 9 : kpacite.initiative.place : site de KPACité, thème Divi. Responsable : Simon Sarazin - 25 €
- 25 : ladministrerie.fr : site de Patricia Havez, thème Divi
- 5 : laureduchaud.fr : site de Laure Duchaud (Sarazin), thème Divi
- 18 : marionrousseaux.fr : site de Marion Rousseaux, thème Divi
- 26 : melaniewullens.opteos.fr : site de Mélanie Wullens, thème Divi, en cours de développement
- 15 : wordpress.opteos.fr : nom de domaine de la ferme de sites WordPress, thème Divi, non référencé par les robots
- 1 : www.opteos.fr : site de Optéos, thème Divi
URL par défaut des nouveaux sites web : *.wordpress.opteos.fr à modifier en prenomnom.opteos.fr ou marquecommerciale.opteos.fr
Extensions WordPress[modifier | modifier le wikicode]
- Akismet Anti-Spam
- Better Search Replace : pour utiliser le remplacement du guid seulement avant la publication (rendre publique) du site (*.opteos.fr)
- Contact Form 7
- Debug Bar
- Disable Blogging : pour désactiver toutes les fonctionnalités du blog et des articles désactivé par défaut, à tester
- Divi Builder
- Emoji Settings : pour désactiver les emojis si ils ne sont pas utilisés (améliore les performances web)
- EWWW Image Optimizer activée sur le réseau et configurée
- Honeypot for Contact Form 7 : pour éviter le spam de formulaire par des robots
- Loco Translate
- Maintenance
- MainWP Child
- Modern Events Calendar Lite
- Monarch Plugin
- Multisite Enhancements activée sur le réseau et configurée
- Network Username Restrictions Override activée sur le réseau et configurée
- PTA Shortcodes
- Query Monitor
- RDP Wiki Embed
- Redirection
- Rocket.Chat LiveChat
- Search & Replace : pour afficher la différence des modifications
- SSP Stacktable Tables
- Theme Check
- Volunteer Sign Up Sheets
- W3 Total Cache activée sur le réseau et configurée
- WooCommerce
- WordPress Importer
- WP Cerber Security, Antispam & Malware Scan activée sur le réseau et configurée
- WP HTML Author Bio
- WP-Matomo
- Yoast SEO activée sur le réseau
Thèmes WordPress[modifier | modifier le wikicode]
- Divi
- Twenty Fifteen
- Twenty Nineteen
- Twenty Seventeen
- Twenty Sixteen
- Twenty Twenty
Accès aux fichiers de WordPress sur le serveur[modifier | modifier le wikicode]
Le serveur est accessible via le protocole SSH/SFTP. Il est préférable de manipuler les fichiers en se connectant avec SSH à l’utilisateur wpmu afin de conserver les permissions :
$ ssh bdanon@s.opteos.fr bdanon@s ~ $ su - wpmu wpmu@s ~ $ cd wordpress.opteos.fr/www/ wpmu@s www $ ls -l wpmu@s www $ wp config list
WP-CLI est disponible sur le serveur.
Les fichiers des logs des requêtes HTTP pour chaque domaine sont disponibles dans le répertoire /home/wpmu/wordpress.opteos.fr/log/http/.
Mettre à jour WordPress et ses extensions[modifier | modifier le wikicode]
La mise à jour de WordPress et de ses extensions est autorisé via l’interface web d’administration. WP-CLI est aussi disponible sur le serveur pour mettre à jour WordPress et ses extensions :
$ ssh bdanon@s.opteos.fr bdanon@s ~ $ su - wpmu wpmu@s ~ $ cd wordpress.opteos.fr/www/ wpmu@s www $ wp core update wpmu@s www $ wp core update-db --network wpmu@s www $ wp plugin update --all wpmu@s www $ wp plugin update divi-builder wpmu@s www $ wp theme update --all wpmu@s www $ wp language core update wpmu@s www $ wp language plugin update --all wpmu@s www $ wp language theme update --all
Après ces manipulations, il est préférable de corriger les permissions de fichiers et de répertoires avec les commandes indiquées en bas de page.
Fichier wp-config.php[modifier | modifier le wikicode]
// ** Préfixe de cache pour W3 Total Cache ** // define('W3TC_INSTANCE_ID', '1550489575'); // Must be unique (use a timestamp) // ** Mode Debug ** // //define('WP_DEBUG', true); //define('WP_DEBUG_LOG', true); //define('WP_DEBUG_DISPLAY', true); // ** Mode Multisite ** // define('WP_ALLOW_MULTISITE', true); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'wordpress.opteos.fr'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 15); define('BLOG_ID_CURRENT_SITE', 15); define('NOBLOGREDIRECT', 'https://wordpress.opteos.fr'); define('COOKIE_DOMAIN', ''); define('COOKIEPATH', '/'); define('SITECOOKIEPATH', '/'); define('ADMIN_COOKIE_PATH', '/wp-admin'); /** Forcer WordPress à modifier le système de fichiers depuis PHP */ define('FS_METHOD', 'direct'); /** Limiter la conservation des révisions */ define('WP_POST_REVISIONS', 5); /** Désactiver le cron automatique de WordPress pour utiliser celui du serveur */ define('DISABLE_WP_CRON', true);
Tâche cron[modifier | modifier le wikicode]
Tâche cron automatique de WordPress désactivée. Tâche cron du serveur activée avec WP-CLI :
PATH=/usr/local/bin:/usr/bin:/bin # Tâche cron pour WordPress (fonctionne en mode Multisite) 12 9-20 * * * /home/wpmu/wordpress.opteos.fr/bin/run-wp-cron.sh 12 22,0,7 * * * /home/wpmu/wordpress.opteos.fr/bin/run-wp-cron.sh
Certificat SSL[modifier | modifier le wikicode]
Un seul certificat SSL wildcard est généré avec le service Let’s Encrypt, l’outil certbot et l’API OVH pour tous les sous-domaines *.wordpress.opteos.fr et *.opteos.fr. Il est renouvelé automatiquement tous les deux mois.
Utilisation du plugin `certbot-plugin-ovh` avec l’API OVH :
# certbot certonly --agree-tos --email admin@ficusnode.com --dns-ovh --dns-ovh-credentials ~/.ovhapi --dns-ovh-propagation-seconds 60 --cert-name opteos.fr -d "opteos.fr" -d "*.opteos.fr" -d "*.wordpress.opteos.fr"
Ne fonctionne pas sans la nouvelle version de certbot :
Solution temporaire (19/01/2019) :
# certbot certonly --agree-tos --email admin@ficusnode.com --manual --preferred-challenges dns --cert-name opteos.fr -d "opteos.fr" -d "*.opteos.fr" -d "*.wordpress.opteos.fr"
Configuration d’un nouveau nom de domaine[modifier | modifier le wikicode]
Aucune configuration supplémentaire n’est nécessaire pour les sous-domaines *.wordpress.opteos.fr et *.opteos.fr. Pour utiliser un nom de domaine différent, il est préférable de créer un nouveau fichier de configuration dans le répertoire /home/wpmu/wordpress.opteos.fr/config/ ainsi qu’un nouveau certificat SSL dédié (faire pointer le ndd préalablement) :
bdanon@s ~ $ sudo su root@s bdanon # nano /home/wpmu/wordpress.opteos.fr/config/domaine.fr.nginx.conf (commenter le certificat SSL inexistant) root@s bdanon # ln -s /home/wpmu/wordpress.opteos.fr/config/domaine.fr.nginx.conf /etc/nginx/sites-enabled/ root@s bdanon # service nginx reload root@s bdanon # certbot certonly --agree-tos --email admin@ficusnode.com --webroot -w /etc/letsencrypt/public --cert-name domaine.fr -d domaine.fr,www.domaine.fr root@s bdanon # nano /home/wpmu/wordpress.opteos.fr/config/domaine.fr.nginx.conf (dé-commenter le certificat SSL) root@s bdanon # service nginx reload
Création d’un nouveau site web sur WordPress[modifier | modifier le wikicode]
Via l’interface web d’administration de WordPress :
- Admin du réseau > Utilisateurs > Ajouter
- Admin du réseau > Sites > Ajouter : en utilisant l’adresse de courriel de l’utilisateur créé précédement
- Modifier l’URL en remplaçant http:// par https:// si le certificat SSL est en place
Configuration du serveur web nginx[modifier | modifier le wikicode]
Fichiers /home/wpmu/wordpress.opteos.fr/config/*.nginx.conf:
- Taille maximale des données (client_max_body_size) : 40 Mo
Configuration du serveur d’application PHP-FPM pour PHP[modifier | modifier le wikicode]
Les processus PHP utilisés pour tous les sites web du WordPress Multisite s’exécutent avec l’utilisateur www-wpmu et la configuration du fichier /etc/php/7.4/fpm/pool.d/www-wpmu.conf :
- Nombre de processus PHP maximum : 25
- Taille maximale de la mémoire allouée aux processus PHP (memory_limit) : 128 Mo
- Taille maximale de téléversement (post_max_size) : 40 Mo
- Taille maximale de téléversement par fichier (upload_max_filesize) : 20 Mo
- Adresse de courriel par défaut pour l’envoi des messages (sendmail_path) : contact [at] opteos.fr
- Niveau du rapport d’erreurs de PHP (error_reporting) : E_ALL & ~E_DEPRECATED & ~E_STRICT
- Fichier de log des erreurs PHP (errorlog) : /var/log/php7.4-fpm/www-wpmu.error.log
- Fichier de log des exécutions lentes de PHP (slowlog) : /var/log/php7.4-fpm/www-wpmu.slow.log
Configuration des permissions du répertoire du site web[modifier | modifier le wikicode]
Autorisation d’écriture permissive pour l’utilisateur www-wpmu qui exécute PHP, afin de pouvoir mettre à jour le WordPress via l’interface web :
drwxrwsr-x root www-wpmu www/ : drw-rw-r-- www-wpmu www-wpmu … drwxrwsr-x www-wpmu www-wpmu wp-content/ : drw-rw-r-- www-wpmu www-wpmu …
Commandes :
# cd wordpress.opteos.fr/ # chown www-wpmu:www-wpmu -R www/ # find www/ -type d -print0 | xargs -0 chmod 2775 # find www/ -type f -print0 | xargs -0 chmod 664 # chmod +x www/wp-content/ewww/* # chown root:www-wpmu www/
Sauvegarde des données[modifier | modifier le wikicode]
Toutes les données (fichiers et base de données) du WordPress Multisite sont sauvegardées quotidiennement, la nuit, en même temps que toutes les données du serveur, par un serveur distant ax.ficusnode.com. Une interface est disponible pour consulter et restaurer les données https://ax.ficusnode.com/backuppc/ accessible par Benjamin et Simon.
Il n’y a pas (encore) de solution en place pour sauvegarder spécifiquement chaque site séparément.