Installation LAMP · 8 min read · Dec 06, 2025
Comment installer Apache, PHP 7.2 et MySQL sur CentOS 7.4 (LAMP)
Ce tutoriel montre comment installer un serveur web Apache sur un serveur CentOS 7 avec PHP (mod_php) et une base de données MySQL. L’acronyme LAMP signifie L inux, A pache, M ySQL, P HP.
Ce tutoriel mis à jour montre l’installation des dernières versions de PHP (7.0, 7.1 et 7.2) sur CentOS 7.4.
1 Remarque préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’IP p 192.168.1.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où c’est approprié.
Je vais ajouter le dépôt EPEL ici pour installer la dernière version de phpMyAdmin comme suit :
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-releasePour éditer des fichiers dans le shell, j’installerai l’éditeur nano. Si vous préférez vi pour l’édition de fichiers, alors passez cette étape.
yum -y install nano2 Installation de MySQL / MariaDB
MariaDB est un fork de MySQL du développeur original de MySQL, Monty Widenius. MariaDB est compatible avec MySQL et j’ai choisi d’utiliser MariaDB ici au lieu de MySQL. Exécutez cette commande pour installer MariaDB avec yum :
yum -y install mariadb-server mariadbEnsuite, nous créons les liens de démarrage système pour MySQL (afin que MySQL démarre automatiquement chaque fois que le système démarre) et démarrons le serveur MySQL :
systemctl start mariadb.service
systemctl enable mariadb.serviceDéfinissez des mots de passe pour le compte root de MySQL :
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
NOTE : L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB EN UTILISATION PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MariaDB pour le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB, et que vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devez juste appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (entrer pour aucun) : <--ENTRER
OK, mot de passe utilisé avec succès, passage à la suite...
Définir le mot de passe root ? [Y/n]
Nouveau mot de passe : <--votremotdepassemariadb
Ressaisir le nouveau mot de passe : <--votremotdepassemariadb
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
... Succès !
Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur pour eux. Ceci est destiné uniquement aux tests, et pour rendre l'installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <--ENTRER
... Succès !
Normalement, root ne devrait être autorisé à se connecter que depuis 'localhost'. Cela garantit que personne ne peut deviner le mot de passe root depuis le réseau.
Interdire la connexion root à distance ? [Y/n] <--ENTRER
... Succès !
Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle quiconque peut accéder. Ceci est également destiné uniquement aux tests, et devrait être supprimé avant de passer à un environnement de production.
Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] <--ENTRER
- Suppression de la base de données de test...
... Succès !
- Suppression des privilèges sur la base de données de test...
... Succès !
Recharger les tables de privilèges garantira que tous les changements effectués jusqu'à présent prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] <--ENTRER
... Succès !
Nettoyage...
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.
Merci d'utiliser MariaDB !
[root@server1 ~]#
## 3 Installation d'Apache
CentOS 7 est livré avec Apache 2.4. Apache est directement disponible en tant que package CentOS 7, donc nous pouvons l'installer comme ceci :
yum -y install httpd
Voici une capture d'écran du processus d'installation.

Maintenant, configurez votre système pour démarrer Apache au démarrage...
systemctl start httpd.service
systemctl enable httpd.service
Pour pouvoir accéder au serveur web de l'extérieur, nous devons ouvrir les ports HTTP (80) et HTTPS (443) dans le pare-feu. Le pare-feu par défaut sur CentOS est firewalld qui peut être configuré avec la commande firewalld-cmd.
firewall-cmd –permanent –zone=public –add-service=http
firewall-cmd –permanent –zone=public –add-service=https
firewall-cmd –reload
Maintenant, dirigez votre navigateur vers l'adresse IP de votre serveur, dans mon cas http://192.168.1.100, et vous devriez voir la page de placeholder d'Apache :

## 4 Installation de PHP
La version de PHP qui est livrée avec CentOS par défaut est assez ancienne (PHP 5.4). Par conséquent, je vais vous montrer dans ce chapitre quelques options pour installer des versions plus récentes de PHP comme PHP 7.0 ou 7.1 à partir du dépôt Remi.
Ajoutez le dépôt Remi CentOS.
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Installez yum-utils car nous avons besoin de l'utilitaire yum-config-manager.
yum -y install yum-utils
et exécutez yum update
yum update
Maintenant, vous devez choisir quelle version de PHP vous souhaitez utiliser sur le serveur. Si vous souhaitez utiliser PHP 5.4, alors passez au chapitre 4.1. Pour installer PHP 7.0, suivez les commandes dans le chapitre 4.2, pour PHP 7.1 chapitre 4.3 et pour PHP 7.1, utilisez le chapitre 4.4 à la place. Suivez juste un des chapitres 4.x et pas tous, car vous ne pouvez utiliser qu'une seule version de PHP à la fois avec Apache mod_php.
### 4.1 Installer PHP 5.4
Pour installer PHP 5.4, exécutez cette commande :
yum -y install php
### 4.2 Installer PHP 7.0
Nous pouvons installer PHP 7.0 et le module Apache PHP 7.0 comme suit :
yum-config-manager –enable remi-php70
yum -y install php php-opcache
### 4.3 Installer PHP 7.1
Si vous souhaitez utiliser PHP 7.1 à la place, utilisez :
yum-config-manager –enable remi-php71
yum -y install php php-opcache
### 4.4 Installer PHP 7.2
Si vous souhaitez utiliser PHP 7.2 à la place, utilisez :
yum-config-manager –enable remi-php72
yum -y install php php-opcache
Dans cet exemple et dans la machine virtuelle téléchargeable, j'utiliserai PHP 7.2.
Nous devons redémarrer Apache pour appliquer les changements :
systemctl restart httpd.service
## 5 Tester PHP / Obtenir des détails sur votre installation PHP
Le répertoire racine du site web par défaut est /var/www/html. Nous allons créer un petit fichier PHP (info.php) dans ce répertoire et l'appeler dans un navigateur pour tester l'installation de PHP. Le fichier affichera de nombreux détails utiles sur notre installation PHP, comme la version de PHP installée.
nano /var/www/html/info.php
Maintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.1.100/info.php) :

Comme vous le voyez, PHP 7.2 fonctionne, et il fonctionne via le gestionnaire Apache 2.0, comme indiqué dans la ligne Server API. Si vous faites défiler plus bas, vous verrez tous les modules qui sont déjà activés dans PHP. MySQL n'est pas listé là, ce qui signifie que nous n'avons pas encore de support MySQL dans PHP.
## 6 Obtenir le support MySQL dans PHP
Pour obtenir le support MySQL dans PHP, nous pouvons installer le package php-mysqlnd. C'est une bonne idée d'installer d'autres modules PHP car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :
yum search php
Choisissez ceux dont vous avez besoin et installez-les comme ceci :
yum -y install php-mysqlnd php-pdo
Dans l'étape suivante, j'installerai quelques modules PHP courants qui sont requis par des systèmes CMS comme Wordpress, Joomla et Drupal :
yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-soap curl curl-devel
Maintenant, redémarrez le serveur web Apache :
systemctl restart httpd.service
Maintenant, rechargez http://192.168.1.100/info.php dans votre navigateur et faites défiler à nouveau jusqu'à la section des modules. Vous devriez maintenant trouver de nombreux nouveaux modules comme curl etc. :

Si vous n'avez plus besoin de la sortie d'informations PHP, alors supprimez ce fichier pour des raisons de sécurité.
rm /var/www/html/info.php
## 7 Installation de phpMyAdmin
phpMyAdmin est une interface web à travers laquelle vous pouvez gérer vos bases de données MySQL.
phpMyAdmin peut maintenant être installé comme suit :
yum -y install phpMyAdmin
Maintenant, nous configurons phpMyAdmin. Nous changeons la configuration d'Apache afin que phpMyAdmin autorise les connexions non seulement depuis localhost (en commentant la section et en ajoutant la ligne 'Require all granted') :
nano /etc/httpd/conf.d/phpMyAdmin.conf
[…]
Alias /phpMyAdmin /usr/share/phpMyAdmin Alias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
Require all granted
# Apache 2.2
Order Deny,Allow
Deny from All
Allow from 127.0.0.1
Allow from ::1
Options none
AllowOverride Limit
Require all granted[…]
Ensuite, nous changeons l'authentification dans phpMyAdmin de cookie à http :
nano /etc/phpMyAdmin/config.inc.php
[…]
$cfg[‘Servers’][$i][‘auth_type’] = ‘http’; // Méthode d’authentification (config, http ou basée sur cookie)?
[…]
Redémarrez Apache :
systemctl restart httpd.service
Ensuite, vous pouvez accéder à phpMyAdmin sous http://192.168.1.100/phpmyadmin/ :

## 8 Télécharger en tant que machine virtuelle
Cette configuration est disponible en tant que téléchargement de machine virtuelle au format ova/ovf (compatible avec VMWare et Virtualbox) pour les abonnés de howtoforge.
Détails de connexion pour la VM
- Le mot de passe root Linux est : howtoforge.
- Le mot de passe root MySQL est : howtoforge
Veuillez changer les deux mots de passe lors de la première connexion.
- L'adresse IP de la VM est 192.168.1.100
## 9 Liens
Apache : http://httpd.apache.org/
PHP : http://www.php.net/
MySQL : http://www.mysql.com/
CentOS : http://www.centos.org/
phpMyAdmin : http://www.phpmyadmin.net/Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.