Astuce : Installer WordPress de A à Z sur un serveur dédié – vHost + MySQL

Petit article bien sympa qui va vous expliquer comment installer WordPress de A à Z sur un serveur dédié, c’est à dire un serveur dont vous avez l’accès root et donc que vous administrez.
A travers cette article, nous n’allons pas seulement voir comment mettre en place l’applicatif (le blog), mais nous allons également aborder comment créer de la base de données MySQL ainsi que de la mise en place de la vHost.

Prérequis

Dans notre exemple, nous partirons sur le principe que notre serveur tourne sous CentOs (Red Hat) et que toute la partie DNS est déjà créée (création d’un enregistrement de type A : votre nom de domaine vers l’IP).
Le nom de domaine utilisé dans l’exemple sera alexblog.fr.

Apache, PHP5 et MySQL doivent déjà être installés au minimum (et démarrés bien évidement). Le service FTP est un plus avec par exemple le paquet vsftpd.

 yum install httpd
yum install php5
yum install mysql mysql-server 

Pour savoir quelle version de WordPress utilisée, je vous invite à livre cet article.

Mise en place de l’environnement

Téléchargez votre version de WordPress dans /var/www/html/.

 cd /var/www/html
wget http://fr.wordpress.org/wordpress-3.6.1-fr_FR.tar.gz 

Dé zippez ensuite cette archive et supprimez la :

 tar -xzvf wordpress-3.6.1-fr_FR.tar.gz
rm wordpress-3.6.1-fr_FR.tar.gz

Votre répertoire de votre blog WordPress sera alors /var/www/html/wordpress/.
Vous pouvez si vous le désirez renommer ce dernier répertoire

 mv wordpress/ MON_NOM/

Mise en place de la vHost

La création va se dérouler en deux temps :

Allez dans le répertoire de configuration d’apache et créez un nouveau fichier de configuration :

cd /etc/httpd/conf.d/
vim alex_blog.fr.conf

Voici un exemple de fichier de configuration :

<VirtualHost *:80>
ServerName alexblog.fr
DocumentRoot /var/www/html/wordpress
       
#Blog
<Directory "/var/www/html/wordpress/">
AllowOverride All
 Options -Indexes +FollowSymLinks
</Directory>

#Interface d'administration
<Directory "/var/www/html/wordpress/wp-admin/">
Order deny,allow
Deny from all
Allow from MON IP
</Directory>

#Logs
ErrorLog /var/log/httpd/wordpress/error_log
CustomLog /var/log/httpd/wordpress/access_log common
</VirtualHost>

Rapide explication des différentes directives :

Une partie importante dans ce fichier  concerne la restriction d’accès à /var/www/html/wordpress/wp-admin/ avec Order deny,allow.
Vous allez devoir indiquer votre ou vos IPs dans le Allow from.

Si vous avez une IP dynamique, oubliez cette partie « #Interface d’administration » et supprimez la de la vHost.

N’oubliez pas ensuite de créer le répertoire qui va accueillir vos journaux (logs) :

mkdir /var/log/httpd/wordpress/

Rechargement d’apache

Nous allons relancer le service apache afin de prendre en compte notre nouvelle vHost.

Testez toute d’abord la configuration d’apache (vous devriez avoir un Syntax Ok).

apachectl -t

Rechargez donc ensuite apache :

service httpd reload

Création de la base de données

Tout va se dérouler en 4 étapes.

Connectez vous en admin à votre base de données.

mysql -u root -p

Créez la base de données qui va contenir WordPress.

CREATE DATABASE wordpress_database;

Créez un utilisateur SQL qui aura uniquement les droits sur cette base de données.

GRANT ALL PRIVILEGES ON wordpress_database.* TO adminWP_sql@localhost identified by 'PASSWORD';

Appliquez les modifications.

FLUSH PRIVILEGES;

Modification du fichier de configuration wp-config.php

Retournez dans le répertoire ou se trouve le répertoire de blog, ici /var/www/html/wordpress/.

Renommez le fichier wp-config-sample.php en wp-config.php et éditez le.

mv wp-config-sample.php wp-config.php
vim wp-config.php

Modifiez les paramètres suivants :

/** Nom de la base de donnees de WordPress. */
define('DB_NAME', 'votre_nom_de_bdd');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'votre_utilisateur_de_bdd');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'votre_mdp_de_bdd');

Dans notre exemple, nous aurons :

/** Nom de la base de donnees de WordPress. */
define('DB_NAME', 'wordpress_database');

/** Utilisateur de la base de données MySQL. */
define('DB_USER', 'adminWP_sql');

/** Mot de passe de la base de données MySQL. */
define('DB_PASSWORD', 'PASSWORD');

Création d’un utilisateur FTP

Pour pouvoir par la suite, mettre à votre jour blog, déposez des nouveaux thèmes ou extensions, nous allons mettre en place un utilisateur FTP, nous le nommerons wordpress_ftp.

useradd wordpress_ftp -s /sbin/nologin -d /var/www/html/wordpress

/var/www/html/wordpress étant le répertoire où est installé WordPress.

Attribuez ensuite un mot de passe à votre utilisateur.

passwd wordpress_ftp

Nous allons maintenant modifier les droits de votre installation.

chown -R wordpress_ftp.apache /var/www/html/wordpress/

Tous les fichiers et répertoires présents dans /var/www/html/wordpress/ auront comme propriétaire votre utilisateur ftp (wordpress_ftp) et comme groupe apache.

Déploiement de l’environnement WordPress

La dernière partie reste la finalisation de l’installation de WordPress.

Pour se refaire, rendez-vous sur l’URL de votre site web, ici : https://alexblog.fr/wp-admin/install.php et répondez aux quelques questions.

Voilà, votre blog est maintenant installé et fonctionnel !

Quitter la version mobile