Raspberry Pi – Installation de WordPress

Maintenant qu’on a un serveur LAMP opérationnel
Installer un serveur LAMP
On va installer WordPress

Création d’une base de données WordPress

Accès à la MariaDB
sudo mysql -uroot -p

Ajout de la nouvelle base de données
create database wordpress_db default character set utf8mb4 collate utf8mb4_general_ci; # Avec choix Interclassement/Collation correspondant à votre langue et votre encodage.

Création d’un utilisateur MariaDB ‘wp_user’ spécifique pour wordpress
CREATE USER 'wp_user'@'localhost' IDENTIFIED BY 'mot_de_passe';

On lui donne les droits complets sur la nouvelle base de données
GRANT ALL PRIVILEGES ON wordpress_db.* TO 'wp_user'@'localhost';

On valide le tout
FLUSH PRIVILEGES;

Et on quitte MariaDB
QUIT; # ou Ctrl + D

Un petit redémarrage
sudo reboot

Installation de WordPress

Création du dossier recevant les fichiers wordpress
cd /var/www
sudo mkdir -m 750 word_press
cd word_press

Téléchargement des fichiers # en français
sudo wget https://fr.wordpress.org/latest-fr_FR.tar.gz
ou en anglais
sudo wget http://wordpress.org/latest.tar.gz

On décompresse le fichier
sudo tar xzf latest-fr_FR.tar.gz # En français
ou
sudo tar xzf latest.tar.gz # En anglais

On déplace tous les fichiers à la racine actuelle
sudo mv wordpress/* .

Et on supprime les fichiers inutiles
sudo rm -rf wordpress latest-fr_FR.tar.gz # En français
ou

sudo rm -rf wordpress latest.tar.gz # En anglais

On vérifie
sudo ls # ou sudo tree -L 1

On donne les permissions à l’utilisateur ‘www-data’ apache
sudo chown -R www-data: .

On vérifie encore
sudo ls -l

Édition du fichier de configuration
cd /etc/apache2/sites-available # Déplacement vers le dossier des sites disponibles
sudo cp 000-default.conf word_press.conf # Copie du fichier HTML par défaut
sudo nano word_press.conf # Édition du fichier de configuration

Modifier le fichier de configuration ainsi

#Directive ServerName correspondant au nom du serveur principal
ServerName 127.0.1.1

# HTTP
<VirtualHost *:80>
   ServerName wordpress.domaine # Pointe vers nom de domaine
   ServerAlias www.wordpress.domaine # Alias nom de domaine
    DocumentRoot /var/www/word_press # Répertoire du site
    <Directory /var/www/word_press> # Droits du répertoire
            AllowOverride all
            Require all granted
    </Directory>
    ErrorLog /var/log/apache2/error.wordpress.log # log spécifique
    CustomLog /var/log/apache2/access.wordpress.log combined
</VirtualHost>

On active le fichier du site
sudo a2ensite word_press.conf

On désactive le fichier par défaut d’apache
sudo a2dissite 000-default.conf

On teste qu’il n’y a pas d’erreur
sudo apache2ctl configtest

On redémarre apache
sudo systemctl reload apache2

Pour activer le module apache FPM
sudo a2enmod proxy_fcgi setenvif
Version_Php=$(php -v | grep -o '[0-9]\.[0-9]' -m 1); echo -e "\nVersion_Php = ${Version_Php}\n"; sudo a2enconf php"${Version_Php}"-fpm # Avec auto-detection de la version de php

On redémarre apache
sudo systemctl reload apache2

Utilisation d’un reverse proxy

Permet de se connecter sur un 2ème système (par exemple sur une Raspberry Pi) et sur le même routeur (avec donc le même IP internet)