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 !