Ça y est ! Le tuto touche à sa fin avec l’installation et la configuration de WordPress sur Raspberry Pi !
Il s’agit ici de la cinquième et dernière partie qui a pour but d’avoir un site web auto-hébergé sous WordPress sur un Raspberry Pi. Suite à cela, je ferais un petit retour sur les performances de l’ensemble.
Table des matières
Prérequis :
Avant de pouvoir continuer, votre environnement doit être configuré (Raspbian, Nginx, PHP…). Je pars du principe que le tuto a été suivi jusqu’ici :
– Partie 1 : Préparation du matériel
– Partie 2 : Configuration réseau et premier démarrage
– Partie 3 : Installer Nginx et PHP
– Partie 4 : Installer et configurer MySQL pour WordPress
Etape 1 – Installer WordPress :
Nous allons souvent avoir besoin des permissions super-utilisateur lors de ce tuto, n’hésitez pas à vous logguer en « root » grâce à la commande :
Commande : sudo -i
Allons maintenant à la racine de notre serveur Nginx. Par défaut, ce dossier se trouve ici : /usr/share/nginx/www/
Commande : cd /usr/share/nginx/www/
Supprimons les fichiers crées par défaut par Nginx, ainsi que la page de test que nous avons crée dans la 3ème partie du tuto (installation de PHP) :
Commande : rm 50x.html index.html index.php
Téléchargeons la dernière version de WordPress sur le site officiel :
Commande : wget http://wordpress.org/latest.tar.gz
Téléchargement complété, extrayons le contenu du fichier et supprimons-le à la fin de la décompression :
Commande : tar xzvf latest.tar.gz && rm latest.tar.gz
Si tar n’est pas installé, installez-le :
Commande : apt-get install tar
Tous les fichiers seront extraits dans un répertoire « wordpress » qui se trouve à la racine de votre serveur web. On ne va pas demander aux utilisateurs d’aller sur http://mondomaine.com/wordpress pour voir votre site. Nous avons donc besoin de déplacer tous les fichiers du dossier « wordpress » dans le dossier racine puis supprimer le dossier « wordpress ». Pour ce faire, allons dans le répertoire « wordpress » :
Commande : cd wordpress
Maintenant, déplaçons tous les fichiers et dossiers :
Commande : mv * ..
La méthode décrivant mv est la suivante : mv « fichiers à déplacer » « répertoire d’arrivée ». Ici « * » signifie tous les fichiers et « .. » signifie le répertoire parent.
Après cela, vérifier qu’il ne reste plus aucun fichier grâce à la commande ls :
Commande : ls
S’il ne reste plus aucun fichier, vous pouvez continuer en revenant à la racine de votre serveur et en supprimant le répertoire « wordpress » :
Commande : cd ../ && rm -rf wordpress
Etape 2 – Quelques paquets en plus… :
On y est presque. Maintenant, nous ajoutons quelques paquets en plus utiles à WordPress. Commençons par une mise à jour des paquets existants :
Commande : sudo apt-get update && sudo apt-get upgrade
Installez toutes les mises à jours nécessaires. Puis installez Curl, la librairie GD image ainsi que la librairie SSH2 :
Commande : sudo apt-get install php5-curl php5-gd libssh2-php
Afin d’améliorer les performances de PHP5-FPM, nous installons un moteur de mise en cache PHP (PHP cacher en anglais) :
Commande : sudo apt-get install php-apc
Etape 3 – Configurer WordPress :
Avant de commencer à utiliser WordPress, nous devons effectuer quelques changements dans les fichiers de configuration de WordPress. Pour commencer, nous allons créer une copie du fichier de configuration WordPress :
Commande : cp wp-config-sample.php wp-config.php
Maintenant, nous allons éditer ce fichier afin d’y ajouter les informations de connexion à la base de données :
Commande : nano wp-config.php
Parcourons le fichier jusqu’à tomber sur les informations de connexion à la base de données. Entrons le nom de notre base de données, notre utilisateur WordPress ainsi que son mot de passe (voir tuto précédent). Votre fichier de configuration devrait semblable à celui-ci :
Sauvegardez, puis quitter (CTRL+O, puis CTRL+X). Allez sur l’URL ou l’IP correspondant à votre site internet (votre Raspberry Pi). Si tout va bien, vous tomberez sur la page de configuration WordPress :
Vous pouvez dorénavant remplir les informations demandées et finir la configuration de WordPress. Après avoir compléter toutes les informations, WordPress vous indiquera que la configuration a été effectuée avec succès. Félicitations ! Vous avez maintenant installé WordPress sur votre Raspberry Pi ! Vous pouvez maintenant découvrir les diverses fonctionnalités qui s’offrent à vous ! 🙂
Je navigue dans mon WordPress fraîchement installé ! 🙂 … Mais je trouve ça lent… Est-ce normal ? Que faire ? …
Lorsque j’ajoute des photos, vidéos ou documents à mon site, ce dernier me sort en erreur… Pourquoi ? Que faire pour pallier à ce problème ?
L’interface administrateur est incroyablement lente ! Pourquoi ? Que faire ? …
Si vous en êtes arrivés là, vous vous posez surement ces questions que je me suis posés lorsque j’ai mis au point mon serveur web. Vous pouvez en effet jouir d’un WordPress à demi-fonctionnel et lent. Mais ce n’est pas le but ici. Je vais donc vous montrer quelques trucs pour optimiser votre site, ainsi que la gestion des permissions (qui vous permettra entre autre d’ajouter du contenu photo, vidéo, documents… mais aussi d’installer automatiquement des thèmes et des plugins à votre WordPress).
Etape 4 – Optionnelle, mais fortement recommandée :
Vous pouvez en effet optimisez les paramètres de Nginx et WordPress pour rendre l’ensemble plus performant sur votre Raspberry Pi. Voyageons à travers ces diverses optimisations :
Activer les permaliens (permalinks) sur Nginx
Comment avoir des permaliens personnalisés fonctionnant avec WordPress et Nginx ? Celà requiert une modification dans le fichier de configuration de Nginx. Pour commencer, tapez la commande :
Commande : sudo nano /etc/nginx/sites-available/default
L’éditeur Nano se lance en ouvrant le fichier de configuration que nous avons déjà modifié dans la 3ème partie de notre tuto. Descendez dans le fichier jusqu’à trouver try_files $uri $uri/ /index.html; comme ci-dessous :
Remplacer index.html par index.php dans cette ligne :
try_files $uri $uri/ /index.php;
Cela permettra à l’ensemble des requêtes PHP d’êtres envoyées sur index.php (ainsi que sur WordPress). N’oubliez pas d’activer les permaliens (permalinks) dans votre panneau d’administration WordPress.
Appliquez quelques permissions :
Ces permissions vous permettrons d’uploader des images, d’installer des plugins, des thèmes ainsi que des mises à jour. Pour commencer, nous devons changer le possesseur de votre répertoire www. En effet, sous linux, il existe un utilisateur appelé www-data qui est un utilisateur virtuel. C’est-à-dire qu’il n’existe pas physiquement. www-data est en fait votre site internet. Lorsque vous mettrez à jour votre site internet, c’est www-data qui s’occupera de la mise à jour des fichiers sur votre serveur, sympathique non ? Il est le lien entre votre interface web et vos données de votre serveur web. Allons-y !
Commande : sudo chown -R www-data:www-data /usr/share/nginx/www
Maintenant, nous devons appliquer les permissions à wp-config.php afin de sécuriser ce fichier (je rappelle qu’il contient les informations de connexion à la base de données !). Faites attention, car certains plugins nécessiterons que vous effectuez des modifications dans ce fichier. Je recommande de toujours faire ces modifications vous-même !
Commande : sudo chmod 644 /usr/share/nginx/www/wp-config.php
Pour la suite, changeons les permissions du répertoire wp-content qui contient les fichiers uploadés ainsi que les plugins et les thèmes :
Commande : sudo chmod -R 755 /usr/share/nginx/www/wp-content/
Pour finir, afin de pouvoir installer automatiquement des plugins sans avoir besoin de passer par un serveur FTP, ouvrez votre fichier de configuration :
Commande : sudo nano /usr/share/nginx/www/wp-config.php
Descendez dans le fichier pour trouver la ligne define(‘DB_COLLATE’, »); et ajoutez la ligne suivante à votre configuration :
Commande : define(‘FS_METHOD’, ‘direct’);
Votre fichier de configuration devrait ressembler à ceci maintenant :
Sauvegardez le fichier. Vous avez maintenant accès aux fonctionnalités les plus cools de WordPress :-).
Mettre WordPress en Français et configurer l’heure du site :
Si vous ne voulez pas, comme je l’ai été, chercher pendant des heures pourquoi lorsque je planifiais un article, ce dernier ne sortait jamais à l’heure… Configurer l’heure du site dans les Paramétres généraux (Settings -> General) :
Vous pouvez également choisir la langue du site, cela traduira également toute l’interface de WordPress !
Installer un accélérateur
Votre site est configuré, mais toujours lent… N’hésitez pas à ajouter un accélérateur afin d’accélérer vos requêtes. Cela se traduit le plus souvent par une optimisation de la mise en cache. Plusieurs plugins existent à cet effet. Personnellement j’utilise WP Super Cache qui est l’un des plus réputés. Il fonctionne plutôt bien. La navigation entre les pages de mon site est beaucoup plus fluide (1 seconde pour charger une page en moyenne contre 6 secondes avant). On ne ressent plus la lenteur du Raspberry Pi.
Conclusion :
Cet accélérateur est en effet efficace pour les lecteurs, mais il n’accélère pas l’interface administrateur que je trouve horriblement lent… Cela est surement due à la grosse quantité de requêtes dont doit répondre le RPi lorsque l’on navigue sur les pages administrateurs… Et pour cela, j’ai pallié au problème, d’un point de vue hardware cette fois-ci… Rendez-vous au prochain article ;-).
BenTek.
MERCI!!!
J’ai enfin wordpress sur raspberry ! Je viens d’apprendre énormément de choses en mettant les mains « dedans » !
J’utilise le RPI 3 avec Jessie, j’ai eu quelques difficultés que je ne peux pas complètement lister (ce serait trop long) mais :
– CREATE USER ‘wpuser’@’localhost’ IDENTIFIED BY ‘mot_de_passe_ici’, dans le tuto les apostrophes ne sont pas les bonnes, le temps que je comprenne… je crois que c’est le cas à d’autres reprises ;
– la configuration du fichier /etc/nginx/sites-available/default est différente semble-t-il : après avoir fait les modifications dans le fichier je n’avais plus accès à la page web php. Comme j’avais commenté toutes les modifications apportées j’ai pu ne conserver que ce qui semble être correct. L’usage m’en dira plus.
Par ailleurs, je souhaite l’utiliser en local, en classe mais aussi à distance : existe-t-il une solution pour synchroniser les deux utilisations ?
Je souhaite aussi installer un moodle, si vous avez une idée de tuto… merci