WordPress est aujourd’hui un CMS incontournable, que vous souhaitiez créer un blog, un site de e-commerce ou encore votre portfolio. Nous allons voir dans cet article comment mettre en place LAMP (acronyme de Linux, Apache MySQL et PHP), puis installer la dernière version de WordPress.
Installer LAMP
Avec un utilisateur ayant les droits sudo, exécutez la commande suivante :sudo apt-get install apache2 apache2-utils php libapache2-mod-php php-mysql php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip mariadb-server mariadb-client
Vérifier le statut du serveur Apache
Pour vérifier que le serveur web Apache est bien actif, exécutez la commande suivante :sudo systemctl status apache2
Au cas où il est inactif, activez-le avec :sudo systemctl start apache2
Pour qu’il soit activé par défaut au démarrage du serveur :sudo systemctl enable apache2
Pour le redémarrer :sudo systemctl restart apache2
Configurer le firewall pour autoriser les connexions HTTP (80) et HTTPS (443)
Une seule commande UFW suffit pour ouvrir les ports 80 et 443 :sudo ufw allow 'WWW Full'
« WWW Full » correspond à un profil UFW. Vous pouvez voir les profils existants sur votre système dans le répertoire /etc/ufw/applications.d/ . Exemple :
En regardant le contenu de ufw-webserver, vous pouvez voir à quoi correspond « WWW Full » :
Vérifier la connexion au serveur Apache
Si les étapes précédents se sont bien déroulées, si vous ouvrez votre navigateur et entrez l’adresse IP de votre serveur (sur un réseau local elle ressemblerait à 192.168.0.2) la page suivante doit s’afficher :
Création d’un hôte virtuel (Virtual Host)
Vous pouvez héberger plusieurs sites sur votre serveur web Apache, chacun correspondant à ce qu’on appelle un VirtualHost. Ces derniers sont définis par un fichier de configuration distinct que l’on crée dans le répertoire /etc/apache2/sites-available/ .
Nous allons donc créer un hôte virtuel pour notre site WordPress, en considérant que nous avons déjà un nom de domaine pour ce dernier.
Créer le fichier de configuration suivant à l’aide d’un éditeur de texte :sudo vi /etc/apache2/sites-available/[votre nom de domaine].conf
Copiez-coller ensuite l’exemple suivant et compléter avec les informations relatives à votre domaine :
<VirtualHost *:80>
ServerAdmin admin@[votre nom de domaine]
ServerName [votre nom de domaine]
ServerAlias www.[votre nom de domaine]
DocumentRoot /var/www/[votre nom de domaine]/
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Activez ensuite votre nouvel hôte virtuel et redémarrer l’Apache avec les commandes suivantes :sudo a2ensite [votre nom de domaine].conf
sudo systemctl reload apache2
Sécuriser l’instance MySQL
Tout d’abord, sécurisons notre instance MySQL en exécutant le script suivant :sudo mysql_secure_installation
Vous pouvez répondre oui à toutes les questions (sauf peut-être le changement de mot de passe root).
Créer la base de données MySQL en ligne de commande
Il est temps de créer notre base de donnée WordPress en nous connectant à l’invite de commande mysql en tant qu’utilisateur root.
$ sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE monSite;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON monSite.* TO 'monSiteAdmin'@'localhost' IDENTIFIED BY 'MotDePasseSecurisé!';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Récupérer la dernière version de WordPress
Depuis votre répertoire /home, récupérez la dernière archive de WordPress avec la commande suivante :wget http://wordpress.org/latest.tar.gz
Extraire le contenu de l’archive WordPress et le copier dans le dossier de notre hôte virtuel
Exécutez les commandes à la suite :
$ sudo tar xvzf latest.tar.gz
$ sudo mkdir -p /var/www/[votre nom de domaine]
$ sudo cp -r wordpress/* /var/www/[votre nom de domaine]
Avant de vous lancer dans la configuration de l’instance WordPress, lancez les commandes ci-dessous. Elles permettent de s’assurer que les services Apache et MySQL ont bien pris en compte nos dernières modification en les redémarrant, puis de modifier les droits du répertoire /var/www/[votre nom de domaine] afin que WordPress puisse y avoir accès en écriture.
$ sudo service apache2 restart
$ sudo service mysql restart
$ sudo chown -R www-data /var/www/[votre nom de domaine]
$ sudo chmod -R 755 /var/www/[votre nom de domaine]
Se connecter à l’assistant d’installation WordPress et configurer le site
Ouvrez un navigateur et entrez l’adresse IP de votre serveur.
L’assistant d’installation WordPress s’affiche et vous aurez à suivre les étapes suivantes :
– Choix du langage
– Configuration de la BDD (avec les paramètres que nous avons défini dans les étapes précédentes)
– Configuration du site
A l’issue de l’installation, vous serez invités à vous logger puis serez redirigé vers le dashboard WordPress.
Modifier les permissions du répertoires /var/www/[votre nom de domaine]
Avant de commencer à customiser notre site WordPress, n’oublions pas de remettre les permissions de notre dossier à l’état initial.
Exécutez la commande :sudo chown -R root /var/www/[votre nom de domaine]
Remarque : si vous faites cela vous ne pourrez pas faire les mises à jour WordPress à partir de l’interface car l’utilisateur qui fait tourner votre serveur web (www-data) ne pourra pas modifier les fichiers. Vous pouvez soit laisser les permissions de départ à www-data, soit les modifier avant chaque mise à jour via la commande :sudo chown www-data:www-data -R *
Ce n’est pas fini !
WordPress est maintenant installé, nous avons un serveur Web Apache et une base de données MySQL qui tournent, mais il reste encore quelques points à voir pour que l’environnement soit complètement terminé :
- Faire le lien avec votre nom de domaine en DynDNS (si vous êtes sur une connexion sans IP fixe)
- Renforcer les règles du fichier .htaccess de notre instance WordPress
- Activer le HTTPS sur notre site WordPress