Comment installer WordPress avec LAMP sur Ubuntu 18.04

Une version précédente de ce tutoriel a été écrite parJustin Ellingwood

introduction

WordPress est le plus populaire des CMS (systèmes de gestion de contenu) sur Internet. Il vous permet de configurer facilement des blogs et des sites Web flexibles sur un serveur MySQL avec un traitement PHP. WordPress a connu une adoption incroyable et constitue un excellent choix pour la mise en place rapide d’un site Web. Après l'installation, presque toute l'administration peut être effectuée via l'interface Web.

Dans ce guide, nous allons nous concentrer sur la configuration d’une instance WordPress sur une pile LAMP (Linux, Apache, MySQL et PHP) sur un serveur Ubuntu 18.04.

Conditions préalables

Pour compléter ce didacticiel, vous devez avoir accès à un serveur Ubuntu 18.04.

Avant de pouvoir commencer ce guide, vous devez effectuer les tâches suivantes:

  • Create a sudo user on your server: Nous allons terminer les étapes de ce guide en utilisant un utilisateur non root avec les privilègessudo. Vous pouvez créer un utilisateur avec les privilègessudo en suivant nosUbuntu 18.04 initial server setup guide.

  • Install a LAMP stack: WordPress aura besoin d'un serveur Web, d'une base de données et de PHP pour fonctionner correctement. La configuration d’une pile LAMP (Linux, Apache, MySQL et PHP) répond à toutes ces exigences. Suivezthis guide pour installer et configurer ce logiciel.

  • Secure your site with SSL: WordPress sert du contenu dynamique et gère l'authentification et l'autorisation des utilisateurs. TLS/SSL is the technology that allows you to encrypt the traffic from your site so that your connection is secure. La manière dont vous configurez SSL dépend de la présence ou non d'un nom de domaine pour votre site.

    • If you have a domain name…, le moyen le plus simple de sécuriser votre site consiste à utiliser Let’s Encrypt, qui fournit des certificats de confiance gratuits. Suivez nosLet’s Encrypt guide for Apache pour configurer cela.

    • If you do not have a domain… et que vous n'utilisez cette configuration qu'à des fins de test ou d'utilisation personnelle, vous pouvez utiliser un certificat auto-signé à la place. Ceci fournit le même type de cryptage, mais sans la validation du domaine. Suivez nosself-signed SSL guide for Apache pour vous installer.

Lorsque vous avez terminé les étapes de configuration, connectez-vous à votre serveur en tant qu'utilisateursudo et continuez ci-dessous.

[[step-1 -–- creation-a-mysql-database-and-user-for-wordpress]] == Étape 1 - Création d'une base de données MySQL et d'un utilisateur pour WordPress

La première étape que nous allons franchir est une étape préparatoire. WordPress utilise MySQL pour gérer et stocker les informations relatives au site et aux utilisateurs. Nous avons déjà installé MySQL, mais nous devons créer une base de données et un utilisateur pour WordPress.

Pour commencer, connectez-vous au compte racine (administratif) de MySQL en exécutant la commande suivante:

mysql -u root -p

Vous serez invité à entrer le mot de passe que vous avez défini pour le compte racine MySQL lors de l'installation du logiciel.

Premièrement, nous pouvons créer une base de données distincte que WordPress contrôlera. Vous pouvez l'appeler comme vous le souhaitez, mais nous utiliseronswordpress dans ce guide pour rester simple. Créez la base de données pour WordPress en tapant:

CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

[.note] #Note: Chaque instruction MySQL doit se terminer par un point-virgule (;). Assurez-vous que cela est présent si vous rencontrez des problèmes.
#

Ensuite, nous allons créer un compte utilisateur MySQL distinct que nous utiliserons exclusivement pour fonctionner sur notre nouvelle base de données. La création de bases de données et de comptes à fonction unique est une bonne idée du point de vue de la gestion et de la sécurité. Nous utiliserons le nomwordpressuser dans ce guide. N'hésitez pas à changer cela si vous le souhaitez.

Nous allons créer ce compte, définir un mot de passe et accorder l'accès à la base de données que nous avons créée. Nous pouvons le faire en tapant la commande suivante. N'oubliez pas de choisir un mot de passe fort ici pour votre utilisateur de base de données:

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

Vous avez maintenant une base de données et un compte utilisateur, chacun spécialement créé pour WordPress. Nous devons supprimer les privilèges pour que l’instance actuelle de MySQL connaisse les modifications récentes que nous avons apportées:

FLUSH PRIVILEGES;

Quittez MySQL en tapant:

EXIT;

[[step-2 -–- Installing-additional-php-extensions]] == Étape 2 - Installation d'extensions PHP supplémentaires

Lors de la configuration de notre pile LAMP, nous n’avions besoin que d’un minimum d’extensions pour que PHP puisse communiquer avec MySQL. WordPress et nombre de ses plugins exploitent des extensions PHP supplémentaires.

Nous pouvons télécharger et installer certaines des extensions PHP les plus populaires à utiliser avec WordPress en tapant:

sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

[.note] #Note: Chaque plugin WordPress a son propre ensemble d'exigences. Certains peuvent nécessiter l'installation de packages PHP supplémentaires. Vérifiez la documentation de votre plugin pour découvrir ses exigences PHP. S'ils sont disponibles, ils peuvent être installés avecapt comme illustré ci-dessus.
#

Nous allons redémarrer Apache pour charger ces nouvelles extensions dans la section suivante. Si vous revenez ici pour installer des plugins supplémentaires, vous pouvez maintenant redémarrer Apache en tapant:

sudo systemctl restart apache2

[[step-3 -–- Adjusting-apache-39-s-configuration-to-allow-for-htaccess-overrides-and-rewrites]] == Étape 3 - Ajustement de la configuration d'Apache pour autoriser les remplacements et réécritures .htaccess

Nous allons ensuite apporter quelques modifications mineures à notre configuration Apache. Sur la base des didacticiels prérequis, vous devriez avoir un fichier de configuration pour votre site dans le répertoire/etc/apache2/sites-available/. Nous utiliserons/etc/apache2/sites-available/wordpress.conf comme exemple ici, mais vous devez remplacer le chemin d'accès à votre fichier de configuration le cas échéant.

De plus, nous utiliserons/var/www/wordpress comme répertoire racine de notre installation WordPress. Vous devez utiliser la racine Web spécifiée dans votre propre configuration.

[.note] #Note: Il est possible que vous utilisiez la configuration par défaut de000-default.conf (avec/var/www/html comme racine Web). Cette option convient si vous ne comptez héberger qu’un seul site Web sur ce serveur. Sinon, il est préférable de diviser la configuration nécessaire en blocs logiques, un fichier par site.
#

Activation des substitutions .htaccess

Actuellement, l'utilisation des fichiers.htaccess est désactivée. WordPress et de nombreux plugins WordPress utilisent ces fichiers de manière intensive pour modifier le comportement du serveur Web dans l’annuaire.

Ouvrez le fichier de configuration Apache pour votre site Web:

sudo nano /etc/apache2/sites-available/wordpress.conf

Pour autoriser les fichiers.htaccess, nous devons définir la directiveAllowOverride dans un blocDirectory pointant vers la racine de notre document. Ajoutez le bloc de texte suivant dans le blocVirtualHost de votre fichier de configuration, en veillant à utiliser le bon répertoire racine Web:

/etc/apache2/sites-available/wordpress.conf


    AllowOverride All

Lorsque vous avez terminé, enregistrez et fermez le fichier.

Activer le module de réécriture

Ensuite, nous pouvons activermod_rewrite afin de pouvoir utiliser la fonctionnalité de permalien WordPress:

sudo a2enmod rewrite

Activer les changements

Avant de mettre en œuvre les modifications que nous avons apportées, vérifiez que nous n’avons commis aucune erreur de syntaxe:

sudo apache2ctl configtest

La sortie peut avoir un message qui ressemble à ceci:

OutputAH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Si vous souhaitez supprimer la ligne du haut, ajoutez simplement une directiveServerName à votre fichier de configuration Apache principal (global) à/etc/apache2/apache2.conf. LesServerName peuvent être le domaine ou l'adresse IP de votre serveur. Ceci n’est cependant qu’un message et n’affecte pas les fonctionnalités de notre site. Tant que la sortie contientSyntax OK, vous êtes prêt à continuer.

Redémarrez Apache pour implémenter les modifications:

sudo systemctl restart apache2

Ensuite, nous allons télécharger et configurer WordPress lui-même.

[[step-4 -–- download-wordpress]] == Étape 4 - Téléchargement de WordPress

Maintenant que notre logiciel serveur est configuré, nous pouvons télécharger et configurer WordPress. Pour des raisons de sécurité notamment, il est toujours recommandé de se procurer la dernière version de WordPress sur leur site.

Basculez 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épertoires WordPress:

tar xzvf latest.tar.gz

Nous allons transférer ces fichiers dans notre racine de document dans un instant. Avant de le faire, nous pouvons ajouter un fichier factice.htaccess afin que WordPress puisse l'utiliser plus tard.

Créez le fichier en tapant:

touch /tmp/wordpress/.htaccess

Nous copierons également le fichier de configuration exemple dans le nom de fichier que WordPress lit réellement:

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

Nous pouvons également créer le répertoireupgrade, afin que WordPress ne rencontre pas de problèmes d'autorisations en essayant de le faire seul après une mise à jour de son logiciel:

mkdir /tmp/wordpress/wp-content/upgrade

Maintenant, nous pouvons copier tout le contenu du répertoire dans notre racine de document. Nous utilisons un point à la fin de notre 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 nous avons créé):

sudo cp -a /tmp/wordpress/. /var/www/wordpress

[[step-5 -–- configuration-du-répertoire-wordpress]] == Étape 5 - Configuration du répertoire WordPress

Avant de procéder à la configuration Web de WordPress, nous devons ajuster certains éléments de notre répertoire WordPress.

Réglage de la propriété et des autorisations

L’une des tâches essentielles que nous devons accomplir est la configuration d’autorisations de fichiers raisonnables et de la propriété.

Nous allons commencer par donner la propriété de tous les fichiers à l'utilisateur et au groupewww-data. Il s’agit de l’utilisateur sous lequel le serveur Web Apache est exécuté. Apache devra être capable de lire et d’écrire des fichiers WordPress afin de servir le site Web et d’effectuer des mises à jour automatiques.

Mettez à jour la propriété avecchown:

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

Ensuite, nous exécuterons deux commandesfind pour définir les autorisations correctes sur les répertoires et fichiers WordPress:

sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;

Celles-ci doivent constituer un ensemble d'autorisations raisonnables. Certains plugins et procédures peuvent nécessiter des ajustements supplémentaires.

Configuration du fichier de configuration WordPress

Nous devons maintenant apporter quelques modifications au fichier de configuration principal de WordPress.

Lorsque nous ouvrirons le fichier, notre premier travail consistera à ajuster certaines clés secrètes afin de sécuriser notre installation. WordPress fournit un générateur sécurisé pour ces valeurs afin que vous n'ayez pas à essayer de créer vous-même de bonnes valeurs. Celles-ci sont uniquement utilisées en interne, il n’est donc pas gênant d’avoir des valeurs complexes et sûres.

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

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

Vous obtiendrez des valeurs uniques ressemblant à ceci:

[.warning] #Warning! Il est important que vous demandiez des valeurs uniques à chaque fois. NOT copie les valeurs ci-dessous!
#

Outputdefine('AUTH_KEY',         '1jl/vqfs

Ce sont des lignes de configuration que nous pouvons coller directement dans notre fichier de configuration pour définir des clés sécurisées. Copiez le résultat que vous avez reçu maintenant.

Maintenant, ouvrez le fichier de configuration WordPress:

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

Recherchez la section contenant les valeurs factices pour ces paramètres. Cela ressemblera à ceci:

/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 à partir de 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, nous devons modifier certains paramètres de connexion à la base de données au début 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 nous avons configuré dans MySQL.

L’autre modification à apporter consiste à définir la méthode que WordPress doit utiliser pour écrire dans le système de fichiers. Étant donné que nous avons donné au serveur Web le droit d'écrire à l'endroit voulu, nous pouvons explicitement définir la méthode du système de fichiers sur «direct». Si nous ne définissons pas cela avec nos paramètres actuels, WordPress demanderait les informations d'identification FTP lorsque nous effectuons certaines actions.

Ce paramètre peut être ajouté sous les paramètres de connexion à la base de données ou n'importe où 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é.

[[step-6 -–- completion-the-installation-through-the-web-interface]] == Étape 6 - Finalisation de l'installation via l'interface Web

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

Dans votre navigateur Web, accédez au nom de domaine ou à l’adresse IP publique de votre serveur:

https://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 sélectionnez un autre mot de passe fort.

Entrez votre adresse électronique et indiquez si vous souhaitez dissuader les moteurs de recherche d'indexer votre site:

WordPress setup installation

Lorsque vous cliquez en avant, vous accédez à une page qui vous invite à vous connecter:

WordPress login prompt

Une fois que vous vous êtes connecté, vous serez dirigé vers le tableau de bord d'administration WordPress:

WordPress login prompt

Conclusion

WordPress doit être installé et prêt à être utilisé! Les prochaines étapes courantes consistent à choisir le paramètre de permaliens pour vos messages (se trouve dansSettings > Permalinks) ou à sélectionner un nouveau thème (dansAppearance > Themes). Si vous utilisez WordPress pour la première fois, explorez un peu l’interface pour vous familiariser avec votre nouveau CMS.

Related