WordPress se distingue comme la plateforme de blog et le CMS (système de gestion de contenu) le plus répandu à l’échelle mondiale. Sa facilité de développement, de personnalisation et d’évolutivité en fait un choix privilégié pour la production web. Compatible avec une multitude de systèmes d’exploitation serveur (Linux, Windows, voire BSD), il séduit un large éventail d’utilisateurs et propulse une part significative de l’Internet. L’installation manuelle de WordPress sur un serveur peut s’avérer une démarche complexe, déconseillée aux novices. Si vous vous trouvez dans cette situation, et que vous n’êtes pas familier avec ce type de manipulation, il serait judicieux de vous pencher sur Presslabs. Ce service de qualité facilite la gestion, la sécurisation et l’optimisation du logiciel de blog. Toutefois, si vous préférez maîtriser chaque étape, ce guide vous accompagnera dans l’installation de WordPress sur un serveur Ubuntu.
Il est important de noter que ce guide se concentre sur l’environnement Ubuntu et Linux, mais que WordPress peut fonctionner sur d’autres systèmes d’exploitation serveur. Son utilisation nécessite PHP, MySQL, et un serveur web.
Mise en place de la Pile LAMP
Lors de la configuration d’un serveur Ubuntu, les utilisateurs ont la possibilité de sélectionner de multiples paquets à installer d’emblée. L’une de ces options est la pile LAMP (Linux, Apache, MySQL et PHP). Pour les nouveaux utilisateurs d’Ubuntu, nous recommandons de choisir cette option lors de la sélection des paquets pendant l’installation.
Si votre serveur Ubuntu est déjà opérationnel, pas d’inquiétude ! Il est tout à fait possible d’installer la pile LAMP après coup. Pour ce faire, exécutez la commande suivante dans le terminal :
sudo apt install php-curl php-gd php-mbstring php-mcrypt php-xml php-xmlrpc libapache2-mod-php7.0 libapache2-mod-php lamp-server^
Puis, relancez le serveur web avec :
sudo systemctl restart apache2
Une fois que tous les paquets relatifs à LAMP ont été installés, le système vous demandera de définir un mot de passe root pour MySQL. Choisissez un mot de passe sûr et facile à retenir. Sans ce mot de passe root, il sera impossible de se connecter à MySQL pour créer la base de données nécessaire à WordPress.
Enfin, créez un nouvel utilisateur pour WordPress (si vous n’en avez pas déjà un) :
adduser ubuntu-wordpress
passwd ubuntu-wordpress
usermod -aG sudo ubuntu-wordpress
Configuration d’Apache2
L’utilisation de WordPress avec Apache 2 nécessite quelques ajustements pour un fonctionnement optimal. À l’aide de l’éditeur de texte nano, ouvrez le fichier de configuration du serveur web Apache2 :
sudo nano /etc/apache2/apache2.conf
Une fois dans nano, déplacez-vous jusqu’à la fin du fichier avec les touches fléchées. Ajoutez-y le code suivant :
<Directory /var/www/html/>
AllowOverride All
</Directory>
Enregistrez le fichier mis à jour avec Ctrl + O et quittez nano avec Ctrl + X.
Pour finir, activez les modules Apache 2 indispensables :
sudo a2enmod rewrite
sudo a2enmod php7.0
N’oubliez pas de redémarrer le serveur web pour que les modifications soient prises en compte :
sudo systemctl restart apache2
Installation de WordPress
Commencez l’installation en téléchargeant la dernière version de WordPress :
Note : n’effectuez pas cette installation avec l’utilisateur root.
wget tar.gz -P /tmp/ https://wordpress.org/latest.tar.gz
Extrayez le contenu de l’archive tar.gz dans le répertoire web par défaut :
tar xzvf /tmp/latest.tar.gz -C /var/www/html/ --strip-components=1
Ensuite, créez un nouveau fichier .htaccess et modifiez ses permissions :
touch /var/www/html/.htaccess
chmod 660 /var/www/html/.htaccess
Copiez l’exemple de fichier de configuration en tant que fichier de configuration par défaut en utilisant la commande cp :
cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
Grâce à la commande chown, attribuez la propriété des fichiers WordPress à votre utilisateur :
sudo chown -R ubuntu-wordpress:www-data /var/www/html
Ajustement des permissions
L’utilisateur ubuntu-wordpress dispose désormais d’un accès amélioré à /var/www/html. L’étape suivante consiste à ajuster les permissions pour un fonctionnement optimal de WordPress :
sudo find /var/www/html -type d -exec chmod g+s {} ;
sudo chmod g+w /var/www/html/
Les répertoires des thèmes et plugins nécessitent également des modifications de permissions :
sudo chmod -R g+w /var/www/html/wp-content/themes
sudo chmod -R g+w /var/www/html/wp-content/plugins
Configuration des clés secrètes
Pour des raisons de sécurité, chaque nouvelle installation de WordPress doit être protégée par des clés secrètes. Ces clés peuvent être générées facilement via la commande curl :
curl -s https://api.wordpress.org/secret-key/1.1/salt/ > /wp-keys
Grâce à curl, les clés de sel WordPress sont enregistrées dans le fichier /wp-keys. Utilisez la commande cat pour les visualiser :
cat /wp-keys
Ouvrez un second terminal et modifiez votre fichier de configuration WordPress :
nano /var/www/html/wp-config.php
Défilez jusqu’au milieu du fichier et renseignez chacune des clés aux emplacements correspondants. Référez-vous au contenu de /wp-keys.
Note : Copiez le texte entre les guillemets.
Création de la base de données SQL
Connectez-vous à l’interface MySQL en utilisant le mot de passe root défini lors de l’installation de LAMP. Une fois connecté, utilisez l’invite pour créer une nouvelle base de données dédiée à WordPress :
mysql -u root -p
Note : remplacez « securepassword » par un mot de passe sécurisé. N’oubliez pas les guillemets.
CREATE DATABASE wordpressdb;
CREATE USER ubuntuwordpress@localhost IDENTIFIED BY 'securepassword';
GRANT ALL PRIVILEGES ON wordpressdb.* TO ubuntuwordpress@localhost;
FLUSH PRIVILEGES;
exit
Relancez le serveur web Apache 2 et MySQL pour que les modifications soient prises en compte :
sudo service apache2 restart
sudo service mysql restart
Dernières configurations
La dernière étape de configuration via le terminal consiste à renseigner les informations de la base de données dans le fichier config.php. Ouvrez-le dans nano et complétez les informations requises. Voici un exemple de ce à quoi cela devrait ressembler :
nano /var/www/html/wp-config.php
// ** Paramètres MySQL – Vous pouvez obtenir ces informations auprès de votre hébergeur ** //
// ** Le nom de la base de données pour WordPress ** //
define (‘DB_NAME’, ‘wordpressdb’);
// ** Nom d’utilisateur de la base de données MySQL ** //
define (‘DB_USER’, ‘ubuntuwordpress’);
// ** Mot de passe de la base de données MySQL ** //
define (‘DB_PASSWORD’, ‘securepassword’);
// ** Nom d’hôte MySQL ** //
define (‘DB_HOST’, ‘localhost’);
Finalisation de la configuration de votre blog WordPress
Une fois la configuration terminée, accédez à votre domaine et suivez les étapes du processus de configuration de WordPress. L’installeur est très intuitif et vous accompagnera à chaque phase.