WordPress est un système de gestion de contenu populaire, dynamique et axé sur les blogs. Le logiciel est construit sur une pile LAMP ou LEMP et dispose d'un cadre de plug-in et d'un système de thème étendus, qui permettent aux propriétaires et aux développeurs de sites de déployer des outils de publication puissants et faciles à utiliser.
Ce tutoriel vous aidera à installer et configurer WordPress avec Apache2, MariaDB et PHP 7 sur Arch Linux.
Installer et configurer Apache, MariaDB et PHP pour Wordpress
Avant de commencer l'installation et la configuration d'Apache, MariaDB et PHP pour WordPress, assurez-vous que la base de données du système Arch Linux est à jour et que tous les logiciels installés exécutent les dernières versions. Exécutez la commande suivante pour mettre à jour votre système dans Arch Linux :
sudo pacman -Syu
Configurer Apache
Installez le serveur Web Apache 2 :
sudo pacman -Sy apache
Configurez le préfork d'Apache MPM. Ouvrez /etc/apache2/mods-available/mpm_prefork.conf dans votre éditeur de texte et modifiez les valeurs selon vos besoins. Ce qui suit est optimisé pour 1 Go de RAM :
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
<IfModule mpm_prefork_module> StartServers 2 MinSpareServers 6 MaxSpareServers 12 MaxRequestWorkers 30 MaxRequestsPerChild 3000 </IfModule>
Le fichier modifié ci-dessus montre les paramètres par défaut du serveur HTTP Apache. Puis désactivez KeepAlive :
sudo nano /etc/httpd/conf/extra/httpd-default.conf
KeepAlive Off
Ouvrez et modifiez le fichier de configuration principal du serveur HTTP Apache httpd.conf. Commentez la ligne include conf/extra/httpd-vhosts.conf
sudo nano /etc/httpd/conf/httpd.conf
#Include conf/extra/httpd-vhosts.conf
Dans le même fichier, ajoutez la ligne IncludeOptional conf/sites.d/*.conf à la fin du fichier httpd.conf.
IncludeOptional conf/sites.d/*.conf
Créez un répertoire pour stocker les fichiers de configuration de l'hôte virtuel :
sudo mkdir -v /etc/httpd/conf/sites.d
Créez le répertoire /srv/http/wordpress. Ce répertoire contiendra plus tard les fichiers WordPress.
sudo mkdir /srv/http/wordpress
Créez un fichier de configuration d'hôte virtuel pour WordPress, dans ce cas, il sera nommé wordpress.conf
sudo nano /etc/httpd/conf/sites.d/wordpress.conf
Ajoutez les lignes suivantes dans le wordpress.conf :
<VirtualHost *:80> DocumentRoot /srv/http/wordpress ServerName wparchserver.tld ServerAdmin [email protected] ErrorLog /var/log/httpd/wparchserver-error_log TransferLog /var/log/httpd/wparchserver-access_log <Directory /> Options +Indexes +FollowSymLinks +ExecCGI AllowOverride All Order deny,allow Allow from all Require all granted </Directory> </VirtualHost>
Remplacez le mot wparchserver.tld par le nom de domaine de votre site Web.
Redémarrez le serveur Web apache afin qu'il charge le nouveau fichier de configuration.
sudo systemctl restart httpd
Configurer MariaDB
Installez mariadb, mariadb-clients et libmariadbclient packages, en exécutant la commande suivante :
sudo pacman -S mariadb mariadb-clients libmariadbclient
Installez le répertoire de données MariaDB :
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Démarrez le service MariaDB et configurez-le pour qu'il s'exécute au démarrage :
sudo systemctl start mysqld.service
sudo systemctl enable mysqld.service
Exécutez mysql_secure_installation, un outil en ligne de commande qui vous aide à sécuriser MySQL / MariaDB. mysql_secure_installation vous donne la possibilité de définir votre mot de passe root, de désactiver les connexions root depuis l'extérieur de localhost, de supprimer les comptes d'utilisateurs anonymes, de supprimer la base de données de test, puis de recharger les tables de privilèges :
sudo mysql_secure_installation
Vous pouvez accepter les valeurs par défaut pour toutes les options, entrez simplement un mot de passe sécurisé lorsque vous y êtes invité.
Configurer PHP 7
Installez le paquet PHP. Selon PHP 7 sur Arch Linux, cette commande installera PHP 7 et ses dépendances.
sudo pacman -Sy php php-apache php-gd
Ouvrez et modifiez le fichier de configuration de PHP /etc/php/php.ini pour de meilleurs messages d'erreur et journaux, et des performances améliorées. Ces modifications fournissent un bon point de départ pour 1 Go de RAM :
sudo nano /etc/php/php.ini
error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR log_errors = On error_log = /var/log/php/error.log max_input_time = 30
Dans le même fichier, activez les extensions mysqli et gd en décommentant les lignes suivantes :
... extension=mysqli.so extension=gd.so ...
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Vous devez maintenant créer le répertoire des journaux pour PHP et donner la propriété à l'utilisateur Apache :
sudo mkdir /var/log/php
sudo chown http /var/log/php
Par défaut, le fichier de configuration d'Apache utilise le module mod_mpm_event.so qui ne fonctionne pas pour cette configuration. Ouvrez le fichier /etc/httpd/conf/httpd.conf, recherchez et commentez la ligne LoadModule mpm_event_module modules/mod_mpm_event.so
sudo nano /etc/httpd/conf/httpd.conf
... #LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule mpm_prefork_module modules/mod_mpm_prefork.so ...
Dans le même fichier, activez le module PHP 7 en ajoutant les lignes LoadModule php7_module modules/libphp7.so et Include conf/extra/php7_module.conf
LoadModule php7_module modules/libphp7.so Include conf/extra/php7_module.conf
Trouvez la section
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
Dans la section
<IfModule dir_module> DirectoryIndex index.php index.html </IfModule>
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Créer une nouvelle base de données MariaDB et un utilisateur pour Wordpress
Afin de créer une nouvelle base de données MariaDB pour l'installation de WordPress, vous devez vous connecter à MariaDB en tant qu'utilisateur root.
mysql -u root -p
Maintenant, créez une base de données pour l'installation de WordPress. Dans ce cas, nous allons créer une base de données nommée dbwordpress et bien sûr vous pouvez changer le nom.
CREATE DATABASE dbwordpress;
Créez un nouvel utilisateur et définissez le mot de passe. Utilisez votre propre mot de passe unique ici.
CREATE USER [email protected] IDENTIFIED BY 'wpP455w0rd';
Accordez maintenant à l'utilisateur un accès complet à la base de données.
GRANT ALL PRIVILEGES ON dbwordpress.* TO [email protected] ;
Actualisez les tables de la base de données et quittez MariaDB.
FLUSH PRIVILEGES;
exit;
Télécharger WP et configurer l'installation de Wordpress
Avant de télécharger Wordpress, installez les packages wget et rsync si vous ne les avez pas encore installés :
sudo pacman -Sy wget rsync
Téléchargez la dernière version de WordPress à partir du site officiel de WordPress à l'aide de la commande wget.
Maintenant, extrayez l'archive WordPress tar.gz.
tar -zxvf latest.tar.gz
Copiez l'installation de WordPress dans le répertoire /srv/http/wordpress/ en utilisant la commande rsync :
sudo rsync -avP wordpress/ /srv/http/wordpress/
Faites une copie de wp-config-sample.php et créez un nouveau fichier wp-config.php. Ce fichier contient les paramètres de connexion à la base de données WordPress.
sudo cp /srv/http/wordpress/wp-config-sample.php /srv/http/wordpress/wp-config.php
Ouvrez et modifiez le fichier wp-config.php, recherchez le paramètre pour DB_NAME, DB_USER et DB_PASSWORD, remplissez les valeurs de la base de données, du nom d'utilisateur et du mot de passe que vous avez créés précédemment.
sudo nano /srv/http/wordpress/wp-config.php
Cela devrait ressembler à ceci :
/** The name of the database for WordPress */ define('DB_NAME', 'dbwordpress'); /** MySQL database username */ define('DB_USER', 'wpuser'); /** MySQL database password */ define('DB_PASSWORD', 'wpP455w0rd');
Remplacez la propriété du répertoire /srv/http/wordpress/ par l'utilisateur et le groupe Apache.
sudo chown -Rv http:http /srv/http/wordpress/
Définissez les autorisations de tous les répertoires dans /srv/http/wordpress/ sur 755.
sudo find /srv/http/wordpress/ -type d -exec chmod -v 775 {} \;
Pour tous les fichiers du répertoire /srv/http/wordpress/ , définissez le mode sur 644.
sudo find /srv/http/wordpress/ -type f -exec chmod -v 644 {} \;
Installez maintenant WordPress via son programme d'installation Web. Ouvrez votre navigateur préféré et accédez au nom du serveur ou à l'adresse IP. La page d'installation de WordPress apparaîtra dans votre navigateur comme ceci :
Sélectionnez votre langue.
Entrez les informations sur votre site wordpress comme le titre du site, le nom d'utilisateur et le mot de passe pour vous connecter au tableau de bord WordPress. Lorsque vous avez terminé, cliquez sur le bouton d'installation
L'installation de WordPress a réussi, vous pouvez maintenant vous connecter au tableau de bord WordPress avec le compte que vous venez de créer en cliquant sur Connexion bouton :
Paramètre facultatif - Configurer les permaliens Wordpress
Avant d'activer la fonctionnalité de permalien de WordPress, nous devons activer le module Apache Rewrite. Vous pouvez le faire en ouvrant le fichier /etc/httpd/conf/httpd.conf.
sudo nano /etc/httpd/conf/httpd.conf
Trouvez la ligne LoadModule rewrite_module modules/mod_rewrite.so et décommentez-la.
LoadModule rewrite_module modules/mod_rewrite.so
Enregistrez et fermez le fichier, puis redémarrez apache :
sudo systemctl restart httpd
Créez un fichier avec le nom .httaccess.
sudo touch /srv/http/wordpress/.htaccess
Changez la propriété de ce fichier .htaccess pour l'utilisateur et le groupe http du serveur Web Apache.
sudo chown -v http:http /srv/http/wordpress/.htaccess
Nous pouvons maintenant activer les permaliens WordPress. Dans le tableau de bord WordPress, accédez à Paramètres -> Permaliens.
Vous pouvez désormais choisir l'un des paramètres préconfigurés pour organiser les URL, ou vous pouvez créer les vôtres.
Lorsque vous avez fait votre sélection, cliquez sur "Enregistrer les modifications".
Conclusion
Toutes nos félicitations! Vous devriez maintenant avoir un site Web WordPress avec Apache2, MariaDB et PHP 7 fonctionnant sur Arch Linux. Pour plus d'informations, vous pouvez consulter Wordpress sur Arch Linux et WordPress Codex.