Recherche de site Web

Installez Apache, MySQL 8 ou MariaDB 10 et PHP 7 sur CentOS 7


Ce guide pratique explique comment installer la dernière version de Apache, MySQL 8 ou MariaDB 10 et PHP 7. ainsi que les modules PHP requis sur RHEL/CentOS 7/6 et Fedora 24-29.

Cette combinaison du système d'exploitation (Linux) avec le serveur Web (Apache), le serveur de base de données (MariaDB/MySQL) et les scripts côté serveur (PHP) est connu sous le nom de pile LAMP.

Ne manquez pas : Comment installer Nginx 1.15, MariaDB 10 et PHP 7 sur CentOS 7

Depuis septembre 2015, PHP 5.4 n'est plus pris en charge par l'équipe PHP et il est arrivé en fin de vie. Pourtant, PHP 5.4 est livré avec RHEL/CentOS 7 /6 avec un changement de version mineur et Red Hat le prend en charge, donc la mise à niveau vers une version supérieure n'est pas requise. Cependant, il est fortement recommandé de mettre à niveau votre PHP 5.4 vers PHP 5.5+ pour une sécurité et des performances accrues.

Voici ce qui est livré avec votre distribution Linux actuelle :

PHP Current Version RHEL/CentOS 7 RHEL/CentOS 6
7.3 5.4 5.3

Pour ce faire, nous allons activer les dépôts EPEL et Remi et utiliser yum et dnf (le nouvel outil de gestion de paquets disponible dans Fedora).

Étape 1 : Installation du référentiel EPEL et Remi

EPEL (Extra Packages for Enterprise Linux) est un référentiel communautaire proposant des packages logiciels complémentaires pour les distributions Linux basées sur RHEL.

Remi est un référentiel dans lequel vous pouvez trouver les dernières versions de la pile PHP (complète) pour l'installation dans les distributions Fedora et Enterprise Linux.

Sur RHEL/CentOS 7

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------ For RHEL 7 Only ------
subscription-manager repos --enable=rhel-7-server-optional-rpms

Sur RHEL/CentOS 6

yum update && yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

------ For RHEL 6 Only ------
subscription-manager repos --enable=rhel-6-server-optional-rpms

Sur Fedora 24-29

rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-29.rpm  [On Fedora 29]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-28.rpm  [On Fedora 28]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-27.rpm  [On Fedora 27]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-26.rpm  [On Fedora 26]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-25.rpm  [On Fedora 25]
rpm -Uvh http://rpms.remirepo.net/fedora/remi-release-24.rpm  [On Fedora 24]

Étape 2 : Installation du serveur Web Apache

Apache est un serveur Web HTTP gratuit et open source qui fonctionne sur la plupart des systèmes d'exploitation basés sur UNIX ainsi que sur Windows. En tant que tel, il peut être utilisé pour servir des pages Web statiques et gérer du contenu dynamique. Des rapports récents montrent qu'Apache est le serveur numéro un utilisé dans les sites Web et les ordinateurs connectés à Internet.

Pour installer le serveur Web Apache, mettez d'abord à jour les packages logiciels système et installez-le à l'aide des commandes suivantes.

yum -y update
yum install httpd

Une fois le serveur Web Apache installé, vous pouvez commencer à l'activer pour démarrer automatiquement au démarrage du système.

systemctl start httpd
systemctl enable httpd
systemctl status httpd

Si vous utilisez firewalld, assurez-vous d'autoriser le trafic Apache sur le pare-feu.

firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Étape 3 : Installation de PHP à l'aide du référentiel Remi

PHP (Hypertext Preprocessor) est un langage de script côté serveur gratuit et Open Source qui convient le mieux au développement Web. Il peut être utilisé pour produire des pages Web dynamiques pour un site Web et se trouve le plus souvent sur les serveurs *nix. L’un des avantages de PHP est qu’il est facilement extensible grâce à l’utilisation d’une grande variété de modules.

Pour installer PHP, vous devez d'abord activer le référentiel Remi en installant yum-utils, une collection de programmes utiles pour gérer les référentiels et les packages yum.

yum install yum-utils

Une fois installé, vous pouvez utiliser yum-config-manager fourni par yum-utils pour activer le référentiel Remi comme référentiel par défaut pour installer différentes versions de PHP, comme indiqué.

Par exemple, pour installer la version PHP 7.x, utilisez la commande suivante.

------------- On CentOS & RHEL ------------- 
yum-config-manager --enable remi-php70 && yum install php       [Install PHP 7.0]
yum-config-manager --enable remi-php71 && yum install php       [Install PHP 7.1]
yum-config-manager --enable remi-php72 && yum install php       [Install PHP 7.2]
yum-config-manager --enable remi-php73 && yum install php       [Install PHP 7.3]

------------- On Fedora ------------- 
dnf --enablerepo=remi install php70      [Install PHP 7.0]
dnf --enablerepo=remi install php71      [Install PHP 7.1]
dnf --enablerepo=remi install php72      [Install PHP 7.2]
dnf --enablerepo=remi install php73      [Install PHP 7.3]

Ensuite, nous allons installer tous ces modules PHP suivants dans cet article. Vous pouvez rechercher davantage de modules liés à PHP (peut-être pour intégrer une fonctionnalité spécifique dont vos applications Web ont besoin) avec la commande suivante :

------ RHEL/CentOS 7/6------
yum search all php     

------ Fedora ------
dnf search all php   

Quelle que soit la distribution, les commandes ci-dessus renvoient la liste des packages dans les référentiels actuellement activés qui incluent le mot php dans le nom du package et/ou la description.

Voici les packages que nous allons installer. Veuillez garder à l'esprit que les connecteurs MySQL (PHP, Perl, Python, Java, etc.) fonctionneront inchangés avec MariaDB car les deux systèmes utilisent le même protocole client et les mêmes bibliothèques client. sont compatibles binaires.

  1. MariaDB/MySQL (php-mysql) – un objet partagé dynamique qui ajoutera la prise en charge de MariaDB à PHP.
  2. PostgreSQL (php-pgsql) – Prise en charge de la base de données PostgreSQL pour PHP.
  3. MongoDB (php-pecl-mongo) – Une interface pour communiquer avec la base de données MongoDB en PHP.
  4. Générique (php-pdo) – Un objet partagé dynamique qui ajoutera une couche d'abstraction d'accès à la base de données à PHP.
  5. Memcache (php-pecl-memcache) – Memcached est un démon de mise en cache spécialement conçu pour les applications Web dynamiques afin de réduire la charge de la base de données en stockant des objets en mémoire.
  6. Memcached (php-pecl-memcached) – Une extension qui utilise la bibliothèque libmemcached pour fournir une API permettant de communiquer avec les serveurs Memcached.
  7. GD (php-gd) – Un objet de partage dynamique qui ajoute la prise en charge de l'utilisation de la bibliothèque graphique gd à PHP.
  8. XML (php-xml) – Un objet partagé dynamique qui ajoute la prise en charge de PHP pour la manipulation des documents XML.
  9. MBString (php-mbstring) – Une extension pour gérer les chaînes multi-octets dans les applications PHP.
  10. MCrypt (php-mcrypt) – Une bibliothèque Mcrypt pour les scripts PHP.
  11. APC (php-pecl-apcu) – Module APC utilisé pour optimiser et mettre en cache le code PHP.
  12. CLI (php-cli) – Interface de ligne de commande pour PHP.
  13. PEAR (php-pear) – Framework de référentiel d'applications pour PHP.

Installez les modules PHP nécessaires suivants avec la commande ci-dessous.

------ On RHEL/CentOS 7/6 ------
yum --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

------ On Fedora ------
dnf --enablerepo=remi install php-mysqlnd php-pgsql php-pecl-mongo php-pdo php-pecl-memcache php-pecl-memcached php-gd php-xml php-mbstring php-mcrypt php-pecl-apcu php-cli php-pear

Étape 4 : Installation de la base de données MySQL ou MariaDB

Dans cette section, nous allons vous montrer l'installation des deux bases de données MySQL et MariaDB, c'est donc à vous de choisir en fonction de vos besoins.

Installation du serveur de base de données MySQL 8

MySQL est l'un des systèmes de gestion de bases de données relationnelles (SGBDR) open source les plus populaires au monde. Il exécute n'importe quel serveur en fournissant un accès multi-utilisateur à plusieurs bases de données. MySQL fonctionne avec Apache.

Pour installer la dernière version de MySQL 8.0, nous allons installer et activer le référentiel officiel du logiciel MySQL Yum à l'aide des commandes suivantes.

rpm -Uvh https://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm        [On RHEL/CentOS 7]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el6-1.noarch.rpm     [On RHEL/CentOS 6]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc29-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc28-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc27-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc26-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc25-1.noarch.rpm    [On Fedora 29]
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-fc24-1.noarch.rpm    [On Fedora 29]

Après avoir installé le référentiel de logiciels MySQL Yum pour votre plate-forme Linux, installez maintenant la dernière version de MySQL (actuellement 8.0) à l'aide de la commande suivante.

yum install mysql-community-server      [On RHEL/CentOS]
dnf install mysql-community-server      [On Fedora]

Après une installation réussie de MySQL, il est temps de démarrer le serveur MySQL avec la commande suivante.

service mysqld start

Consultez notre article sur la façon de sécuriser l'installation de la base de données MySQL 8.

Installation du serveur de base de données MariaDB 10

MariaDB est un fork du célèbre MySQL, l'un des systèmes de gestion de bases de données relationnelles (SGBDR) les plus populaires au monde. Il est entièrement développé par la communauté et à ce titre il a vocation à rester FOSS et compatible avec la GPL.

Si vous êtes ou avez été un utilisateur de MySQL, la migration vers MariaDB sera un processus très simple : les commandes courantes pour se connecter, sauvegarder, restaurer et gérer les bases de données sont identiques dans les deux SGBDR.

Dans la dernière distribution RHEL/CentOS 7, MariaDB remplace MySQL et dans RHEL/CentOS 6 MySQL reste le même et vous n'êtes pas autorisé à installer MariaDB sur RHEL/CentOS 6 à partir du référentiel par défaut, mais vous pouvez installer MariaDB à l'aide du référentiel officiel MariaDB.

Pour activer le référentiel MariaDB sur les distributions RHEL/CentOS 7, créez un fichier nommé /etc/yum.repos.d/mariadb.repo avec le contenu suivant :

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Remarque : comme je l'ai dit ci-dessus, vous pouvez également installer MariaDB sur RHEL/CentOS 6 en utilisant le référentiel officiel MariaDB comme indiqué ci-dessus.

Après avoir activé le référentiel MariaDB, faites :

------ On RHEL/CentOS 7 ------
yum --enablerepo=remi install httpd MariaDB-client MariaDB-server

------ On Fedora ------
dnf --enablerepo=remi install httpd MariaDB-client MariaDB-server

Étape 5 : Activer/Démarrer Apache et MySQL/MariaDB

Sur SystemD

------ Enable Apache and MariaDB on Boot ------
systemctl enable httpd
systemctl enable mariadb

------ Start Apache and MariaDB ------
systemctl start httpd
systemctl start mariadb

Sur SysVinit

------ Enable Apache and MySQL on Boot ------
chkconfig --levels 235 httpd on
chkconfig --levels 235 mysqld on

------ Start Apache and MySQL ------
/etc/init.d/httpd start
/etc/init.d/mysqld start

Étape 6 : Vérification de l'installation de PHP

Restons fidèles à la manière classique de tester PHP. Créez un fichier appelé test.php sous /var/www/html et ajoutez-y les lignes de code suivantes.

La fonction phpinfo() affiche de nombreuses informations sur l'installation actuelle de PHP :

<?php
	phpinfo();
?>

Pointez maintenant votre navigateur Web sur http://[server]/test.php et vérifiez la présence des modules installés et des logiciels supplémentaires en faisant défiler la page vers le bas (remplacez [server] avec votre domaine ou l'adresse IP de votre serveur). Votre résultat devrait être similaire à :

Toutes nos félicitations! Vous disposez désormais d'une dernière installation fonctionnelle d'une pile LAMP. Si quelque chose ne s'est pas passé comme prévu, n'hésitez pas à nous contacter en utilisant le formulaire ci-dessous. Les questions et suggestions sont également les bienvenues.

Remarque : vous pouvez également installer MariaDB dans d'autres distributions en créant un référentiel personnalisé en suivant les instructions fournies ici.