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 :
- Configuration de la vHost
- Création du répertoire des logs
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 :
- AllowOverride All : Indique que les fichiers .htaccess seront interprétés
- Options
- -Indexes : Empêche le listage des répertoires si aucun fichier index n’existe
- +FollowSymLinks : Permet de suivre les liens symboliques placés dans le répertoire
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';
- wordpress_database : nom de la basse de donées
- adminWP_sql : nom de votre utilisateur sql
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 !
T’est serieux tu fait une install en HTTTP !
il manque un bout
il faut plus faire d’install en http, il faut passer en https !!!!
Merci Alex pour cette article qui m’a beaucoup aidé dans l’installation de mon serveur Centos.
Je pense que l’on peut également rajouté l’execution du script « mysql_secure_installation » afin de sécuriser un peux mieux la base de donné.
Cordialement.
Bonjour Michael,
Merci pour votre commentaire.
C’est exact mais le tarif n’est pas du tout le même et n’est pas à la portée de toutes les bourses.
Certains hébergeurs internet comme http://www.metahoster.com/ vendent également des serveurs dédiés infogérés, cela permet d’avoir son propre serveur dédié mais de laisser l’administration de celui-ci à la charge de l’hébergeur.