Installer WordPress sur Raspberry Pi

Installer le serveur sur votre Raspberry Pi

Outre les classiques commandes de mises à jour qui devraient être exécutées avant toute installation, nous allons devoir installer un serveur web ainsi que PHP et MySQL sur la Raspberry Pi.
Ici nous choisissons d’installer Nginx. En effet, si il est un peu plus compliqué à configurer qu’Apache, il est également nettement plus rapide, ce qui sera un réel avantage sur une Raspberry Pi.

sudo apt-get update upgrade
sudo apt-get install -y nginx php php-fpm mysql-server php-mysql

Avec cette commande, tous les dépôts nécessaires vont s’installer, à savoir Ngnix, PHP et enfin MySQL qui est la base de données utilisée par WordPress.
Lors de l’installation, il va vous être demandé quelques informations, notamment le nom et le mot de passe du compte MySQL, mémorisez bien les informations données, elles seront utiles par la suite !
Une fois l’installation terminée, vous allez devoir configurer Nginx. Pour cela, reportez-vous à la partie « Configurer Nginx » de notre tutoriel Installer Nginx Raspbian, et accélérez votre serveur web Raspberry.

Création d’une base de données pour WordPress sur la Raspberry Pi

Suite à cette installation nous allons devoir créer une base de données pour le futur site WordPress hébergé sur la Raspberry Pi. Nous allons être un poil barbu (poil, barbu ! Non ? Bon tant pis…) l’espace d’un instant.

sudo mysql --user=root

Expliquons rapidement la ligne de commande. « sudo » permet de demander l’exécution de la commande en tant qu’administrateur. « mysql » demande une connexion au serveur de base de données, « -u » permet de signaler le nom du compte MySQL à utiliser (ici le compte root).

Nous allons maintenant définir le mot de passe de MySQL. Pour cela, une fois connecté à MySQL, tapez la commande suivante :

DROP USER 'root'@'localhost';
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';

Ces lignes vont en fait supprimer l’utilisateur MySQL de base (qui ne possède pas de mot de passe), pour en créer un nouveau avec le mot de passe de notre choix. Remplacez password par le mot de passe que vous souhaitez utiliser pour l’administrateur MySQL.

Création de la base pour WordPress

Une fois ceci fait, re-connectez vous à MySQL (vous devriez voir apparaître en début de ligne « mysql> ») avec la commande suivante :

sudo mysql -u root -ppassword

Nous allons maintenant créer une base pour WordPress. Pour cela, utilisez la commande suivante :

create database wordpress;

Ici, « wordpress » est le nom de la base de données qui sera utilisée, vous pouvez mettre un autre nom si vous le désirez, mais vous devrez alors prendre en compte cette différence dans la suite du tutoriel.

Création d’un utilisateur dédié à cette base

Une bonne habitude à prendre quand vous utilisez une base de données est de bien séparer les différentes tables entre plusieurs utilisateurs dédiés.
Cela permet d’augmenter la sécurité ! En effet, si une personne réussi à prendre le contrôle de votre site à cause d’une faille de sécurité (ça peut toujours arriver), deux situations sont possibles.

  1. Vous utilisez un seul utilisateur MySQL, root, avec tous les droits sur toutes les tables. L’attaquant pourra donc récupérer non seulement les données du site attaqué, mais également les données de tous les autre sites.
  2. Vous utilisez un utilisateur MySQL par site qui ne posséde de droits que sur la base de ce site. L’attaquant ne pourra récupérer que les données de ce site !

Ici, nous allons donc créer un utilisateur dédié à votre site WordPress.
Pour cela, il vous suffit d’exécuter la commande suivante :

GRANT ALL PRIVILEGES ON wordpress.* TO "nom_utilisateur"@"localhost" IDENTIFIED BY 'mot_de_passe';

Dans cette commande, « wordpress » est le nom de la base, « nom_utilisateur » le nom de l’utilisateur que vous voulez créer et « mot_de_passe » le mot de passe de l’utilisateur ! À vous donc d’adapter selon vos préférences !
Vous pouvez maintenant quitter MySQL en faisant Ctrl+d.

Télécharger WordPress sur Raspberry Pi

Maintenant que notre base de données est prête et que notre serveur Nginx est installé, nous allons pouvoir télécharger WordPress !
Tout d’abord, nous allons nous rendre à la racine du serveur, qui est, si vous avez suivi notre tutoriel sur Ngnix, situé dans /var/www/html, puis nous allons télécharger la dernière version de WordPress. Pour cela, lancez les lignes de commandes suivantes :

cd /var/www/html
sudo wget http://wordpress.org/latest.tar.gz

Ensuite, nous allons extraire le contenu via la commande « tar ».

sudo tar xzf latest.tar.gz
sudo rm -rf latest.tar.gz

Un nouveau dossier va être créé lors de l’extraction, le dossier « wordpress ». Nous avons au passage supprimé l’archive, celle-ci nous étant maintenant inutile.

Nous allons nous assurer que Nginx ai les droits d’accès au dossier. Pour cela, lancez la commande suivante :

sudo chown -R www-data /var/www/html/wordpress

Configurer Nginx pour rediriger les requêtes vers WordPress

Pour que votre site soit accessible depuis internet avec l’adresse URL de votre choix, et pour que les requêtes soient toutes traitées par WordPress, vous allez devoir modifier un peu la configuration de Nginx.

Pour cela, nous allons commencer par écrire le fichier « /etc/nginx/sites-available/wordpress ». Ce fichier devra contenir le code suivant :

server {
 listen 80;
 root /var/www/html/wordpress;
 index index.php;
 server_name <nom_de_votre_site> www.<nom_de_votre_site>;
 access_log /var/log/nginx/<nom_de_votre_site>.access_log;
 error_log /var/log/nginx/<nom_de_votre_site>.error_log
 notice;
 location / {
  try_files $uri $uri/ /index.php?$args;
 }
 location ~ \.php$
 {
  include snippets/fastcgi-php.conf;
  fastcgi_pass unix:/var/run/php5-fpm.sock;
 }
}

Bien entendu, remplacez <nom_de_votre_site> et par les valeurs adaptées. Si vous ne possédez pas de nom de domaine, vous pouvez le remplacer par l’adresse IP de votre Raspberry Pi pour le champ « server_name ».

Une fois le fichier enregistré, vous allez faire un lien symbolique pour activer le réglage. Pour cela, il vous suffit d’utiliser la ligne de commande suivante :

ln -s /etc/nginx/sites-available/<nom_de_votre_site> /etc/nginx/sites-enabled/<nom_de_votre_site>

Vous n’avez plus qu’à redémarrer le serveur Nginx avec la commande suivante :

/etc/init.d/nginx restart

Première connexion au WordPress sur votre Raspberry Pi

Nous allons maintenant nous connecter pour la première fois au WordPress pour finaliser l’installation.
Dans le navigateur, nous allons taper l’ip de la Raspberry Pi (vous pouvez trouvez l’IP dans la configuration de votre box).
Dans notre cas par exemple, cela donne « http://192.168.1.24 »
Vous devriez alors arriver sur la page suivante.

Page de démarrage de wordpress

Au premier démarrage de WordPress vous vous retrouvez sur la page d’installation

   Envoyer l'article en PDF   

Laisser un commentaire