Comment installer WordPress avec LAMP sur Debian 9

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 au-dessus d’un serveur MariaDB avec 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, MariaDB et PHP) sur un serveur Debian 9.

Conditions préalables

Afin de compléter ce didacticiel, vous aurez besoin d’un accès à un serveur Debian 9.

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

  • * Créez un utilisateur + sudo + sur votre serveur *: Nous allons suivre les étapes de ce guide en utilisant un utilisateur non * root * avec les privilèges + sudo +. Vous pouvez créer un utilisateur avec les privilèges sudo + en suivant notre Debian 9 - Guide de configuration du serveur initial.

  • * Installer une pile LAMP *: 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, MariaDB et PHP) répond à toutes ces exigences. Suivez this guide pour installer et configurer ce logiciel.

  • * Sécurisez votre site avec SSL *: WordPress fournit un contenu dynamique et gère l’authentification et l’autorisation des utilisateurs. TLS / SSL est la technologie qui vous permet de chiffrer le trafic de votre site afin que votre connexion soit sécurisée. La manière dont vous configurez SSL dépend de la présence ou non d’un nom de domaine pour votre site.

  • * Si vous avez un nom de domaine… * le moyen le plus simple de sécuriser votre site est avec Let’s Encrypt, qui fournit des certificats gratuits et sécurisés. Suivez notre Le guide Encrypt d’Apache pour l’installer.

  • * Si vous n’avez pas de domaine… * et que vous utilisez simplement cette configuration à des fins de test ou pour un usage personnel, vous pouvez utiliser un certificat auto-signé. Ceci fournit le même type de cryptage, mais sans la validation du domaine. Suivez notre de-signed-signed guide SSL pour Apache se mettre en place.

Lorsque vous avez terminé les étapes de configuration, connectez-vous à votre serveur en tant qu’utilisateur + sudo + et continuez ci-dessous.

Étape 1 - Création d’une base de données MariaDB 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. MariaDB - un système de remplacement instantané pour MySQL - est déjà installé, mais nous devons créer une base de données et un utilisateur pour WordPress.

Pour commencer, ouvrez l’invite MariaDB en tant que compte * root *:

sudo mariadb

Commencez par créer une nouvelle base de données que WordPress contrôlera. Vous pouvez appeler cela comme vous voulez mais, pour que ce guide soit simple, nous le nommerons * wordpress *.

Créez la base de données pour WordPress en tapant:

CREATE DATABASE  DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Notez que chaque instruction MySQL doit se terminer par un point-virgule (+; +). Assurez-vous que ceci est présent si vous rencontrez des problèmes.

Ensuite, créez 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 nom * wordpressuser * dans ce guide, mais n’hésitez pas à le changer si vous le souhaitez.

Créez ce compte, définissez un mot de passe et accordez à l’utilisateur l’accès à la base de données que vous venez de créer à l’aide de la commande suivante. N’oubliez pas de choisir un mot de passe fort pour votre utilisateur de base de données:

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

Vous avez maintenant une base de données et un compte utilisateur, chacun spécialement créé pour WordPress. Exécutez la commande suivante pour recharger les tables de droits afin que l’instance actuelle de MariaDB soit informée des modifications que vous avez apportées:

FLUSH PRIVILEGES;

Quittez MariaDB en tapant:

EXIT;

Maintenant que vous avez configuré la base de données et l’utilisateur qui seront utilisés par WordPress, vous pouvez maintenant installer certains packages liés à PHP utilisés par le CMS.

É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 MariaDB. WordPress et nombre de ses plugins exploitent des extensions PHP supplémentaires.

Téléchargez et installez 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

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

À ce stade, tout ce qui reste à faire avant d’installer WordPress est d’apporter quelques modifications à votre configuration Apache afin de permettre au CMS de fonctionner correctement.

Étape 3 - Ajustement de la configuration d’Apache pour autoriser les remplacements et les réécritures .htaccess

Avec les extensions PHP supplémentaires installées et prêtes à l’emploi, la prochaine chose à faire est d’apporter quelques modifications à votre configuration Apache. Selon les didacticiels prérequis, vous devriez avoir un fichier de configuration pour votre site dans le répertoire + / etc / apache2 / sites-available / +. Nous allons utiliser comme exemple + / etc / apache2 / sites-available / wordpress.conf +, 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.

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. Notez que si vous avez un fichier de configuration Apache existant pour votre site Web, le nom de ce fichier sera différent:

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

Pour autoriser les fichiers + .htaccess +, vous devez ajouter un bloc + Directory + pointant vers la racine de votre document avec une directive + AllowOverride +. Ajoutez le bloc de texte suivant dans le bloc + VirtualHost + dans votre fichier de configuration, en vous assurant d’utiliser le bon répertoire racine Web:

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

<Directory >
   AllowOverride All
</Directory>

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

Ensuite, activez le module + rewrite + afin d’utiliser la fonctionnalité de permalien de WordPress:

sudo a2enmod rewrite

Avant d’implémenter les modifications que vous avez apportées, vérifiez que vous n’avez commis aucune erreur de syntaxe:

sudo apache2ctl configtest

Si la syntaxe de votre fichier de configuration est correcte, vous verrez ce qui suit dans votre sortie:

OutputSyntax OK

Si cette commande signale des erreurs, revenez en arrière et vérifiez que vous n’avez commis aucune erreur de syntaxe dans votre fichier de configuration. Sinon, redémarrez Apache pour implémenter les modifications:

sudo systemctl restart apache2

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

Étape 4 - Télécharger WordPress

Maintenant que votre logiciel serveur est configuré, vous pouvez 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 directement 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 déplacer ces fichiers dans notre racine de document momentanément. Avant de faire, cependant, ajoutez un fichier factice + .htaccess + afin que ce dernier soit disponible pour une utilisation ultérieure par WordPress.

Créez le fichier en tapant:

touch /tmp/wordpress/.htaccess

Copiez ensuite l’exemple de fichier de configuration dans le nom de fichier que WordPress lit réellement:

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

En outre, créez le répertoire + upgrade + afin que WordPress ne soit pas confronté à des problèmes d’autorisation en essayant de le faire lui-même à la suite d’une mise à jour de son logiciel:

mkdir /tmp/wordpress/wp-content/upgrade

Copiez ensuite tout le contenu du répertoire dans la racine de votre document. Notez que la commande suivante inclut 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éé):

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

Avec cela, vous avez correctement installé WordPress sur votre serveur Web et effectuez certaines des étapes de configuration initiales. Nous aborderons ensuite certaines modifications de configuration qui donneront à WordPress les privilèges nécessaires pour fonctionner, ainsi que l’accès à la base de données MariaDB et au compte d’utilisateur créé précédemment.

Étape 5 - Configuration du répertoire WordPress

Avant de pouvoir suivre le processus d’installation Web pour WordPress, nous devons ajuster certains éléments de notre répertoire WordPress.

Commencez par donner la propriété de tous les fichiers à l’utilisateur et au groupe * www-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é avec + chown +:

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

Ensuite, nous exécuterons deux commandes + find + pour définir les autorisations appropriées sur les répertoires et les fichiers WordPress:

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

Celles-ci doivent constituer un ensemble d’autorisations raisonnables, bien que certains plugins et procédures puissent nécessiter des ajustements supplémentaires.

Vous devrez ensuite apporter quelques modifications au fichier de configuration principal de WordPress.

Lorsque vous ouvrez le fichier, votre premier objectif sera d’adapter certaines clés secrètes afin de sécuriser votre 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:

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

Ce sont des lignes de configuration que vous allez coller directement dans votre fichier de configuration pour définir des clés sécurisées. Copiez le résultat que vous avez reçu dans votre presse-papiers, puis ouvrez le fichier de configuration WordPress situé à la racine du document:

sudo nano /var/www//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',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

. . .

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és dans MariaDB.

L’autre modification à effectuer 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 vous ne le définissez pas avec nos paramètres actuels, WordPress demanderait les informations d’identification FTP lorsque vous effectuez 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', '');

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

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

. . .

Enregistrez et fermez le fichier lorsque vous avez terminé. Enfin, vous pouvez terminer l’installation et la configuration de WordPress en y accédant via votre navigateur Web.

Étape 6 - Fin 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://

Sélectionnez la langue que vous souhaitez utiliser:

image: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/language_selection.png [sélection de la langue WordPress]

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:

image: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/setup_installation.png [Installation de l’installation WordPress]

Lorsque vous êtes prêt, cliquez sur le bouton * Installer WordPress *. Vous serez dirigé vers une page qui vous invite à vous connecter:

image: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/login_prompt.png [invite de connexion WordPress]

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

image: https: //assets.digitalocean.com/articles/wordpress_lamp_1604/admin_screen.png [invite de connexion WordPress]

À partir du tableau de bord, vous pouvez commencer à modifier le thème et le contenu de votre site.

Conclusion

WordPress doit être installé et prêt à être utilisé! La prochaine étape courante consiste à choisir le paramètre de permaliens de vos publications (que vous pouvez trouver dans * Paramètres *> * Permaliens *) ou à sélectionner un nouveau thème (dans * Apparence> Thèmes *). Si vous utilisez WordPress pour la première fois, explorez un peu l’interface pour vous familiariser avec votre nouveau CMS.