Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wordpress [Le 08/12/2016, 09:45]
root75 [Par les dépôts Ubuntu]
wordpress [Le 03/05/2018, 19:58] (Version actuelle)
Ligne 1: Ligne 1:
 +{{tag>​serveur internet cms}}
 +----
 +{{  http://​upload.wikimedia.org/​wikipedia/​commons/​c/​ca/​Wordpress-logo.png?​245}}
  
 +====== WordPress ======
 +
 +[[wpfr>​WordPress]] est le [[:CMS]] le plus utilisé du monde. En 2018 il représente presque un tiers des sites Internet !
 +
 +C'est un projet né en 2003, ce qui est ancien pour une technologie du [[:Web]].
 +
 +Cause et conséquence de cette gigantesque communauté : il propose une quantité sidérante d'​extensions qui étendent ses fonctionnalités au delà du raisonnable (plus de 54000 plugins sur le dépôt officiel en 2018).
 +
 +[[https://​codex.wordpress.org/​images/​e/​e1/​twentyelevendefault1.png|{{https://​codex.wordpress.org/​images/​e/​e1/​twentyelevendefault1.png?​0x200}}]]
 +[[https://​codex.wordpress.org/​images/​e/​e1/​dashboard-welcome.png|{{https://​codex.wordpress.org/​images/​e/​e1/​dashboard-welcome.png?​0x200}}]]
 +[[https://​codex.wordpress.org/​images/​9/​99/​pages-edit-page.png|{{https://​codex.wordpress.org/​images/​9/​99/​pages-edit-page.png?​0x200}}]]
 +[[https://​codex.wordpress.org/​images/​0/​08/​managefiles.png|{{https://​codex.wordpress.org/​images/​0/​08/​managefiles.png?​0x200}}]]
 +[[https://​codex.wordpress.org/​images/​f/​fa/​appearance-install-theme-step1.png|{{https://​codex.wordpress.org/​images/​f/​fa/​appearance-install-theme-step1.png?​0x200}}]]
 +
 +<note important>​Il ne faut pas confondre //​[[https://​fr.wordpress.com/​|WordPress.com]]//​ qui est une plateforme de blog commerciale gérée par [[wpfr>​Automattic]],​ et //​WordPress//,​ le CMS dont il est question ici et dont le site officiel est [[https://​fr.wordpress.org/​|fr.wordpress.org]].</​note>​
 +
 +===== Installation =====
 +
 +<​note>​Le site officiel propose 2 documentations concernant l'​installation de WordPress : [[https://​fr.wordpress.org/​txt-install/​|une succincte]],​ l'​autre [[http://​codex.wordpress.org/​fr:​Installer_WordPress|plus complète]].</​note>​
 +
 +<note tip>La plupart des hébergeurs web proposent une installation de WordPress simplifiée ("//en 1 clic//"​).</​note>​
 +
 +<​note>​WordPress étant une solution destinée à être déployée sur un serveur, toutes les manipulations dont nous traiterons ici se feront en ligne de commande.</​note>​
 +
 +==== Prérequis ====
 +
 +Pour installer WordPress vous aurez besoin d'un [[:​web#​serveurs|serveur HTTP]], de [[:PHP]], et d'un serveur de base de données MySQL ([[:MySQL]] ou [[:​MariaDB]]).
 +
 +<​note>​Sur un hébergement web géré par l'​hébergeur,​ ces prérequis devraient déjà être en place, donc toutes ces étapes devraient être inutiles.
 +
 +N'​hésitez pas à contacter le support de l'​hébergeur si ce n'est pas le cas.</​note>​
 +
 +[[:​apache2|Apache]] est le serveur HTTP le plus couramment utilisé, et cette configuration (en conjonction avec MySQL et PHP) s'​appelle une pile [[:​LAMP|LAMP]].
 +
 +Donc pour installer [[:​apache2|Apache]],​ [[:PHP]] et [[:MySQL]] ou [[:​MariaDB]],​ suivez [[:​LAMP#​installation|cette documentation]].
 +
 +Une fois la pile [[:LAMP]] installée (avec les modules PHP les plus courants), on active le module [[:​apache2#​mod_rewrite]],​ dont a aussi besoin WordPress :
 +<​code>​sudo a2enmod rewrite</​code>​
 +
 +Nous allons ensuite créer un [[:​apache2#​hotes_virtuels|hôte virtuel]] pour WordPress, dont la racine sera ///​var/​www/​wordpress//​ :
 +<​code>​sudo nano /​etc/​apache2/​sites-available/​wordpress.conf</​code>​
 +Ce qui ouvre avec [[:​nano|l'​éditeur nano]] un fichier dans lequel nous allons coller :
 +<file - wordpress.conf><​VirtualHost *:80>
 +        ServerName wordpress
 +        DocumentRoot /​var/​www/​wordpress
 +        <​Directory /​var/​www/​wordpress>​
 +                AllowOverride all
 +                Require all granted
 +        </​Directory>​
 +        ErrorLog /​var/​log/​apache2/​error.wordpress.log
 +        CustomLog /​var/​log/​apache2/​access.wordpress.log combined
 +</​VirtualHost></​file>​
 +Si un nom de domaine pointe sur le serveur, on l'​indique à la place de //​wordpress//​ pour la directive //​ServerName//​.\\
 +(//Ctrl+X// puis //O// pour quitter en sauvegardant)
 +
 +Finalement, on active l'​hôte virtuel et on recharge la configuration d'​Apache :
 +<​code>​sudo a2ensite wordpress
 +sudo systemctl reload apache2</​code>​
 +
 +Si on n'a pas spécifié de vrai nom de domaine, on édite le fichier ///​etc/​hosts//​ côté client afin de renseigner l'IP du serveur pour le domaine //​wordpress//​ :
 +<file - hosts>​127.0.0.1 wordpress</​file>​
 +
 +<note important>​Si votre serveur est sur le [[:Web]], pensez à [[:​apache2#​securite|sécuriser]] l'​accès au site en particulier en forçant [[:​apache2#​HTTPS]].</​note>​
 +
 +==== Installation de WordPress ====
 +
 +=== Copie des fichiers ===
 +
 +Tout d'​​abord téléchargeons la dernière version de WordPress :
 +<​code>​wget https://​fr.wordpress.org/​wordpress-latest-fr_FR.zip</​code>​
 +
 +Ensuite nous allons extraire le contenu du zip à la racine de notre hôte virtuel (///​var/​www/​wordpress//​ dans cet exemple) :
 +<​code>​sudo unzip wordpress-latest-fr_FR.zip -d /​var/​www</​code>​
 +
 +On va renforcer légèrement la sécurité en attribuant des [[[[:​apache2#​permissions|droits]] un peu restrictifs aux fichiers :
 +<​code>​sudo chown www-data:​www-data /​var/​www/​wordpress -R
 +sudo find /​var/​www/​wordpress -type d -exec chmod 755 {} \;
 +sudo find /​var/​www/​wordpress -type f -exec chmod 644 {} \;</​code>​
 +(WordPress [[https://​codex.wordpress.org/​Updating_WordPress#​File_Ownership|exige]] que les fichiers appartiennent à //​www-data//​ __et__ soient modifiables par le serveur pour faire fonctionner les mises à jour automatiques)
 +
 +=== Création de la base de données ===
 +
 +Pour créer la base de données qu'​utilisera WordPress, le plus simple est de se connecter avec le client [[:MySQL]] :
 +<​code>​sudo mysql -u root</​code>​
 +
 +On arrive alors sur la console SQL sur laquelle nous allons entrer ces commandes (en remplaçant //​mot_de_passe//​) :
 +<​code>​CREATE DATABASE wordpress;
 +GRANT ALL PRIVILEGES ON wordpress.* TO '​WordPress'​@'​localhost'​ IDENTIFIED BY '​mot_de_passe';​
 +FLUSH PRIVILEGES;
 +EXIT</​code>​
 +Il faut remplacer //​mot_de_passe//​ par un vrai mot de passe complexe qu'on note pour la prochaine étape.
 +
 +On vient de créer la base de donnée //​wordpress//​ à laquelle l'​utilisateur //​WordPress//​ aura accès.
 +
 +=== Installation via l'​interface web ===
 +
 +WordPress devrait alors être accessible à l'​​adresse [[http://​wordpress/​]],​ et cette adresse nous redirige sur une interface qui nous permet de finaliser l'​installation.
 +
 +Cliquez sur //​C'​est parti !// et renseignez les différents champs :
 +  * **Nom de la base de données** : //​wordpress//​
 +  * **Identifiant** : //​WordPress//​
 +  * **Mot de passe** : le mot de passe qu'on a noté à l'​étape précédente (lors de la création de la base de donnée et de l'​utilisateur //​WordPress//​)
 +  * **Adresse de la base de données** : //​localhost//​
 +  * **Préfixe des tables** : //wp_//
 +Après avoir cliqué sur //Lancer l'​installation//,​ on tombe sur un second formulaire.
 +
 +Il s'agit cette fois de définir un administrateur pour WordPress. Les champs sont assez clairs.\\
 +Le **titre du site** sera visible par les internautes.\\
 +Concernant le **mot de passe** il est conseillé de conserver celui proposé par défaut qui est très fort. Vous pouvez par exemple le sauvegarder dans un gestionnaire de mots de passe tel que [[:​keepassx|KeePass]].\\
 +Il est conseillé également de renseigner une **adresse de messagerie** existante, ce qui vous permettra de récupérer votre mot de passe en cas de perte, ou de faire fonctionner les notifications par courriel.
 +
 +===== Utilisation =====
 +
 +==== Extensions ====
 +
 +Pour installer des extensions, depuis l'​administration allez sur //​Extension//​ -> //Ajouter// : vous aurez accès à toutes les extensions de la [[https://​wordpress.org/​plugins/​browse/​popular/​|base de données officielle de WordPress]].
 +
 +Nous n'​allons évidemment pas dresser la liste exhaustive des plus de 50000 extensions disponibles,​ mais certaines d'​entre elles sont incontournables :
 +
 +  * //​**[[https://​fr.wordpress.org/​plugins/​wp-super-cache/​|WP Super Cache]]**// : confère à WordPress une fonctionnalité d'​optimisation indispensable pour accélérer l'​affichage du site, et alléger la charge de travail côté serveur.
 +  * //​**[[https://​fr.wordpress.org/​plugins/​wp-force-ssl/​|WP Force SSL]]**// : force l'​utilisation de [[:​apache2#​HTTPS]],​ ce qui évite que le contenu web et les variables d'​identifications des utilisateurs transitent en clair sur Internet.
 +  * //​**[[https://​fr.wordpress.org/​plugins/​polylang/​|Polylang]]**//​ : incontournable pour les sites multilingues.
 +
 +<note important>​La qualité des extensions de WordPress est très variable. De plus, chacune est potentiellement source de lenteurs et de failles de sécurités.
 +
 +N'​installez que des extensions qui vous sont indispensables et en lesquelles vous avez confiance.</​note>​
 +
 +==== Thèmes ====
 +
 +Pour installer un thème, depuis l'​administration allez sur //​Apparence//​ -> //Thèmes// -> //Ajouter// : vous aurez accès à tous les thèmes de la [[https://​wordpress.org/​themes/​|base de données officielle de WordPress]].
 +
 +<note important>​De la même manière que les autres extensions, les thèmes peuvent être source de failles de sécurité. N'​utilisez que des thèmes fiables et maintenus, et maintenez-les à jour autant que possible.</​note>​
 +==== Contenu éditorial ====
 +
 +La contenu éditorial de WordPress est principalement de deux types :
 +  * les //pages//, qui sont les éléments constituants des "sites classiques",​ et sont en général structurées par arborescence (menu, sous-menu)
 +  * les //​articles//,​ qui sont les éléments constituants des blogs, et sont liés à une notion d'​actualité (tri par date)
 +===== Problèmes courants =====
 +
 +==== Mot de passe administrateur perdu ====
 +
 +Vous pouvez modifier le mot de passe de l'​administrateur WordPress en vous connectant à la console MySQL
 +<​code>​sudo mysql -u root</​code>​
 +Puis en entrant les commandes suivantes :
 +<​code>​USE wordpress;
 +UPDATE wp_users SET user_pass=MD5('​mot_de_passe'​) WHERE user_login = '​admin';​
 +EXIT</​code>​
 +où //​wordpress//​ est le nom de votre base de données, //admin// le nom d'​utilisateur de l'​administrateur,​ et //​mot_de_passe//​ est votre nouveau mot de passe.
 +===== Liens utiles =====
 +
 +  * [[http://​fr.wordpress.org/​|fr.wordpress.org]] : site officiel
 +  * [[http://​wpfr.net/​|wpfr.net]] : communauté francophone
 +  * [[http://​www.geekeries.fr/​|www.geekeries.fr]] : présentations de ressources WordPress
 +  * [[https://​www.grafikart.fr/​tutoriels/​wordpress|www.grafikart.fr]] : tutoriels pour les développeurs
 +
 +---- 
 +
 +//​Contributeurs : [[:​utilisateurs:​krodelabestiole]],​ [[:​utilisateurs:​psychederic|Psychederic]]//​