WordPress est une technologie open-source extrêmement populaire pour la création de sites web et de blogs sur l’internet aujourd’hui. Utilisés par 63 % des sites web qui utilisent un système de gestion de contenu (CMS), les sites WordPress représentent 36 % de tous les sites web qui sont actuellement en ligne.
Il existe de nombreuses approches différentes pour accéder à WordPress et certains processus de configuration sont plus complexes que d’autres. Ce tutoriel est destiné à ceux qui souhaitent installer et administrer une instance de Wordpress sur un serveur en nuage non géré via la ligne de commande. Bien que cette approche nécessite plus d’étapes qu’une installation WordPress toute faite, elle offre aux administrateurs un plus grand contrôle sur leur environnement WordPress.
Si vous cherchez à accéder à une installation WordPress prête à l’emploi, DigitalOcean Marketplace propose une app en un clic pour vous aider à démarrer avec WordPress, jusqu’à l’installation lors de la mise en route de votre serveur.
En fonction de vos besoins et de vos objectifs, vous pouvez trouver d’autres options plus adaptées. En tant que logiciel open-source, WordPress peut être téléchargé et installé gratuitement, mais pour être disponible sur le web, vous devrez probablement acheter une infrastructure en nuage et un nom de domaine. Continuez à suivre ce guide si vous êtes intéressé par l’installation côté serveur et par la mise en place d’un site WordPress.
Ce tutoriel utilisera un LAMP (Linux, Apache, MySQL et PHP) stack qui est une option pour une architecture de serveur qui supporte WordPress en fournissant le système d’exploitation Linux, le serveur web Apache, la base de données MySQL et le langage de programmation PHP. Nous installerons et configurerons WordPress via LAMP sur un serveur Linux Ubuntu 20.04.
Pour pouvoir suivre ce tutoriel, vous devez avoir accès à un serveur Ubuntu 20.04 et effectuer les étapes suivantes avant de commencer ce guide :
sudo
user.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 MySQL root (administratif) en exécutant cette commande (notez que ce n’est pas le root user de votre serveur) :
- 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é.
Note : Si vous ne pouvez pas accéder à votre base de données MySQL via le root, en tant que sudo
user, vous pouvez mettre à jour le mot de passe de votre root user en vous connectant à la base de données de cette manière :
- sudo mysql -u root
Une fois que vous recevez l’invite MySQL, vous pouvez mettre à jour le mot de passe du root user. Ici, remplacez new_password
par un mot de passe fort de votre choix.
- ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
Vous pouvez maintenant taper EXIT ;
et vous pouvez vous reconnecter à la base de données via un mot de passe avec la commande suivante :
- mysql -u root -p
Dans la base de données, nous pouvons créer une base de données exclusive que WordPress peut contrôler. Vous pouvez l’appeler comme vous le souhaitez, mais nous utiliserons le nom wordpress dans ce guide. 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 spécifiques peut nous aider 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 à utiliser le nom qui vous convient le mieux.
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 de choisir un mot de passe fort ici pour l’utilisateur de votre base de données où nous avons password
:
- CREATE USER 'wordpressuser'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
Ensuite, faites savoir à la base de données que notre wordpressuser devrait avoir un accès complet à la base de données que nous avons mise en place :
- GRANT ALL ON wordpress.* TO 'wordpressuser'@'%';
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 supprimer les privilèges afin que l’instance actuelle de MySQL soit informée des récents changements que nous avons apportés :
- FLUSH PRIVILEGES;
Sortez de MySQL en tapant :
- EXIT;
Dans la prochaine étape, nous poserons quelques bases pour les plugins WordPress en téléchargeant des extensions PHP pour notre serveur.
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
Cela permettra de préparer le terrain pour l’installation de plugins supplémentaires sur notre site WordPress.
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 devrons redémarrer Apache pour charger ces nouvelles extensions, nous ferons d’autres configurations sur Apache dans la prochaine section, vous pouvez donc attendre jusque-là, ou redémarrer maintenant pour terminer le processus d’extension PHP.
- 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/
.
Dans ce guide, nous utiliserons ici /etc/apache2/sites-available/wordpress.conf
comme exemple, mais vous devez substituer le chemin d’accès à votre fichier de configuration le cas échéant. De plus, nous utiliserons /var/www/wordpress
comme répertoire root de notre installation WordPress. Vous devez utiliser la racine Web spécifiée dans votre propre configuration. Si vous avez suivi notre tutoriel LAMP, il se peut que ce soit votre nom de domaine au lieu de wordpress
dans ces deux cas.
Remarque : il est possible que vous utilisiez la configuration par défaut 000-default.conf
(avec /var/www/html
comme racine Web). C’est une bonne solution si vous n’hébergez qu’un seul site web sur ce serveur. Sinon, il est préférable de diviser la configuration nécessaire en morceaux logiques, un fichier par site.
Une fois nos chemins identifiés, nous pouvons passer à la collaboration avec htaccess
afin qu’Apache puisse gérer les changements de configuration par répertoire.
Actuellement, l’utilisation des fichiers .htaccess
est désactivée. WordPress et de nombreux plugins WordPress utilisent ces fichiers de manière intensive pour des ajustements dans les répertoires du comportement du serveur web.
Ouvrez le fichier de configuration Apache pour votre site web avec un éditeur de texte comme nano.
- 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 web root :
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Lorsque vous avez terminé, enregistrez et fermez le fichier. Dans nano, vous pouvez le faire en appuyant sur CTRL
et X
ensemble, puis Y
, puis ENTER
.
Ensuite, nous pouvons activer mod_rewrite
afin de pouvoir utiliser la fonction de permalien de WordPress :
- sudo a2enmod rewrite
Cela vous permet d’avoir des permaliens plus lisibles à l’oeil humain pour vos messages, comme les deux exemples suivants :
http://example.com/2012/post-name/
http://example.com/2012/12/30/post-name
La commande a2enmod
appelle un script qui active le module spécifié dans la configuration d’Apache.
Avant de mettre en œuvre les modifications que nous avons apportées, vérifiez que nous n’avons pas fait d’erreurs de syntaxe en effectuant le test suivant.
- sudo apache2ctl configtest
Vous pouvez recevoir des résultats comme ceux qui suivent :
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. Il s’agit toutefois d’un simple message qui n’affecte pas la fonctionnalité de votre site. Tant que la sortie contient Syntax OK
, vous êtes prêt à continuer.
Redémarrez Apache pour mettre en œuvre les changements. Veillez à redémarrer maintenant même si vous avez redémarré plus tôt dans ce tutoriel.
- 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 inscriptible (nous recommandons un répertoire temporaire comme /tmp
) et téléchargez la version compressée.
- 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 l’exemple du fichier de configuration vers le nom de fichier que WordPress lit :
- cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php
Nous pouvons également créer le répertoire des upgrade
, afin que WordPress ne rencontre pas de 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
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
Veillez à remplacer le /var/www/wordpress
avec le répertoire que vous avez configuré sur votre serveur.
Avant de procéder à la configuration Web de WordPress, nous devons ajuster certains éléments de notre répertoire WordPress.
Une étape importante que nous devons accomplir consiste à établir des autorisations et des droits de propriété raisonnables sur les fichiers.
Nous commencerons par donner la propriété de tous les fichiers à www-data user et group. C’est l’utilisateur sous lequel le serveur web Apache fonctionne, et 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 la commande chown
qui vous permet de modifier la propriété du fichier. Veillez à pointer vers le répertoire pertinent de votre serveur.
- sudo chown -R www-data:www-data /var/www/wordpress
Ensuite, nous allons en faire deux 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 {} \;
Ces autorisations devraient vous permettre de travailler efficacement avec WordPress, mais notez que certains plugins et procédures peuvent nécessiter des ajustements supplémentaires.
Maintenant, nous devons apporter quelques modifications au fichier de configuration principal de WordPress.
Lorsque nous ouvrirons le fichier, notre première tâche sera d’ajuster certaines clés secrètes afin d’assurer un niveau de sécurité pour 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, de sorte qu’il ne sera pas préjudiciable à la facilité d’utilisation 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 obtiendrez des valeurs uniques qui ressemblent à des sorties similaires à celles du bloc ci-dessous.
Attention ! Il est important que vous demandiez des valeurs uniques à chaque fois. Ne copiez PAS les valeurs 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.
Ensuite, ouvrez le fichier de configuration de WordPress :
- sudo nano /var/www/wordpress/wp-config.php
Trouvez la section qui contient les exemples de valeurs pour ces paramètres.
. . .
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 allons 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 vous avez 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 faut, 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 :
. . .
// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** MySQL database username */
define( 'DB_USER', 'wordpressuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
/** Database Charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The Database Collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
. . .
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 vers le 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.
Choisissez un nom pour votre site WordPress et choisissez un nom d’utilisateur. Il est recommandé de choisir quelque chose d’unique et d’éviter les noms d’utilisateur courants 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 :
A ce stade, vous pouvez commencer à concevoir votre site WordPress ! Si c’est la première fois que vous utilisez WordPress, explorez un peu l’interface pour vous familiariser avec votre nouveau CMS.
Félicitations, WordPress est maintenant installé et prêt à être utilisé !
À ce stade, vous voudrez peut-être commencer à faire ce qui suit :
Settings > Permalinks
.Appearance > Themes
.Plugins > Add New
.Users > Add New
.Vous pouvez trouver des ressources supplémentaires pour d’autres façons d’installer WordPress, apprendre comment installer WordPress sur différentes distributions de serveurs, automatiser vos installations WordPress, et faire évoluer vos sites WordPress en consultant notre balise communautaire WordPress.
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!
Thank you @Lisa