Hébergement WordPress sous Slackware

Cet article décrit l’installation du moteur de blog WordPress sur un serveur Slackware. WordPress est le CMS (Content Management System) ou SGC (Système de Gestion de Contenu) le plus utilisé au monde. Actuellement, près de 27 % des sites web dans le monde utilisent WordPress d’après les statistiques de W3Techs.com.

Prérequis

Installation

Créer la base de données :

# mysql -u root -p
mysql> create database wordpress;
mysql> grant all on wordpress.* to wordpressuser@localhost
    -> identified by '********'; 
mysql> flush privileges;
myslq> quit;
Bye

Télécharger WordPress sur le site de l’éditeur :

# cd ~/webapps/wordpress
# links fr.wordpress.org

Suivre les liens Téléchargement > Télécharger au format .tar.gz. Télécharger l’application et quitter Links.

L’hôte virtuel se situera dans /var/www/vhosts/slackbox-wordpress/htdocs. Créer le répertoire parent, décompresser l’archive téléchargée à l’intérieur de ce répertoire et renommer le répertoire wordpress/ résultant en htdocs/ :

# mkdir -p /var/www/vhosts/slackbox-wordpress
# cd /var/www/vhosts/slackbox-wordpress
# tar xvzf /root/webapps/wordpress/wordpress-4.7.2-fr_FR.tar.gz
# mv wordpress htdocs

Régler les droits d’accès et les permissions de fichiers :

# cd /var/www/vhosts
# chown -R apache:apache slackbox-wordpress/
# find slackbox-wordpress/ -type d -exec chmod 0750 \{} \;
# find slackbox-wordpress/ -type f -exec chmod 0640 \{} \;

Créer un hôte virtuel, comme ceci par exemple :

# /etc/httpd/extra/https-ssl.conf
...
# https://wordpress.slackbox.fr
<VirtualHost 195.154.65.130:443>
# HSTS
Header always set Strict-Transport-Security \
  "max-age=63072000; includeSubDomains"
DocumentRoot "/srv/httpd/vhosts/slackbox-wordpress/htdocs"
ServerName wordpress.slackbox.fr:443
ServerAdmin info@microlinux.fr
ErrorLog "/var/log/httpd/wordpress.slackbox.fr-error_log"
TransferLog "/var/log/httpd/wordpress.slackbox.fr-access_log"
SSLEngine on
SSLCertificateFile "/chemin/vers/cert.pem"
SSLCertificateKeyFile "/chemin/vers/privkey.pem"
SSLCertificateChainFile "/chemin/vers/chain.pem"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
</FilesMatch>
BrowserMatch "MSIE [2-5]" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
CustomLog "/var/log/httpd/ssl_request_log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>

En passant, on peut définir une redirection pour que toutes les connexions se fassent en HTTPS, c’est plus propre :

# /etc/httpd/extra/httpd-vhosts.conf
...
# Redirection HTTPS pour wordpress.slackbox.fr
<VirtualHost *:80>
    ServerName wordpress.slackbox.fr
    Redirect / https://wordpress.slackbox.fr
</VirtualHost>

Redémarrer Apache :

# /etc/rc.d/rc.httpd restart

Pointer le navigateur sur l’URL de l’application et suivre les instructions de l’installateur.

La prochaine étape consiste à choisir un titre et à définir un rédacteur principal pour le site.

L’installation est terminée, et on se retrouve dans le Tableau de bord.

Configurer Apache pour les permaliens personnalisés

Dans sa configuration par défaut, WordPress utilise un format de liens du style https://wordpress.slackbox.fr/?p=123. On va préférer un format du genre https://zerif.slackbox.fr/exemple-article/. Dans le Tableau de bord, aller dans Réglages > Permaliens et sélectionner Nom de l’article.

Le problème, c’est qu’à partir de là, les pages ne s’affichent plus :

L’utilisation des permaliens personnalisés de WordPress nécessite de reconfigurer Apache. Dans un premier temps, nous allons activer le module mod_rewrite en décommentant la ligne correspondante dans /etc/httpd/httpd.conf.

#LoadModule userdir_module lib64/httpd/modules/mod_userdir.so
LoadModule alias_module lib64/httpd/modules/mod_alias.so
LoadModule rewrite_module lib64/httpd/modules/mod_rewrite.so

WordPress a créé un fichier .htaccess à la racine de l’installation. Voici à quoi il ressemble :

# cat /var/www/vhosts/slackbox-wordpress/htdocs/.htaccess
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Le contenu de ce fichier devra être transféré dans la configuration de notre hôte virtuel :

# /etc/httpd/extra/https-ssl.conf
...
# https://wordpress.slackbox.fr
<VirtualHost 195.154.65.130:443>
Header always set Strict-Transport-Security \
 "max-age=63072000; includeSubDomains"
DocumentRoot "/srv/httpd/vhosts/slackbox-wordpress/htdocs"
ServerName wordpress.slackbox.fr:443
ServerAdmin info@microlinux.fr
<Directory "/srv/httpd/vhosts/slackbox-wordpress/htdocs">
  <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
  </IfModule>
</Directory>
ErrorLog "/var/log/httpd/wordpress.slackbox.fr-error_log"
TransferLog "/var/log/httpd/wordpress.slackbox.fr-access_log"
...

Redémarrer Apache pour prendre en compte les modifications. Dorénavant, les pages s’affichent correctement avec les permaliens personnalisés.

Ce contenu a été publié dans Documentation Microlinux, Slackware, avec comme mot(s)-clé(s) , , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *