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 est l'abréviation de L inux, A paché, M ySQL, P HP.
Ce tutoriel mis à jour montre l'installation des dernières versions de PHP (7.0, 7.1, 7.2 et 7.3) sur CentOS 7.6.
1 Remarque préliminaire
Dans ce tutoriel, j'utilise le nom d'hôte server1.example.com avec l'IP p 192.168.0.100. Ces paramètres peuvent différer pour vous, vous devez donc les remplacer le cas échéant.
Je vais ajouter le référentiel EPEL ici pour installer le dernier phpMyAdmin comme suit :
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release
Pour éditer des fichiers sur le shell, je vais installer l'éditeur nano. Si vous préférez vi pour l'édition de fichiers, ignorez cette étape.
yum -y installer nano
2 Installer MySQL / MariaDB
MariaDB est un fork MySQL du développeur MySQL original Monty Widenius. MariaDB est compatible avec MySQL et j'ai choisi d'utiliser ici MariaDB au lieu de MySQL. Exécutez cette commande pour installer MariaDB avec yum :
yum -y install mariadb-server mariadb
Ensuite, nous créons les liens de démarrage du système pour MySQL (afin que MySQL démarre automatiquement à chaque démarrage du système) et démarrons le serveur MySQL :
systemctl start mariadb.service
systemctl enable mariadb.service
Définissez des mots de passe pour le compte racine MySQL :
mysql_secure_installation
[[email protected] ~]# mysql_secure_installation
REMARQUE :L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB
UTILISÉS EN PRODUCTION ! VEUILLEZ LIRE ATTENTIVEMENT CHAQUE ÉTAPE !
Afin de vous 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
vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide,
il vous suffit donc d'appuyer sur Entrée ici.
Entrée mot de passe actuel pour root (entrez pour aucun) :<--ENTER
OK, mot de passe utilisé avec succès, on passe à autre chose...
La définition du 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 ? [O/n]
Nouveau mot de passe :<--yourmariadbpassword
Retapez le nouveau mot de passe :<--yourmariadbpassword
Mot de passe mis à jour avec succès !
Rechargement des tables de privilèges..
... Réussite !
Par défaut, une installation MariaDB a un utilisateur anonyme, ce qui permet n'importe qui
de se connecter à MariaDB sans avoir à créer un compte utilisateur
pour lui. Ceci est uniquement destiné aux tests et à rendre l'installation
un peu plus fluide. Vous devez les supprimer avant de passer à
un environnement de production.
Supprimer les utilisateurs anonymes ? [O/n] <--ENTER
... Succès !
Normalement, root ne devrait être autorisé à se connecter qu'à partir de "localhost". Cela
assure que personne ne peut deviner le mot de passe root à partir du réseau.
Interdire la connexion root à distance ? [O/n] <--ENTER
... Succès !
Par défaut, MariaDB est livré avec une base de données nommée "test" à laquelle tout le monde 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 y accéder ? [O/n] <--ENTER
- 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 !
Le rechargement des tables de privilèges garantira que toutes les modifications apportées jusqu'à présent
entreront en vigueur immédiatement.
Recharger les tables de privilèges maintenant ? [O/n] <--ENTER
... Succès !
Nettoyage...
C'est fait ! Si vous avez terminé toutes les étapes ci-dessus, votre installation de MariaDB
devrait maintenant être sécurisée.
Merci d'utiliser MariaDB !
[[email protected] ~]#3 Installer Apache
CentOS 7 est livré avec Apache 2.4. Apache est directement disponible en tant que package CentOS 7, nous pouvons donc l'installer comme ceci :
yum -y installer httpdVoici une capture d'écran du processus d'installation.
Configurez maintenant votre système pour démarrer Apache au démarrage...
systemctl démarrer httpd.servicesystemctl activer httpd.servicePour 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 --reloadDirigez maintenant votre navigateur vers l'adresse IP de votre serveur, dans mon cas http://192.168.0.100, et vous devriez voir la page d'espace réservé Apache :
4 Installer PHP
La version PHP livrée avec CentOS par défaut est assez ancienne (PHP 5.4). C'est pourquoi je vais vous montrer dans ce chapitre quelques options pour installer les nouvelles versions de PHP comme PHP 7.0 à 7.3 à partir du référentiel Remi.
Ajoutez le référentiel Remi CentOS.
rpm-Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpmInstallez yum-utils car nous avons besoin de l'utilitaire yum-config-manager.
yum -y install yum-utilset lancez yum update
mise à jour miamVous devez maintenant choisir la version de PHP que vous souhaitez utiliser sur le serveur. Si vous souhaitez utiliser PHP 5.4, passez au chapitre 4.1. Pour installer PHP 7.0, suivez les commandes du chapitre 4.2, pour PHP 7.1 le chapitre 4.3, pour PHP 7.4 utilisez le chapitre 4.4 et pour PHP 7.3 suivez le chapitre 4.5 à la place. Suivez un seul 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 php4.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-php70yum -y install php php-opcache4.3 Installer PHP 7.1
Si vous souhaitez utiliser PHP 7.1 à la place, utilisez :
yum-config-manager --enable remi-php71yum -y install php php-opcache4.4 Installer PHP 7.2
Si vous souhaitez utiliser PHP 7.2 à la place, utilisez :
yum-config-manager --enable remi-php72yum -y install php php-opcache4.5 Installer PHP 7.3
Si vous souhaitez utiliser PHP 7.3 à la place, utilisez :
yum-config-manager --enable remi-php73yum -y install php php-opcacheDans cet exemple et dans la machine virtuelle téléchargeable, j'utiliserai PHP 7.3.
Nous devons redémarrer Apache pour appliquer les modifications :
systemctl redémarre httpd.service5 Tester PHP / Obtenir des détails sur votre installation PHP
La racine du document 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, tels que la version PHP installée.
nano /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, PHP 7.3 fonctionne, et il fonctionne via le gestionnaire Apache 2.0, comme indiqué dans la ligne API du serveur. Si vous faites défiler plus bas, vous verrez tous les modules déjà activés en PHP. MySQL n'y figure pas, ce qui signifie que nous n'avons pas encore de support MySQL en PHP.
6 Obtenir le support MySQL en PHP
Pour obtenir la prise en charge de MySQL en 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 recherche phpChoisissez ceux dont vous avez besoin et installez-les comme ceci :
yum -y install php-mysqlnd php-pdoÀ l'étape suivante, j'installerai certains modules PHP courants requis par les systèmes CMS tels que 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-develRedémarrez maintenant le serveur Web Apache :
systemctl redémarre httpd.serviceRechargez maintenant http://192.168.0.100/info.php dans votre navigateur et faites défiler à nouveau jusqu'à la section des modules. Vous devriez maintenant y trouver plein de nouveaux modules comme curl etc. :
Si vous n'avez plus besoin de la sortie d'informations PHP, supprimez ce fichier pour des raisons de sécurité.
rm /var/www/html/info.php7 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 installer phpMyAdminMaintenant, nous configurons phpMyAdmin. Nous modifions la configuration d'Apache afin que phpMyAdmin autorise les connexions non seulement à partir de l'hôte local (en commentant la strophe
et en ajoutant la ligne "Require all granted") : nano /etc/httpd/conf.d/phpMyAdmin.conf[...]
Alias /phpMyAdmin /usr/share/phpMyAdminAlias /phpmyadmin /usr/share/phpMyAdmin
AddDefaultCharset UTF-8
# Apache 2.4
#
# Require ip 127.0.0.1
# Require ip ::1
#
Exiger que tous soient accordés
# Apache 2.2
Ordonner Refuser, Autoriser
Refuser de tous
Autoriser à partir de 127.0.0.1
Autoriser à partir de ::1
Options aucun AllowOverride Limit Exiger que tous soient accordés
[...]Redémarrez Apache pour appliquer les modifications de configuration :
systemctl redémarrer httpd.serviceEnsuite, vous pouvez accéder à phpMyAdmin sous http://192.168.0.100/phpmyadmin/ :
8 Télécharger en tant que machine virtuelle
Cette configuration est disponible en téléchargement de machine virtuelle au format ova/ovf (compatible avec VMWare et Virtualbox) pour les abonnés howtoforge.
Informations de connexion pour la VM
- Le mot de passe racine Linux est :howtoforge.
- Le mot de passe root MySQL est :howtoforge
Veuillez modifier les deux mots de passe lors de la première connexion.
- L'adresse IP de la VM est 192.168.0.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/