Une version précédente de ce tutoriel a été rédigée par Justin Ellingwood
WordPress est le CMS (système de gestion de contenu) le plus populaire sur Internet. Il vous permet de facilement créer des blogs et des sites Web flexibles en s’appuyant sur un back-end MySQL avec traitement PHP. WordPress a rencontré un succès incroyable, et c’est un excellent choix pour créer rapidement un site Web. Une fois WordPress configuré, presque toute l’administration peut se faire via l’interface Web.
Dans ce guide, nous allons nous concentrer sur la mise en place d’une instance WordPress sur une pile LAMP (Linux, Apache, MySQL et PHP) sur un serveur Ubuntu 18.04.
Afin de suivre ce tutoriel, vous devez avoir accès à un serveur Ubuntu 18.04.
Vous devrez effectuer les tâches suivantes avant de pouvoir commencer ce guide :
sudo
sur votre serveur : nous suivrons les étapes de ce guide en utilisant un utilisateur non root avec privilèges sudo
. Vous pouvez créer un utilisateur avec privilèges sudo
en suivant notre guide de configuration initiale de serveur Ubuntu 18.04.Une fois les étapes de préparation terminées, connectez-vous à votre serveur en tant qu’utilisateur sudo
et continuez ci-dessous.
La première étape que nous allons suivre est une étape préparatoire. WordPress utilise MySQL pour gérer et stocker les informations du site et des 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 root (administratif) de MySQL en exécutant cette commande :
- mysql -u root -p
Le mot de passe que vous avez défini pour le compte root MySQL lors de son installation vous sera demandé.
Pour commencer, nous pouvons créer une base de données séparée que WordPress contrôlera. Vous pouvez l’appeler comme vous le souhaitez, mais nous la nommerons** wordpress** dans ce guide par souci de simplicité. Créez la base de données pour WordPress en tapant :
- CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Remarque : chaque instruction MySQL doit se terminer par un point-virgule (;). Vérifiez qu’il est bien présent si vous rencontrez des problèmes.
Ensuite, nous allons créer un compte utilisateur MySQL distinct que nous utiliserons exclusivement pour exploiter notre nouvelle base de données. La création de bases de données et de comptes n’ayant qu’une seule fonction 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. N’hésitez pas à le modifier si vous le souhaitez.
Nous allons créer ce compte, définir un mot de passe et lui donner accès à la base de données que nous avons créée. Nous pouvons le faire en tapant la commande ci-dessous. N’oubliez pas ici de choisir un mot de passe fort pour votre utilisateur de base de données :
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'localhost' IDENTIFIED BY 'password';
Vous disposez désormais d’une base de données et d’un compte d’utilisateur, chacun spécialement conçu pour WordPress. Nous devons purger les privilèges afin que l’instance actuelle de MySQL soit au courant des récents changements que nous avons apportés :
- FLUSH PRIVILEGES;
Sortez de MySQL en tapant :
- EXIT;
Lors de la mise en place de notre pile LAMP, nous n’avons eu besoin que d’un ensemble très limité d’extensions pour que PHP puisse communiquer avec MySQL. WordPress et beaucoup de ses plugins utilisent des extensions PHP supplémentaires.
Nous pouvons télécharger et installer certaines des extensions PHP les plus populaires pour 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
Remarque : chaque plugin WordPress a ses propres exigences. Certains peuvent nécessiter l’installation de packages PHP supplémentaires. Consultez la documentation de votre plugin pour connaître ses besoins en matière de PHP. S’ils sont disponibles, ils peuvent être installés avec apt
comme illustré ci-dessus.
Nous allons redémarrer Apache pour charger ces nouvelles extensions dans la prochaine section. Si vous revenez ici pour installer des plugins supplémentaires, vous pouvez redémarrer Apache maintenant en tapant :
- sudo systemctl restart apache2
Nous allons maintenant procéder à quelques ajustements mineurs de notre configuration Apache. Après avoir suivi les tutoriaux préalables, vous devez disposer d’un fichier de configuration pour votre site dans le répertoire /etc/apache2/sites-available/
. Nous utiliserons ici /etc/apache2/sites-available/wordpress.conf
comme exemple, mais vous devez le remplacer par le chemin d’accès à votre fichier de configuration s’il est différent.
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.
Remarque : il est possible que vous utilisiez la configuration par défaut 000-default.conf
(avec /var/www/html
comme racine Web). Cette configuration fonctionnera si vous ne souhaitez 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.
Actuellement, l’utilisation des fichiers .htaccess
est désactivée. WordPress et beaucoup de ses plugins utilisent ces fichiers de manière intensive pour ajuster dans le répertoire le comportement du serveur Web.
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 paramétrer la directive AllowOverride
dans un bloc Directory
pointant vers la racine de notre document. Ajoutez le bloc de texte suivant dans le bloc VirtualHost
de votre fichier de configuration, en veillant à utiliser le bon répertoire racine Web :
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Ensuite, nous pouvons activer mod_rewrite
afin de pouvoir utiliser la fonction de permalien de WordPress :
- sudo a2enmod rewrite
Avant d’implémenter les modifications que nous avons apportées, vérifions que nous n’avons pas fait d’erreurs de syntaxe :
- sudo apache2ctl configtest
La sortie pourrait 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 première ligne, ajoutez simplement une directive ServerName
à votre fichier de configuration principal (global) d’Apache à l’emplacement /etc/apache2/apache2.conf
. Le ServerName
peut être le domaine ou l’adresse IP de votre serveur. Ce n’est toutefois qu’un simple message qui n’affecte pas la fonctionnalité de notre site. Tant que la sortie contient Syntax OK
, vous êtes prêt à continuer.
Redémarrez Apache pour implémenter les modifications :
- sudo systemctl restart apache2
Nous allons ensuite télécharger et mettre en place WordPress lui-même.
Maintenant que le logiciel de notre serveur est configuré, nous pouvons télécharger et installer 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 déplacer ces fichiers à la racine de notre document dans un instant. Avant cela, nous pouvons ajouter un fichier .htaccess
factice afin qu’il soit disponible pour une utilisation ultérieure par WordPress.
Créez le fichier en tapant :
- touch /tmp/wordpress/.htaccess
Nous allons également copier le fichier de configuration type au 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épertoire upgrade
afin que WordPress ne rencontre pas de problèmes d’autorisations lorsqu’il essaie de le faire seul suite à une mise à jour logicielle :
- mkdir /tmp/wordpress/wp-content/upgrade
Nous pouvons maintenant copier l’intégralité du contenu du répertoire à la racine de notre document. Nous ajoutons 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 (tels que le fichier .htaccess
que nous avons créé) :
- sudo cp -a /tmp/wordpress/. /var/www/wordpress
Avant de procéder à la configuration Web de WordPress, nous devons ajuster certains éléments de notre répertoire WordPress.
L’une des choses les plus importantes que nous devons faire est de mettre en place des autorisations de fichiers raisonnables et d’en définir la propriété.
Nous allons commencer 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 fonctionne, et Apache devra pouvoir lire et é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/wordpress
Nous allons ensuite lancer deux commandes find
pour définir les autorisations correctes sur les répertoires et les fichiers WordPress :
- sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \;
- sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
Cet ensemble d’autorisations devrait être raisonnable pour commencer. Certains plugins et certaines procédures peuvent nécessiter des ajustements supplémentaires.
Maintenant, nous devons apporter quelques modifications au fichier de configuration principal de WordPress.
À l’ouverture du fichier, notre première tâche consistera à ajuster certaines clés secrètes pour assurer un minimum de sécurité à notre 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 !
Outputdefine('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 nous pouvons coller directement dans notre fichier de configuration pour définir des clés sécurisées. Copiez la sortie que vous venez d’obtenir.
Maintenant, ouvrez le fichier de configuration de WordPress :
- sudo nano /var/www/wordpress/wp-config.php
Trouvez la section qui contient les valeurs factices pour ces paramètres. Elle ressemblera à cela :
. . .
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 :
. . .
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 des 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 que nous devons apporter est de 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 nous ne configurons pas la méthode avec nos paramètres actuels, WordPress demandera les informations d’identification FTP lorsque nous effectuerons 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 :
. . .
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é.
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 :
https://server_domain_or_IP
Sélectionnez la langue que vous souhaitez utiliser :
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 :
Lorsque vous cliquez, vous accédez à une page qui vous invite à vous connecter :
Une fois connecté, vous serez redirigé vers le tableau de bord d’administration de WordPress :
WordPress devrait être installé et prêt à l’emploi ! Les étapes suivantes consistent généralement à choisir le réglage des permaliens pour vos messages dans Settings > Permalinks
(Réglages > Permaliens) ou à sélectionner un nouveau thème dans Appearance > Themes
(Apparence > Thèmes). Si c’est la première fois que vous utilisez WordPress, explorez un peu l’interface pour vous familiariser avec votre nouveau CMS.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!