19
0
Fork 0
wiki/HowtoWordpress.md

5.7 KiB

Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.

Howto Wordpress

W3 Total Cache

W3 Total Cache améliore les performances d'un « site/blog » propulsé par Wordpress ainsi que la rapidité du chargement des pages pour une meilleure expérience utilisateur et un meilleur référencement ! BR

Pour cela W3 Total Cache met en cache différents éléments : renforcement du cache navigateur, cache des pages, des objets et des requêtes SQL. Il propose aussi différentes fonctions tel que le html/css/js minify et la gestion de CDN.

Installation

Prérequis

  • PHP 5.6 >=
  • MySQL 5.6 >=
  • Apache avec module rewrite

Procédure

  • Télécharger l'archive du plugin sur le site de Wordpress et la décompresser dans wp-content/plugins. (Ou bien installer le plugin depuis Wordpress) ;
  • Activer le plugins dans la liste des extensions Wordpress ;
  • Passer à la configuration.

Configuration

La configuration se passe dans le tableau de bord de Worpdress, dans l'onglet « Performance ». Cliquer sur le bouton « Compatiblity Check », pour vérifier que votre serveur dispose de tous les modules nécessaire.

Mise à jour Wordpress par l'interface web via ssh

Voir http://gcolpart.evolix.net/blog21/mise-a-jour-wordpress-par-linterface-web-via-ssh/

  • Installer php5-ssh2 sous Squeeze ou libssh2-php en Wheezy
  • Activer allow_url_fopen dans la configuration du vhost
  • Lors de la mise à jour, choisir SSH2, spécifier 127.0.0.1 en serveur, le login et mot de passe adéquat

Attention en wordpress 4.3, la mise à jour via ssh est cassée, il faut appliquer ce fix : https://www.lekernelpanique.fr/2015/09/08/wordpress-4-3-casse-la-mise-a-jour-via-sshsftp/

Mise à jour Wordpress [plugins] depuis l'interface web (éviter)

Revoir les droits du groupe pour permettre l'écriture ($HOME/www = où le wp est installé) :

$ chmod g+w $HOME/www/ $HOME/www/wp-includes/version.php
$ chmod g+w -R $HOME/www/wp-admin/includes/ $HOME/www/wp-content/ [$HOME/www/wp-content/upgrade/ $HOME/www/wp-content/languages/]

Si vous avez des retours de type : 'Operation not permitted', il y a de bonne chance que le propriétaire du fichier soit déjà l'utilisateur utilisé par l'instance du serveur web (et donc les droits sont déjà suffisant).

Définir les droits des fichiers écrit par Wordpress

Wordpress surcharge l'umask définie par Apache/PHP et écrit par défaut les fichiers et dossiers en 750.

Il faut rajouter ces 2 lignes dans wp-config.php pour avoir des droits corrects :

define( 'FS_CHMOD_DIR', ( 0770 & ~ umask() ) );
define( 'FS_CHMOD_FILE', ( 0660 & ~ umask() ) );

Attaque sur xmlrpc.php

Sur les Wordpress pas à jour, l'API xmlrpc.php est sensible à une attaque par rebond, un attaquant réalise plein de requêtes sur xmlrpc.php et votre serveur fait des requêtes vers la/les cibles de l'attaquant.

S'il ne vous est pas possible de mettre à jour Wordpress, une solution est de bloquer les requêtes vers xmlrpc.php dans Apache :

<Files "xmlrpc.php">
Deny from all
</Files>

wp-cli

[http://wp-cli.org/commands/]

core

Vérifier que le répertoire en question correspond bien à un wordpress :

php wp-cli.phar core is-installed --path=$HOME/www

Installation

Configuration des différentes directives à compléter (pour la base de donnée) :

php wp-cli.phar core config --dbname=nombase --dbuser=nomutilisateur --dbpass=motdepasse \
--dbhost=hostnamedb --path=$HOME/www

Procéder à l'installation :

php wp-cli.phar core install --url="ServerName" --title="TITRE_WP" --admin_user="admin" --admin_password="motdepasseadmin" \
--admin_email="emailadmin" --skip-email --path="$HOME/www"

Mise à jour

Se placer dans le répertoire où est installé wp :

$ cd $HOME/www

Forcer le téléchargement de la dernière version (US) - non recommandé:

$ php $HOME/wp-cli/wp-cli.phar core download --force

Vérifier si maj disponible :

$ php $HOME/wp-cli/wp-cli.phar core check-update
+---------+-------------+-------------------------------------------------------------+
| version | update_type | package_url                                                 |
+---------+-------------+-------------------------------------------------------------+
| 4.6.1   | major       | <https://downloads.wordpress.org/release/wordpress-4.6.1.zip> |
+---------+-------------+-------------------------------------------------------------+

Mettre à jour wordpress et la bd

$ php $HOME/wp-cli/wp-cli.phar core update
Updating to version 4.6.1 (en_US)...
Downloading update from <https://downloads.wordpress.org/release/wordpress-4.6.1-no-content.zip...>
Unpacking the update...
Cleaning up files...
No files found that need cleaned up.
Success: WordPress updated successfully.
$ php $HOME/wp-cli/wp-cli.phar core update-db
Success: WordPress database upgraded successfully from db version 36686 to 37965.

Utilisateurs

Créer un utilisateur admin :

$ php $HOME/wp-cli/wp-cli.phar user create admintest john@example.com --role=administrator
Success: Created user 3.
Password: XXXXXXX

Si temporaire, ne pas oublier de le supprimer :

$ php $HOME/wp-cli/wp-cli.phar user list
+----+------------+---------------+----------------------+----------------------+---------------+
| ID | user_login | display_name  | user_email           | user_registered      | roles         |
+----+------------+---------------+----------------------+----------------------+---------------+
| X  | admintest  | admintest     | johndoe@example.com  | 2016-10-17 17:40:26  | administrator |

$ php $HOME/wp-cli/wp-cli.phar user delete X