Différences entre versions de « Installer un LAMP sous debian 10 »

De Ikoula Wiki
Jump to navigation Jump to search
 
(Une version intermédiaire par un autre utilisateur non affichée)
Ligne 94 : Ligne 94 :
 
mkdir /var/www/montest.tech
 
mkdir /var/www/montest.tech
 
</pre>
 
</pre>
Ouvrez ensuite un nouveau fichier de configuration pour votre nouveau vhost dans le repéteroire sites-availables d’Apache :<br/>
+
Ouvrez ensuite un nouveau fichier de configuration pour votre nouveau vhost dans le répertoire sites-availables d’Apache :<br/>
 
<pre>
 
<pre>
 
vi /etc/apache2/sites-available/montest.tech.conf
 
vi /etc/apache2/sites-available/montest.tech.conf
Ligne 173 : Ligne 173 :
  
 
<!-- Placez ci-dessous la ou les catégories auxquelles se rapporte votre article. Ex: [[Catégorie:Contribuer]] [[Catégorie:Linux]] -->
 
<!-- Placez ci-dessous la ou les catégories auxquelles se rapporte votre article. Ex: [[Catégorie:Contribuer]] [[Catégorie:Linux]] -->
 +
[[Catégorie:Serveur dédié]]
 
[[Catégorie:Linux]]
 
[[Catégorie:Linux]]
 +
[[Catégorie:Serveur VPS]]

Version actuelle datée du 5 mai 2022 à 09:57

Introduction

Linux Apache Mysql PHP (LAMP) est un regroupement de logiciels open source installer ensemble afin de permettre a votre serveur d'héberger des sites ou applications web.
Dans cette article, nous allons voir comment mettre en place un LAMP sous Debian 10 et ainsi permettre a vos différents sites ou applications de fonctionner sur votre serveur.

Pré-requis

Voici les différents pré-requis pour la mise en place d'un LAMP:
- Un serveur dédié ou virtuel Vous pouvez retrouver nos différentes offres de serveur dédié ou virtuel sur ces liens:
Serveur dédié
Serveur virtuel
- Un système d'exploitation Linux (dans notre cas nous utiliserons le système d'exploitation Debian 10).

Installation d'Apache2

Procéder à l'installation d'Apache2 via le gestionnaire de paquet apt:

apt-get update
apt-get install apache2

Une fois cette installation réalisée, vous pouvez vérifier que l’installation s’est déroulé comme prévu en rentrant l’adresse IP public de votre serveur via un navigateur web.
Vous allez arriver sur la page par défaut d’Apache2 comme ci dessous:

Apache Default Page

Installation MySQL (MariaDB)

Maintenant que votre serveur web Apache2 est fonctionnel, passer à l’installation d’un système de base de données.
Dans Debian 10, le paquet traditionnellement utilisé pour l’installation de MySQL (mysql-server) a été remplacé par default-mysql-server. Ce paquet fait référence à MariaDB qui est actuellement le serveur de base de données MySQL par défaut disponible sous Debian 10.
Cependant au lieu d’utiliser ce paquet, il est recommandé d’installer MariaDB en utilisant le paquet mariadb-server.

apt-get install mariadb-server

Une fois l’installation terminée, il est recommandé d’exécuter un script permettant de sécuriser votre système de base de données MariaDB. Démarrez ce script de sécurisation via la commande suivante :

mysql_secure_installation

Ce script vous guidera à travers plusieurs prompt ou vous pourrez apporter des modifications à votre configuration MariaDB.
Le premier prompt vous demande de renseigner le mot de passe root de votre base de données actuelle. Attention à ne pas confondre avec l’utilisateur root du système. Etant donné que vous venez d’installer le système, ce mot de passe sera vide. Tapez donc simplement sur entrée.
Le second prompt vous demande si vous souhaitez configurer un mot de passe root pour votre base de données. MariaDB utilisant une méthode d’authentification spécifique pour l’utilisateur root, vous n’avez pas besoin de définir de mot de passe pour ce dernier. Tapez donc N et appuyez sur entrée.
Une fois cela effectué, vous pouvez accepter ensuite toutes les valeurs par défaut en appuyant sur Y et sur entrée pour toutes les questions suivantes. Suite à cela, les utilisateurs anonymes et base de données de test seront supprimés, la connexion à distance de l’utilisateur root sera désactivé et le script rechargera ces nouvelles règles afin que MariaDB prenne immédiatement en compte vos modifications.
Une fois cette partie terminée, connectez-vous à MariaDB en utilisant la commande suivante :

mysql

Pour une sécurité accrue, il est préférable d'avoir des comptes d'utilisateurs dédiés pour chaque base de données, surtout si vous prévoyez d'avoir plusieurs bases de données hébergées sur votre serveur. Pour illustrer une telle configuration, nous allons créer une base de données nommée test_ikouladb et un utilisateur nommé test_user, mais vous pouvez remplacer ces noms par ce que vous souhaitez.
Pour créer une nouvelle base de données, exécutez la commande en étant connectez à MariaDB:

CREATE DATABASE test_ikouladb;

Créer ensuite un utilisateur et accorder leur tous les privilèges sur la base de données créé précédemment. Cette commande permet également de définir le mot de passe de cet utilisateur :

GRANT ALL PRIVILEGES ON test_ikouladb.* TO 'test_user' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON test_ikouladb.* TO 'test_user'@'localhost' IDENTIFIED BY 'password';

Vider les privilèges pour vous assurer qu’il soit correctement rechargé dans votre configuration :

FLUSH PRIVILEGES ;

Vous pouvez tester si votre nouvel utilisateur dispose des autorisations appropriées en vous connectant à MariaDB en utilisant les informations de ce nouvel utilisateur :

mysql  -u test_user -p

Une fois connecté avec l’utilisateur, vérifiiez que vous avez accès à la base de données test_ikouladb via cette commande :

show databases;

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| test_ikouladb      |
+--------------------+
2 rows in set (0.000 sec)

A ce stade, votre système de base de données est configuré, vous pouvez donc passer à l’installation de PHP.

Installation PHP

Une nouvelle fois, passez par le gestionnaire de paquet apt afin d’installer PHP sur votre serveur. Il est également recommandé d’inclure des paquets qui garantiront l’exécution de votre code PHP sur le serveur et permettre la communication avec votre base de données MariaDB :

apt-get install php libapache2-mod-php php-mysql

PHP devrait s’installer sans problème mais nous testerons cela un peu plus tard.
Vous pouvez vérifier l’état du service apache2 avec systemctl :

systemctl status apache2

A ce stade, votre LAMP est opérationnel mais avant de pouvoir tester votre configuration avec un script PHP, vous devez configurer un vhost Apache afin de pouvoir stocker les dossiers et fichiers de votre site web sur votre serveur.

Création vHost Apache pour votre site ou application web

Le contenu par défaut d’Apache est situé dans le répertoire /var/www/html et utilise la configuration contenue dans le vhost par défaut situé dans /etc/apache2/sites-available/000-default.conf. Nous allons créer un nouveau vhost pour tester votre environnement PHP. L’utilisation de différents vhost vont nous permettre de garder plusieurs sites web hébergés sur un seul serveur Apache.
Créer donc un nouveau répertoire web racine pour votre domaine avec la commande suivante (ici nous prendrons le domaine montest.tech):

mkdir /var/www/montest.tech

Ouvrez ensuite un nouveau fichier de configuration pour votre nouveau vhost dans le répertoire sites-availables d’Apache :

vi /etc/apache2/sites-available/montest.tech.conf

Voici la configuration utilisé dans notre exemple:

<VirtualHost *:80>
        ServerName montest.tech
        ServerAlias www.montest.tech
        DocumentRoot /var/www/montest.tech
        <Directory /var/www/montest.tech>
                Options -Indexes +FollowSymLinks -MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>
        ErrorLog /var/log/apache2/montest.tech.error.log
        CustomLog /var/log/apache2/montest.tech.access.log combined
</VirtualHost>

Dans ce vhost Apache, nous utilisons notre nom de domaine montest.tech pointant dans le répertoire racine /var/www/montest.tech. Si vous souhaitez tester Apache sans nom de domaine, vous pouvez supprimer ou commenter les lignes comprenant ServerName et ServerAlias en ajoutant le caractère # en début de ligne.
Vous pouvez maintenant utiliser la commande suivante pour activer votre vhost

a2sensite montest.tech.conf

Vous pouvez également si vous le souhaitez désactiver le site par défaut installé par Apache. Vous devez effectuer obligatoirement cette action si vous n’utilisez pas de nom de domaine. Voici la commande pour désactiver le site par défaut d’Apache :

a2dissite 000-default

Pour vous assurez que votre fichier de configuration ne contient pas d’erreur vous pouvez utiliser la commande suivante :

apache2ctl -t

Finalement, recharger la configuration d’Apache pour que vos différents changements soient bien pris en compte :

systemctl reload apache2

Votre site web est maintenant actif, cependant la racine de ce dernier est toujours vide. Dans la prochaine partie, vous allez créer un script PHP pour tester cette nouvelle configuration et confirmer que votre PHP est correctement installé sur votre serveur.

Tester le fonctionnement de PHP

Vous allez créer un script PHP de test simple pour confirmer qu’Apache est capable de gérer et traiter les demandes de fichier PHP. Créer donc un nouveau fichier dans votre répertoire racine :

vi /var/www/montest.tech/info.php

Ajouter le code suivant afin de créer votre script de test :

<?php
// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();
// Affiche uniquement le module d'information.
// phpinfo(8) fournirait les mêmes informations.
phpinfo(INFO_MODULES);
?>

Vous pouvez maintenant tester si votre serveur est capable d’afficher correctement le contenu généré par ce script PHP. Pour l’essayer visiter l’une des pages suivantes dans votre navigateur :

PHP Info page

Cette page fournit les informations de base sur le PHP installé sur votre serveur. Ces informations sont utiles en cas de débug ou encore pour s’assurer que vos paramètres sont correctement appliqués. Si vous pouvez voir cette page dans votre navigateur sans problème alors votre installation de PHP fonctionne correctement.
Après avoir vérifié les informations de votre PHP via cette page, il est fortement recommandé de supprimer le fichier que vous venez de créer au préalable car ce dernier contient des informations sensibles sur votre environnement PHP et votre serveur Debian. Pour ce faire, vous pouvez utiliser la commande rm :

rm /var/www/montest.tech/info.php

Vous pouvez toujours recréer cette page si vous avez besoin d’accéder de nouveau aux informations ultérieurement.

Conclusion

Vous venez donc de voir dans cette FAQ, la mise en place d’une base pour servir des sites web et applications PHP à vos visiteurs en utilisant Apache comme serveur web et MariaDB comme système de base de données.



Cet article vous a semblé utile ?

0



Vous n'êtes pas autorisé à publier de commentaire.