Recherche de site Web

Premiers pas avec WordPress WP-CLI et Nginx sur Ubuntu 22.04


Wordpress est le système de gestion de contenu (CMS) open source le plus largement utilisé, basé sur PHP et MYSQL. WordPress est installé sur plus de 60 millions de sites Web. Il existe de nombreux thèmes et plugins prêts à l’emploi disponibles pour WordPress. Vous pouvez utiliser WordPress comme plateforme de blogs, comme site de commerce électronique (avec WooCommerce) ou comme système CMS pour le site Web de votre entreprise. Matt Mullenweg et Mike Little ont publié la première version de WordPress le 27 mai 2003, sous licence GPLv2.

WP-CLI est un outil de ligne de commande qui fournit une interface de ligne de commande pour gérer votre site WordPress. De zéro à Hero, vous pouvez l'utiliser pour créer votre site WordPress, gérer la base de données WP, modifier la description du site, installer et gérer des thèmes et des plugins, etc. C'est des trucs très sympas qui peuvent vous faire gagner beaucoup de temps. Vous pouvez mettre à jour les plugins, configurer des installations multisites et bien plus encore sans avoir à vous connecter à WordPress dans un navigateur Web. Vous pouvez tout faire depuis le terminal shell/SSH.

Conditions préalables

  • J'utiliserai Ubuntu 22.04 ici
  • Privilèges root

Que couvre ce tutoriel ?

  • Installer et configurer un serveur LEMP de base (Linux, Nginx, MySQL, PHP).
  • Installation de WP-CLI
  • Installez WordPress avec WP-CLI
  • Commandes WP-CLI expliquées

Installation et configuration d'un serveur LEMP (Linux, Nginx, MySQL, PHP)

Dans ce didacticiel, j'utiliserai Nginx comme serveur Web, MySQL comme système de base de données et PHP-FPM pour exécuter WordPress. Nginx est l'un des serveurs Web les plus rapides, il offre des performances élevées avec une faible utilisation de la mémoire.

Alors commençons, installez d'abord tous les packages avec une seule commande "apt-get":

sudo apt install nginx mysql-server mysql-client php8.1 php8.1-fpm php8.1-mysql vim

REMARQUE : Vous serez invité à saisir le mot de passe MySQL. Veuillez saisir un mot de passe sécurisé pour l'utilisateur root MySQL et mémoriser ce mot de passe. Nous en aurons encore besoin plus tard

Editez maintenant le fichier php.ini dans le répertoire "/etc/php/8.1/fpm/".

cd /etc/php/8.1/fpm/
sudo nano php.ini

Veuillez supprimer les commentaires sur la ligne 773 "cgi.fix_pathinfo" et remplacer la valeur par 0 :

cgi.fix_pathinfo=0

Sauvegarder et quitter.

Configurez maintenant Nginx pour utiliser PHP-FPM. Veuillez accéder au répertoire "/etc/nginx/sites-available/" et créer un nouveau fichier pour la configuration de l'hôte virtuel.

cd /etc/nginx/sites-available/
sudo nano wpcli.co

Collez la configuration ci-dessous :

server {
    listen 80;
    #Web Directory
    root /home/vagrant/wordpress;

    index index.php index.html index.htm index.nginx-debian.html;

    server_name wpcli.co;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
    }

    #include h5bp/basic.conf;

    location ~ /\.ht {
        deny all;
    }
}

Remplacez « wpcli.co » dans le paramètre server_name par le nom de domaine que votre installation WordPress doit utiliser.

Activez maintenant l'hôte virtuel en créant un lien symbolique vers le fichier wpcli.co dans le répertoire "/etc/nginx/sites-enabled/" :

sudo ln -s /etc/nginx/sites-available/wpcli.co /etc/nginx/sites-enabled/wpcli.co

Créez ensuite un nouveau répertoire avec le nom "/home/vagrant/wordpress/" et créez un nouveau fichier pour tester l'installation de PHP avec phpinfo(). J'utiliserai ici un utilisateur nommé "vagrant", donc "cd ~" est identique à "cd /home/vagrant" :

cd ~
mkdir -p /home/vagrant/wordpress
echo "<?php phpinfo(); ?>" > wordpress/index.php

Redémarrez le serveur Web nginx et php-fpm :

sudo service nginx restart
sudo service php8.1-fpm restart

Testez l'installation de PHP et Nginx en visitant le site "http://wpcli.co/" dans un navigateur. Remplacez wpcli.co par le nom de domaine de votre site Web/serveur.

Installer WP-CLI

Pour installer wp-cli, vous devez télécharger le fichier .phar (.phar est un format d'archive PHP similaire à .jar pour Java) depuis GitHub avec la commande curl ou wget . , j'utiliserai curl ici :

cd /tmp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Rendre le fichier wp-cli.phar exécutable :

chmod +x wp-cli.phar

Et déplacez-le dans le répertoire bin, la commande renomme wp-cli.phar en "wp" pour une utilisation plus facile :

sudo mv wp-cli.phar /usr/local/bin/wp

Testez maintenant le wp-cli avec la commande :

wp --info

Vous pouvez voir ici que j'utilise PHP 8.1

Commandes WP-CLI de base

Jusqu'à cette étape nous avons :

  • Une installation LEMP (Nginx, MySQL et PHP) en cours d'exécution.
  • Un VirtualHost avec le domaine wpcli.co (ou le nom de domaine que vous avez choisi pour votre site).
  • Un répertoire Web dans "/home/vagrant/wordpress/".
  • La commande WP-CLI installée.

Nous installerons WordPress avec le domaine « wpcli.co » dans le répertoire « /home/vagrant/wordpress/ ». Nous ferons cela avec WP-CLI.

1. Installez Wordpress et configurez la base de données

Veuillez vous rendre sur l'annuaire Web :

cd /home/vagrant/wordpress/

Téléchargez WordPress en utilisant wp-cli, vous pouvez télécharger une version différente de WordPress, j'utiliserai la version 6.1.1 ici :

wp core download --version=6.1.1

Si vous souhaitez utiliser une version différente, modifiez le numéro de version.

Ensuite, créez la base de données pour WordPress via le shell MySQL. Veuillez vous connecter au serveur MySQL avec la commande suivante :

sudo mysql -u root -p
ENTER YOUR PASSWORD

Une fois connecté à MySQL, créez un nouvel utilisateur et une nouvelle base de données :

create database wordpressdb;
create user iamuser@localhost identified by 'iamuser@';
grant all privileges on wordpressdb.* to iamuser@localhost identified by 'iamuser@';
flush privileges;
\q

J'ai créé une nouvelle base de données avec le nom "wordpressdb", un nouvel utilisateur "iamuser" et j'ai accordé à l'utilisateur l'accès à la base de données.

La base de données a été créée, je vais maintenant créer un fichier "wp-config.php" avec les informations d'identification de la base de données de l'utilisateur MySQL que nous avons ajoutées ci-dessus.

wp core config --dbname=wordpressdb --dbuser=iamuser --dbpass=iamuser@

Lorsque vous voyez cette ligne, le fichier a été créé avec succès.

Success: Generated wp-config.php file.

Les options expliquées :

  • --dbname=Nom de la base de données
  • --dbuser=Utilisateur qui a accordé l'accès à la base de données
  • --dbpass=Mot de passe de la base de données

Il est maintenant temps d'installer WordPress avec la commande "wp core install", la commande nécessite ces paramètres :

  • --url : votre nom de domaine. wpcli.co
  • --title : Titre de votre site.
  • --admin_user : nom d'utilisateur administrateur que vous utilisez pour vous connecter à WordPress.
  • --admin_password : mot de passe de l'utilisateur administrateur
  • --admin_email : votre adresse e-mail pour être remarqué en cas de problème lié au site.

Faisons-le:

wp core install --url=wpcli.co --title=WP-CLI\ \Tutorials --admin_user=admin --admin_password=aqwe123 [email 

La commande donne :

Success: WordPress installed successfully.

Visitez maintenant votre nom de domaine : wpcli.co avec le navigateur Web.

(Si vous souhaitez tester l'administrateur, veuillez vous rendre sur wpcli.co/wp-login.php à la place).

REMARQUE :

Si vous recevez un message d'erreur du type "sh: 1: /usr/sbin/sendmail: not found", veuillez installer "sendmail" avec cette commande apt :

sudo apt-get install sendmail

2. Gestion des thèmes Wordpress avec WP-CLI

Recherchez les thèmes WordPress disponibles :

wp theme search KEYWORD-THEME

Installez un thème WordPress, en l'occurrence le thème portant le nom « MyKnowledgeBase » :

wp theme install MyKnowledgeBase

Une fois le thème installé, activez-le :

wp theme activate myknowledgebase

Obtenez une liste de tous les thèmes installés :

wp theme list

3. Gérer les plugins Wordpress avec WP-CLI

Rechercher des plugins :

wp plugin search KEYWORD

Installer les plugins :

wp plugin install PLUGINNAME

Activez un plug-in :

wp plugin activate PLUGINNAME

Voir tous les plugins installés :

wp plugin list

Obtenez le statut du plugin, Actif ou Inactif :

wp plugin status

4. Gérer la base de données WordPress

Connectez-vous au shell MySQL en utilisant les informations d'identification WordPress :

wp db cli

Afficher toutes les tables de la base de données WordPress :

wp db tables

Exportez la base de données WordPress vers un fichier .sql. Ceci est très utile pour les sauvegardes :

wp db export databasename.sql

Importez une base de données WordPress :

wp db import databasename.sql

Exécutez une requête MySQL sous l'utilisateur WordPress MySQL :

wp db query "MySQL Query"

5. Autres commandes

WP-CLI propose beaucoup plus de commandes et d'options. Vous pouvez utiliser "wp --help" pour voir toutes les commandes. Il existe des commandes pour gérer les utilisateurs WordPress, les rôles d'utilisateur, les publications, le menu, les widgets, etc.

Conclusion

WordPress est un CMS et une plateforme de blogs populaire utilisé sur des millions de sites Web. Il existe de nombreux plugins et thèmes WordPress gratuits et commerciaux disponibles. WP-CLI est un ensemble de commandes pour gérer votre site WordPress. C’est très utile et facile à utiliser. Vous pouvez créer et gérer votre site WordPress directement sur le shell sans vous connecter à WordPress dans le navigateur.

Référence

  • https://github.com/wp-cli/wp-cli/wiki/
  • http://wp-cli.org/commands/

Articles connexes: