LAMPE est l'acronyme de Linux, Apache, MySQL et PHP . Apache est le serveur Web pour servir les fichiers via le protocole HTTP. MySQL est le serveur de base de données populaire. PHP est le langage de programmation utilisé pour développer des applications Web. En utilisant ces applications, nous pouvons créer un serveur Web à part entière. La manière la plus courante d'exécuter des applications PHP avec Apache est l'utilisation du module mod_php. La bonne alternative est également d'utiliser PHP-FPM, qui présente plusieurs avantages par rapport à cela. L'installation par défaut sur CentOS 8 utilise PHP-FPM pour traiter les fichiers php.
Ce tutoriel vous aidera à installer et à configurer LAMP (Linux, Apache, MySQL et PHP) sur les systèmes Linux CentOS 8 et RHEL 8.
Lien utile :
- Configurer Let's Encrypt SSL avec Apache sur CentOS 8
- Comment configurer un utilisateur SFTP uniquement sur CentOS 8
Prérequis
- Machine CentOS 8 nouvellement installée.
- Terminer la configuration initiale du serveur
- Accès au shell avec les privilèges sudo
Étape 1 :Installer Apache
Les packages de serveur Web Apache sont disponibles dans le référentiel AppStream par défaut sur CentOS 8. Il vous suffit de mettre à jour le cache DNF et d'installer les packages à l'aide des commandes suivantes.
sudo dnf update sudo dnf install httpd httpd-tools
Le package mod_ssl fournit la fonctionnalité permettant d'utiliser un certificat SSL pour un HTTP sécurisé. Après l'installation, activez le service httpd et démarrez.
sudo systemctl enable httpd.service sudo systemctl start httpd.service
Vérifiez maintenant l'état du service Apache :
sudo systemctl status httpd.service
Sortie :
● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sat 2020-03-22 04:27:24 EDT; 5s ago Docs: man:httpd.service(8) Main PID: 8644 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 8918) Memory: 21.5M CGroup: /system.slice/httpd.service ├─8644 /usr/sbin/httpd -DFOREGROUND ├─8650 /usr/sbin/httpd -DFOREGROUND ├─8651 /usr/sbin/httpd -DFOREGROUND ├─8652 /usr/sbin/httpd -DFOREGROUND └─8653 /usr/sbin/httpd -DFOREGROUND Mar 22 04:27:23 tecadmin systemd[1]: Starting The Apache HTTP Server... Mar 22 04:27:24 tecadmin systemd[1]: Started The Apache HTTP Server. Mar 22 04:27:24 tecadmin httpd[8644]: Server configured, listening on: port 80
Étape 2 - Installer le serveur MySQL
Les derniers packages MySQL 8 sont disponibles dans le référentiel AppStrem sous CentOS 8. Utilisez la commande suivante pour installer le serveur MySQL, y compris les packages requis sur votre système.
sudo dnf -y install @mysql
Une fois l'installation terminée, activez le service MySQL pour qu'il démarre automatiquement au démarrage du système. Démarrez également le service manuellement pour la première fois.
sudo systemctl enable mysqld.service sudo systemctl start mysqld.service
Vérifiez ensuite l'état actuel du service à l'aide de la commande suivante :
sudo systemctl status mysqld.service
● mysqld.service - MySQL 8.0 database server Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled) Active: active (running) since Sat 2020-03-22 02:49:33 EDT; 5min ago Process: 5841 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS) Process: 5706 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS) Process: 5682 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS) Main PID: 5798 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 8918) Memory: 442.1M CGroup: /system.slice/mysqld.service └─5798 /usr/libexec/mysqld --basedir=/usr Mar 22 02:48:42 tecadmin systemd[1]: Starting MySQL 8.0 database server... Mar 22 02:48:45 tecadmin mysql-prepare-db-dir[5706]: Initializing MySQL database Mar 22 02:49:33 tecadmin systemd[1]: Started MySQL 8.0 database server.
L'installation de MySQL est terminée. Vous pouvez maintenant vous connecter au serveur MySQL sans mot de passe, mais nous vous recommandons de sécuriser l'installation de MySQL. Les packages MySQL fournissent la commande mysql_secure_installation pour appliquer la sécurité. Exécutez simplement la commande ci-dessous sur le terminal :
sudo mysql_secure_installation
et suivez les instructions à l'écran. Vous trouverez ci-dessous les détails qui nécessitent une entrée de l'utilisateur.
- Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non :y
- Veuillez saisir 0 =FAIBLE, 1 =MOYEN et 2 =FORT :2
- Nouveau mot de passe :[ENTER STRONG PASSWORD HERE]
- Saisir à nouveau le nouveau mot de passe :RE ENTER PASSWORD HERE
- Souhaitez-vous continuer avec le mot de passe fourni ? (Appuyez sur y|Y pour Oui, sur n'importe quelle autre touche pour Non) :y
- Supprimer les utilisateurs anonymes ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :y
- Interdire la connexion root à distance ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :y
- Supprimer la base de données de test et y accéder ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :y
- Recharger les tables de privilèges maintenant ? (Appuyez sur y|Y pour Oui, n'importe quelle autre touche pour Non) :y
Étape 3 - Installer PHP
Le référentiel Remi contient les derniers packages PHP pour le système CentOS 8 Linux. Donc, tout d'abord, vous devez ajouter le référentiel REMI à votre système. Exécutez simplement la commande suivante pour ajouter le référentiel.
sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-8.rpm
Activez ensuite le module DNF requis pour l'installation de PHP. Ici, nous activons le module d'installation de PHP 7.4. Vous pouvez le changer en PHP 7.3 ou PHP 7.2 selon vos besoins.
sudo dnf module reset php sudo dnf module enable php:remi-7.4
Une fois le référentiel activé sur votre système. Installez les packages PHP avec les modules PHP requis.
sudo dnf install php php-mysqlnd
Vous devez également installer d'autres modules PHP requis selon les exigences de votre application. La commande ci-dessous installera quelques modules php fréquemment utilisés :
dnf install php-gd php-zip php-mcrypt php-json php-xml php-gettext php-curl php-intl
Étape 4 - Créer Apache VirtualHost
Tous les packages requis pour l'environnement LAMP sont installés. Maintenant, créez l'hôte virtuel Apache. Par défaut, Apache utilise php-fpm pour traiter les fichiers PHP sur le système CentOS 8.
Créez et modifiez le fichier de configuration de l'hôte virtuel dans l'éditeur de texte favori :
sudo vim /etc/httpd/conf.d/tecadmin.example.net.conf
Ajoutez le contenu suivant dans le fichier de configuration. Assurez-vous de modifier les paramètres requis.
Apache
12345678910 |
Enregistrez le fichier de configuration de l'hôte virtuel et rechargez Apache pour appliquer les modifications.
sudo systemctl restart httpd.service
Lien utile :
- Configurer Let's Encrypt SSL avec Apache sur CentOS 8
Étape 5 :Autoriser les ports dans le pare-feu
Le serveur CentOS 8 Linux est prêt à servir l'application sur l'environnement LAMP. Si votre système a un pare-feu installé et actif, vous devez autoriser les ports Apache. Cela permettra aux utilisateurs du réseau d'accéder à l'application Web à partir de systèmes distants.
Les commandes suivantes ouvriront les ports requis pour vous.
sudo firewall-cmd --zone=public --permanent --add-service=http sudo firewall-cmd --zone=public --permanent --add-service=https sudo firewall-cmd --reload
Lien utile :
- Qu'est-ce que FirewallD et comment l'implémenter sous Linux
Étape 6 - Configuration du test
Terminé. Pour tester l'environnement, créez un script PHP avec phpinfo() une fonction. Placez ce fichier à la racine du document de votre serveur. Utilisez la commande ci-dessous pour le faire.
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
Accédez ensuite à info.php en utilisant l'adresse IP du serveur (pour VirtualHost par défaut) pour votre domaine configuré dans Apache VirtualHost.
http://tecadmin.example.net/info.php
Conclusion
Vous avez configuré avec succès l'environnement LAMP sur votre système CentOS 8 ou RHEL 8 Linux. Ensuite, vous pouvez installer phpMyAdmin sur votre système.