Serveur Web · 6 min read · Nov 29, 2025
Installer Apache, PHP et MySQL sur CentOS 7 (LAMP)
Ce tutoriel montre comment vous pouvez installer un serveur web Apache2 sur un serveur CentOS 7.0 avec support PHP5 (mod_php) et support MySQL. LAMP est l’acronyme de L inux, A pache, M ySQL, P HP.
1 Remarque Préliminaire
Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.0.100. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où cela 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-release2 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. Pour installer MySQL, nous installons MariaDB comme ceci :
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 les mots de passe pour le compte root de MySQL :
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: ligne 379: find_mysql_client: commande introuvable
REMARQUE : 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 afin de 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,
vous devez donc simplement appuyer sur Entrée ici.
Entrez le mot de passe actuel pour root (appuyez sur Entrée pour aucun) : <–ENTRER
OK, mot de passe utilisé avec succès, passage à la suite…
Définir le mot de passe root garantit que personne ne peut se connecter à l’utilisateur root de MariaDB sans l’autorisation appropriée.
Définir le mot de passe root ? [Y/n]
Nouveau mot de passe : <–votremotdepassemariadb
Ressaisissez 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
lui. 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
assure que quelqu’un ne peut pas 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 doit ê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’Apache2
CentOS 7 est livré avec apache 2.4. Apache2 est directement disponible en tant que package CentOS 7.0, donc nous pouvons l’installer comme ceci :
yum -y install httpd[root@server1 ~]# yum install httpd
Plugins chargés : fastestmirror, langpacks
Chargement des vitesses de miroir à partir du fichier hôte mis en cache
base : ftp.plusline.de
extras : mirror.23media.de
mises à jour : mirror.23media.de
Le package httpd-2.4.6-17.el7.centos.1.x86_64 est déjà installé et à la dernière version
Rien à faire
[root@server1 ~]#
Par défaut, apache sera installé, sinon veuillez l’installer comme indiqué ci-dessus.
Maintenant, configurez votre système pour démarrer Apache au démarrage…
systemctl start httpd.servicesystemctl enable httpd.serviceDans CentOS 7.0, on utilise Firewall-cmd, donc je vais le personnaliser pour permettre l’accès externe au port 80 (http) et 443 (https).
firebase-cmd --permanent --zone=public --add-service=http
firebase-cmd --permanent --zone=public --add-service=https
firebase-cmd --reloadMaintenant, dirigez votre navigateur vers http://192.168.0.100, et vous devriez voir la page de placeholder d’Apache2 :

4 Installation de PHP5
Nous pouvons installer PHP5 et le module Apache PHP5 comme suit :
yum -y install phpNous devons redémarrer Apache ensuite :
systemctl restart httpd.service5 Tester PHP5 / Obtenir des Détails sur Votre Installation PHP5
Le document racine du site web par défaut est /var/www/html. Nous allons maintenant créer un petit fichier PHP (info.php) dans ce répertoire et l’appeler dans un navigateur. Le fichier affichera de nombreux détails utiles sur notre installation PHP, tels que la version de PHP installée.
vi /var/www/html/info.phpMaintenant, nous appelons ce fichier dans un navigateur (par exemple http://192.168.0.100/info.php) :

Comme vous le voyez, PHP5 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 PHP5. MySQL n’est pas listé là, ce qui signifie que nous n’avons pas encore de support MySQL dans PHP5.
6 Obtenir le Support MySQL Dans PHP5
Pour obtenir le support MySQL dans PHP, nous pouvons installer le package php-mysql. Il est judicieux d’installer quelques autres modules PHP5 car vous pourriez en avoir besoin pour vos applications. Vous pouvez rechercher les modules PHP5 disponibles comme ceci :
yum search phpChoisissez ceux dont vous avez besoin et installez-les comme ceci :
yum -y install php-mysqlDans l’étape suivante, je vais installer 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-snmp php-soap curl curl-develMaintenant, redémarrez Apache2 :
systemctl restart httpd.serviceMaintenant, rechargez http://192.168.0.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. :

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 install phpMyAdminMaintenant, nous configurons phpMyAdmin. Nous changeons la configuration d’Apache afin que phpMyAdmin permette des connexions non seulement depuis localhost (en commentant la section
vi /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
#
#
# # Apache 2.4
#
# Require ip 127.0.0.1
# Require ip ::1
#
#
#
# # 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 :
vi /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.serviceEnsuite, vous pouvez accéder à phpMyAdmin sous http://192.168.0.100/phpmyadmin/ :

8 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.