Tutorial

Comment installer WordPress avec OpenLiteSpeed sur Ubuntu 18.04

UbuntuMiscellaneousWordPressControl PanelsUbuntu 18.04

Introduction

WordPress est un système de gestion de contenu (CMS) open source. WordPress, le CMS le plus populaire au monde, vous permet de créer des blogs et des sites web en plus d'une base de données MySQL, en utilisant PHP pour exécuter des scripts et traiter le contenu dynamique.

OpenLiteSpeed est un serveur web open source optimisé que vous pouvez utiliser pour gérer et utiliser des sites web. OpenLiteSpeed possède des caractéristiques utiles qui en font un choix fiable pour de nombreuses installations : des règles de réécriture compatibles avec Apache, une interface d'administration web intégrée et un traitement PHP personnalisé et optimisé pour le serveur.

Ce guide présente le processus d'installation et de configuration d'une instance de WordPress sur Ubuntu 18.04 en utilisant le serveur web OpenLiteSpeed. Comme WordPress et OpenLiteSpeed peuvent tous deux être administrés par un navigateur web, cette configuration est idéale pour ceux qui n'ont pas d'accès régulier à une session SSH ou pour ceux qui ne se sentent pas à l'aise à l'idée de gérer un serveur web via la ligne de commande.

Conditions préalables

Avant de commencer ce guide, vous aurez besoin de ce qui suit :

Étape 1 - Créez une base de données et un utilisateur de base de données pour WordPress

WordPress utilise MySQL pour gérer et stocker les informations du site et des utilisateurs. Vous avez déjà installé MySQL, mais comme étape préliminaire, vous devez créer une base de données et un utilisateur pour WordPress.

Pour commencer, connectez-vous à votre serveur en utilisant SSH :

  • ssh sammy@your_server_IP

Puis connectez-vous au compte root MySQL :

  • sudo mysql

Remarque : si vous avez exécuté l’Étape 3 du tutoriel MySQL et configuré votre utilisateur MySQL root pour vous authentifier avec le plugin mysql_native_password, vous devrez vous connecter avec la commande suivante :

  • mysql -u root -p

Entrez ensuite votre mot de passe d'utilisateur root lorsqu'on vous le demande.

À partir de l'invite MySQL, créez une base de données avec la commande suivante. Dans le cas présent, nous appellerons cette base de données wordpress pour que l'exemple reste simple, mais vous pouvez lui donner le nom que vous voulez :

  • CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Ensuite, créez un utilisateur et accordez-lui des privilèges sur la base de données que vous venez de créer. Là encore, vous pouvez donner n'importe quel nom à cet utilisateur, mais par souci de simplicité, nous l'appellerons wordpressuser. Par ailleurs, veillez à modifier le password pour en créer un fiable :

  • GRANT ALL PRIVILEGES ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';

Exécutez ensuite FLUSH PRIVILEGES qui ordonne au serveur de recharger les tableaux de subventions et de mettre vos nouvelles modifications en vigueur :

  • FLUSH PRIVILEGES;

Ensuite, vous pouvez fermer le message-guide MySQL :

  • exit

Vous avez fini de configurer votre installation MySQL pour qu'elle fonctionne avec WordPress. Maintenant, nous allons installer quelques extensions PHP.

Étape 2 - Installez des extensions PHP supplémentaires

Dans le tutoriel OpenLiteSpeed préalable, vous avez installé le package lsphp73. Il s'agit d'une compilation de PHP optimisée pour OpenLiteSpeed qui utilise le SAPI LiteSpeed pour communiquer avec des apps externes. En fonction de vos besoins, WordPress peut avoir besoin d'autres extensions PHP pour fonctionner comme vous le souhaitez.

Pour installer certaines extensions PHP couramment utilisées avec WordPress, exécutez la commande suivante :

  • sudo apt install lsphp73-common lsphp73-curl lsphp73-imagick lsphp73-imap lsphp73-json lsphp73-memcached lsphp73-mysql lsphp73-opcache lsphp73-redis

Remarque : il est possible que les packages de cette commande ne couvrent pas tous les cas d'utilisation. Pour une liste complète des extensions PHP 7.3 disponibles à partir du dépôt LiteSpeed que vous avez ajouté à votre serveur dans le tutoriel des prérequis,voir le Wiki LiteSpeed.

Ensuite, vous pouvez passer au téléchargement et à la configuration de WordPress sur votre serveur.

Étape 3 - Téléchargez WordPress

Maintenant que le logiciel de votre serveur est configuré, vous pouvez installer et paramétrer WordPress. Pour des raisons de sécurité notamment, il est toujours recommandé de se procurer la dernière version de WordPress sur leur site.

Passez dans un répertoire accessible en écriture, puis téléchargez la version compressée en tapant :

  • cd /tmp
  • curl -O https://wordpress.org/latest.tar.gz

Extrayez le fichier compressé pour créer la structure de répertoire de WordPress :

  • tar xzvf latest.tar.gz

Nous allons momentanément déplacer ces fichiers dans notre document racine, mais nous allons d'abord créer quelques fichiers et répertoires dont dépendra l'installation de WordPress.

OpenLiteSpeed prend en charge les fichiers .htaccess. C'est important pour nous, puisque WordPress utilise des fichiers .htaccess pour créer et gérer des permaliens.

Ajoutez un fichier .htaccess factice afin qu'il soit disponible pour une utilisation ultérieure par WordPress :

  • touch /tmp/wordpress/.htaccess

Ensuite, copiez le fichier de configuration type vers le nom de fichier que WordPress lit réellement :

  • cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

Créez en outre le répertoire upgrade afin que WordPress ne se heurte pas à des problèmes de permissions lorsqu'il essaie de le faire seul après une mise à jour de son logiciel :

  • mkdir /tmp/wordpress/wp-content/upgrade

Copiez ensuite la totalité du contenu du répertoire dans votre document root. OpenLiteSpeed s'ouvre avec un hôte virtuel par défaut nommé Example, situé dans le répertoire /usr/local/lsws/. Le document root pour l'hôte virtuel Example est le sous-répertoire html :

  • sudo cp -a /tmp/wordpress/. /usr/local/lsws/Example/html/wordpress

Notez que cette commande comporte un point à la fin du répertoire source pour indiquer que tout ce qui se trouve dans le répertoire doit être copié, y compris les fichiers cachés (comme le fichier .htaccess que vous avez créé) :

Vous avez ainsi réussi à installer WordPress sur votre serveur web et à effectuer certaines des étapes de configuration initiales. Maintenant, nous allons passer en revue d'autres changements de configuration qui accorderont à WordPress les privilèges dont il a besoin pour fonctionner en toute sécurité et accéder à la base de données MySQL et au compte utilisateur que vous avez précédemment créé.

Étape 4 - Configurez le répertoire WordPress

Avant de pouvoir parcourir le processus de configuration de WordPress sur le web, nous devons ajuster certains éléments de notre répertoire WordPress.

Commencez par donner la propriété de tous les fichiers du répertoire à l'utilisateur nobody et au groupe nogroup, que le serveur web OpenLiteSpeed exécute par défaut. La commande chown suivante permettra à OpenLiteSpeed de lire et d'écrire des fichiers dans le répertoire wordpress, ce qui lui permettra de servir le site web et d'effectuer des mises à jour automatiques :

  • sudo chown -R nobody:nogroup /usr/local/lsws/Example/html/wordpress

Lancez ensuite deux commandes find pour définir les autorisations correctes sur les répertoires et les fichiers WordPress :

  • sudo find /usr/local/lsws/Example/html/wordpress/ -type d -exec chmod 750 {} \;
  • sudo find /usr/local/lsws/Example/html/wordpress/ -type f -exec chmod 640 {} \;

Ces autorisations devraient être suffisantes pour commencer, bien que certains plugins et certaines procédures puissent nécessiter des ajustements supplémentaires.

Ensuite, vous devrez apporter quelques modifications au fichier de configuration principal de WordPress.

Lorsque vous ouvrirez le fichier, votre premier objectif sera d'ajuster certaines clés secrètes pour assurer une certaine sécurité à votre installation. WordPress fournit un générateur sécurisé pour ces valeurs, afin que vous n'ayez pas à essayer de trouver de bonnes valeurs par vous-même. Elles ne sont utilisées qu'en interne, si bien qu'il n'est pas gênant d'avoir des valeurs complexes et sûres ici.

Pour récupérer des valeurs sécurisées du générateur de clés secrètes de WordPress, tapez :

  • curl -s https://api.wordpress.org/secret-key/1.1/salt/

Vous récupérerez des valeurs uniques qui ressemblent à ceci :

Attention ! Il est important que vous demandiez des valeurs uniques à chaque fois. Ne copiez PAS les valeurs indiquées ci-dessous !

Output
define('AUTH_KEY', '1jl/vqfs<XhdXoAPz9 DO NOT COPY THESE VALUES c_j{iwqD^<+c9.k<J@4H'); define('SECURE_AUTH_KEY', 'E2N-h2]Dcvp+aS/p7X DO NOT COPY THESE VALUES {Ka(f;rv?Pxf})CgLi-3'); define('LOGGED_IN_KEY', 'W(50,{W^,OPB%PB<JF DO NOT COPY THESE VALUES 2;y&,2m%3]R6DUth[;88'); define('NONCE_KEY', 'll,4UC)7ua+8<!4VM+ DO NOT COPY THESE VALUES #`DXF+[$atzM7 o^-C7g'); define('AUTH_SALT', 'koMrurzOA+|L_lG}kf DO NOT COPY THESE VALUES 07VC*Lj*lD&?3w!BT#-'); define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY DO NOT COPY THESE VALUES C-?y+K0DK_+F|0h{!_xY'); define('LOGGED_IN_SALT', 'i^/G2W7!-1H2OQ+t$3 DO NOT COPY THESE VALUES t6**bRVFSD[Hi])-qS`|'); define('NONCE_SALT', 'Q6]U:K?j4L%Z]}h^q7 DO NOT COPY THESE VALUES 1% ^qUswWgn+6&xqHN&%');

Il s'agit de lignes de configuration que vous collerez directement dans votre fichier de configuration pour définir des clés sécurisées. Copiez le résultat obtenu dans votre presse-papiers, puis ouvrez le fichier de configuration WordPress situé dans votre document root :

  • sudo nano /usr/local/lsws/Example/html/wordpress/wp-config.php

Trouvez la section qui contient les valeurs factices pour ces paramètres. Ils ressembleront à cela :

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

Supprimez ces lignes et collez les valeurs que vous avez copiées depuis la ligne de commande :

/var/www/wordpress/wp-config.php
. . .

define('AUTH_KEY',         'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_KEY',  'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_KEY',    'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_KEY',        'VALUES COPIED FROM THE COMMAND LINE');
define('AUTH_SALT',        'VALUES COPIED FROM THE COMMAND LINE');
define('SECURE_AUTH_SALT', 'VALUES COPIED FROM THE COMMAND LINE');
define('LOGGED_IN_SALT',   'VALUES COPIED FROM THE COMMAND LINE');
define('NONCE_SALT',       'VALUES COPIED FROM THE COMMAND LINE');

. . .

Ensuite, modifiez les paramètres de connexion à la base de données en haut du fichier. Vous devez ajuster le nom de la base de données, l'utilisateur de la base de données et le mot de passe associé que vous avez configuré dans MySQL.

L'autre modification que nous devons apporter consiste à définir la méthode que WordPress doit utiliser pour écrire dans le système de fichiers. Comme nous avons donné au serveur Web la permission d'écrire là où il en a besoin, nous pouvons explicitement définir la méthode du système de fichiers sur direct. Si ce paramètre n'est pas défini dans nos paramètres actuels, WordPress vous demandera de fournir des informations d'identification FTP lorsque vous effectuerez certaines actions.

Ce paramètre peut être ajouté sous les paramètres de connexion à la base de données ou n'importe où ailleurs dans le fichier :

/var/www/wordpress/wp-config.php
. . .

define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

. . .

define('FS_METHOD', 'direct');

Enregistrez et fermez le fichier lorsque vous avez terminé.

À ce stade, WordPress n'est pas encore entièrement configuré sur votre système, car vous devez encore apporter quelques touches finales avant de pouvoir commencer à publier du contenu. Pour ce faire, cependant, vous devrez d'abord apporter quelques modifications à la configuration de votre installation OpenLiteSpeed.

Étape 6 - Configurez OpenLiteSpeed

Actuellement, WordPress est installé sur votre serveur Ubuntu, mais votre installation OpenLiteSpeed n'a pas encore été configurée pour le servir. Dans cette étape, nous allons accéder à l'interface d'administration d'OpenLiteSpeed et apporter quelques modifications à la configuration de votre serveur.

Dans votre navigateur web préféré, naviguez vers l'interface administrative OpenLiteSpeed. Vous pouvez la trouver en entrant l'adresse IP publique de votre serveur ou le nom de domaine qui lui est associé, suivi de :7080, dans la barre d'adresse de votre navigateur :

https://server_domain_or_IP:7080

Vous y trouverez un écran de connexion. Saisissez le nom d'utilisateur et le mot de passe que vous avez définis dans le tutoriel d'installation préalable d'OpenLiteSpeed :

Ecran de connexion OpenLiteSpeed

Depuis la console OpenLiteSpeed, trouvez Configuration du serveur dans le menu latéral de gauche, et cliquez dessus. Naviguez ensuite vers l'onglet App externe, trouvez la ligne de l’App SAPI LiteSpeed, et cliquez sur son bouton Édition :

Page de configuration du serveur

Rappelez-vous que dans le tutoriel OpenLiteSpeed préalable, vous avez installé le package lsphp73, une compilation de PHP optimisée pour fonctionner avec OpenLiteSpeed via le LiteSpeed SAPI. Cependant, les paramètres par défaut dans la page External App désignent lsphp plutôt que lsphp73. Pour cette raison, votre installation OpenLiteSpeed ne pourra pas exécuter correctement les scripts PHP.

Pour corriger ceci, modifiez le champ Name en l'appelant lsphp73, modifiez le champ Address pour uds://tmp/lshttpd/lsphp73.sock et modifiez le champ Command pour afficher $SERVER_ROOT/lsphp73/bin/lsphp :

External App changes

Après avoir effectué ces modifications, cliquez sur l'icône Save dans le coin supérieur droit de la case LiteSpeed SAPI App.

Ensuite, cliquez sur Virtual Hosts dans le menu de gauche. Sur la page Virtual Hosts, trouvez l'hôte virtuel que vous prévoyez d'utiliser et cliquez sur son icône View. Pour cet exemple, nous utiliserons l'hôte virtuel par défaut Example :

Virtual Hosts page

Naviguez vers l'onglet General de l'hôte virtuel. Cherchez la section General et cliquez sur son bouton Edit :

Virtual Hosts General Tab

OpenLiteSpeed examine le contenu du champ Document Root à la recherche de contenu à gérer. Étant donné que l'ensemble de votre contenu et de vos fichiers WordPress sont stockés dans le répertoire wordpress que vous avez créé plus tôt, mettez à jour le champ Document Root pour renvoyer à ce répertoire. Pour ce faire, il vous suffit d'ajouter wordpress/ à la fin de la valeur par défaut :

Virtual Hosts General changes

Cliquez sur l'icône Save pour enregistrer cette modification.

Ensuite, vous devez activer les fichiers index.php afin qu'ils puissent être utilisés pour traiter les demandes qui ne sont pas traitées par des fichiers statiques. Cela permettra à la logique principale de WordPress de fonctionner correctement.

Toujours dans l'onglet General, faites défiler vers le bas jusqu'à la section Index Files et cliquez sur son icône Edit :

Virtual hosts Index Files page

Dans le champ Index Files, placez index.php, avant index.html. En plaçant index.php avant index.html, vous autorisez les fichiers d'index PHP à prévaloir. Après avoir mis à jour ce champ, il ressemblera à ceci :

Virtual Hosts index files changes

Assurez-vous de cliquer sur l'icône Save avant de continuer.

Ensuite, naviguez vers l'onglet Rewrite de l'hôte virtuel. Trouvez la section Rewrite Control et appuyez sur le bouton Edit :

Virtual Hosts Rewrite page

Définissez les options Enable Rewrite et Auto Load from .htaccess sur Yes en cliquant sur leurs boutons radiaux respectifs. En configurant les instructions de réécriture de cette manière, vous pourrez utiliser les permaliens dans votre installation WordPress :

Virtual Hosts rewrite changes

Cliquez sur l'icône Save après avoir effectué ces modifications.

L'hôte virtuel par défaut qui est inclus avec l'installation d'OpenLiteSpeed comprend certaines zones protégées par mot de passe pour présenter les fonctionnalités d'authentification des utilisateurs d'OpenLiteSpeed. WordPress comprend ses propres mécanismes d'authentification et nous n'utiliserons pas l'authentification basée sur les fichiers incluse dans OpenLiteSpeed. Nous devrions nous en débarrasser afin de minimiser les fragments de configuration parasites actifs sur notre installation WordPress.

Tout d'abord, cliquez sur l'onglet Security puis cliquez sur le bouton Delete à côté de SampleProtectedArea dans la table Realms List :

OpenLiteSpeed security realm list

Il vous sera demandé de confirmer la suppression. Cliquez sur Delete pour continuer.

Puis, cliquez sur l'onglet Context. Dans la Context List, supprimez le contexte /protected/ qui était associé au domaine de sécurité que vous venez de supprimer :

OpenLiteSpeed delete protected context

Une fois encore, il vous sera demandé de confirmer la suppression en cliquant sur Delete.

Vous pouvez également supprimer en toute sécurité un ou tous les autres contextes en utilisant la même technique, car nous n'en aurons pas besoin. Nous avons spécifiquement supprimé le contexte /protected/ car, sinon, une erreur se serait produite en raison de la suppression de son domaine de sécurité associé (que nous venons de supprimer dans l'onglet Sécurité).

Suite à cela, cliquez sur l'icône vert Graceful Restart dans le coin supérieur droit de la console OpenLiteSpeed. Cela redémarrera le serveur OpenLiteSpeed, ce qui entraînera l'entrée en vigueur des modifications que vous avez apportées :

Graceful Restart icon location

Désormais, votre serveur OpenLiteSpeed est entièrement configuré. Vous êtes prêt à terminer la configuration de WordPress dans votre navigateur.

Étape 7 - Terminez l'installation via l'interface WordPress

Maintenant que la configuration du serveur est terminée, nous pouvons finaliser l'installation via l'interface Web.

Dans votre navigateur Web, naviguez jusqu'au nom de domaine ou à l'adresse IP publique de votre serveur :

http://server_domain_or_IP

Sélectionnez la langue que vous souhaitez utiliser :

WordPress language selection

Ensuite, vous arriverez à la page de configuration principale. Sélectionnez un nom pour votre site WordPress et choisissez un nom d'utilisateur (il est recommandé de ne pas choisir quelque chose comme « admin » pour des raisons de sécurité). Un mot de passe fort est généré automatiquement. Enregistrez ce mot de passe ou choisissez un autre mot de passe fort.

Entrez votre adresse e-mail et choisissez si vous voulez demander aux moteurs de recherche de ne pas indexer votre site :

WordPress setup installation

Lorsqu'il est prêt, cliquez sur le bouton Install WordPress. Vous serez redirigé vers une page qui vous demandera de vous connecter :

WordPress login prompt

Une fois connecté, vous serez redirigé vers le tableau de bord d'administration de WordPress :

WordPress login prompt

À partir du tableau de bord, vous pouvez commencer à apporter des modifications au thème de votre site et à publier du contenu.

Conclusion

En suivant ce guide, vous avez installé et configuré une instance de WordPress sur le serveur Ubuntu 18.04 fonctionnant sous OpenLiteSpeed. Les étapes suivantes consistent généralement à choisir le réglage des permaliens pour vos messages (qui se trouve dans Settings > Permalinks ou à sélectionner un nouveau thème dans Appearance > Themes​​​). Si c'est la première fois que vous utilisez WordPress, explorez un peu l'interface pour vous familiariser avec votre nouveau CMS.

Pour renforcer la sécurité de votre nouveau site WordPress, nous vous recommandons de le configurer pour qu'il fonctionne avec SSL afin qu'il puisse diffuser du contenu via HTTPS. Consultez ce tutoriel de OpenLiteSpeed documentation pour installer LetsEncrypt et le configurer.

0 Comments

Creative Commons License