Guide d’installation d’un serveur LAMP (Ubuntu 16.04)

lamp serveur installation logo

Un serveur LAMP est un serveur contenant un ensemble de logiciel Open source pour permettre l’hébergement d’un site ou d’applications Web dynamique

Il s’agit d’un acronyme correspondant aux initiales de :

– L pour Linux

– A pour Apache le serveur Web

– M pour Mysql, le système de base de données

– P pour PHP s’occupant de l’affichage dynamique

Dans ce guide, ces solutions seront installées sur un serveur Ubuntu version 16.04

 

Installation de Apache2

Le serveur web Apache est parmi les serveurs Web les plus populaires dans le monde. Il est bien documenté, et a été largement utilisé pour une grande partie de l’histoire du web, ce qui en fait un excellent choix pour l’hébergement d’un site Web.

Nous pouvons installer Apache facilement en utilisant le gestionnaire de paquets d’Ubuntu, apt. Un gestionnaire de paquets nous permet d’installer plus sans douleur à partir d’ un référentiel maintenu par Ubuntu logiciel. 

Pour nos besoins, nous pouvons commencer en tapant les commandes suivantes:

– $ sudo apt-get update

– $ sudo apt-get install apache2

Puisque nous utilisons une sudo commande, ces opérations sont exécutées avec les privilèges root. Il vous demandera le mot de passe de votre utilisateur normal pour vérifier vos intentions.

Une fois que vous avez entré votre mot de passe, apt vous dira quels paquets il prévoit d’installer et combien d’ espace disque supplémentaire sera utilisé. Appuyez sur Y et appuyez sur Entrée pour continuer, et l’installation se poursuit.

 

Définir un  ServerName pour supprimer les avertissements de syntaxe

Bien que sans danger, si vous ne définissez pas ServerName globalement, vous recevrez l’avertissement suivant lors de la vérification de votre configuration Apache pour les erreurs de syntaxe. Nous allons ajouter une seule ligne au fichier /etc/apache2/apache2.conf pour supprimer un message d’avertissement.: 

– $ sudo apache2ctl configtest

Output

AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
Syntax OK

– $ sudo nano /etc/apache2/apache2.conf

Ouvrez le fichier de configuration principal avec votre texte edit:

A l’intérieur, à la fin du fichier, ajoutez une ServerName directive, pointant vers votre nom de domaine principal. Si vous ne disposez pas d’un nom de domaine associé à votre serveur, vous pouvez utiliser l’adresse IP publique de votre serveur:

ServerName server_domain_or_IP

Enregistrez et fermez le fichier lorsque vous avez terminé.

Ensuite, vérifier les erreurs de syntaxe en tapant:

– sudo apache2ctl configtest

Depuis , nous avons ajouté le global ServerName, tout ce que vous devriez voir est:

Output:

    Syntax OK

Redémarrez Apache pour appliquer vos modifications:

– sudo systemctl restart apache2

Vous pouvez maintenant commencer à ajuster le pare-feu.

Réglez le pare-feu pour autoriser le trafic Web

Enfin, en supposant que vous avez suivi les instructions de configuration initiale du serveur pour activer le pare-feu UFW, assurez-vous que votre pare-feu permet trafic HTTP et HTTPS. Assurez-vous que UFW a un profil d’application pour Apache comme ceci: 

– sudo ufw app list

Output:

Available applications:
 Apache
 Apache Full
 Apache Secure
 OpenSSH

 

Si vous regardez le Apache Fullprofil, il doit montrer qu’il permet le trafic vers les ports 80 et 443:

– sudo ufw app info « Apache Full »

Output:

Profile: Apache Full
Title: Web Server (HTTP,HTTPS)
Description: Apache v2 is the next generation of the omnipresent Apache web
server.

Ports:
 80,443/tcp


Enfin, Autoriser le trafic entrant pour ce profil:

– sudo ufw allow in « Apache Full »

Vous pouvez faire une vérification ponctuelle tout de suite pour vérifier que tout se passe comme prévu en visitant l’adresse IP publique de votre serveur dans votre navigateur Web (voir la note sous la rubrique suivante pour savoir ce que votre adresse IP publique est si vous ne disposez pas de ces informations déjà):

La page du serveur Web Apache par défaut, qui est là pour des fins d’information et de dépistage. Il devrait ressembler à ceci:

default apache index.html

 

Si vous voyez cette page, votre serveur Web est maintenant correctement installé et accessible à travers votre pare-feu.

 

Installer MySQL

Maintenant que nous avons notre serveur web et en cours d’exécution, il est temps d’installer MySQL. MySQL est un système de gestion de base de données. Fondamentalement, il va organiser et donner accès à des bases de données où notre site peut stocker des informations.

Mysql logo

Encore une fois, nous pouvons utiliser apt pour installer notre logiciel. Cette fois, nous allons également installer d’autres paquets « auxiliaires » qui nous aideront nos composants à communiquer les uns avec les autres:

– sudo apt-get install mysql-server

Remarque : Dans ce cas, vous ne devez pas utiliser sudo apt-get update avant la commande. En effet , nous l’avons déjà fait dans les commandes ci – dessus pour installer Apache.

Vous verrez apparaître une liste des paquets qui seront installés, ainsi que la quantité d’espace disque qu’ils vont utiliser. Entrez Y pour continuer.

Lors de l’installation, votre serveur vous demandera de sélectionner et confirmer un mot de passe pour MySQL utilisateur « root ». Ceci est un compte administratif de MySQL qui a les privilèges maximum. Ce compte est similaire au compte root pour le serveur (cependant, celui que vous configurez maintenant est un compte spécifique à MySQL,). Assurez-vous de la complexité du mot de passe, de son unicité, et ne pas laisser le champ vide.

Toujours mieux ceinture et bretelle… 

Lorsque l’installation est terminée, nous allons lancer un script simple de sécurité qui va supprimer certains défauts dangereux par défaut et verrouiller un peu l’accès à notre système de base de données. Démarrez le script interactif en cours d’exécution:

– sudo mysql_secure_installation

Vous serez invité à entrer le mot de passe défini pour le compte root MySQL. Ensuite, il vous sera demandé si vous souhaitez configurer le VALIDATE PASSWORD PLUGIN. Cette partie est optionnelle mais nous vous recommandons de la suivre… 

Répondez Y pour oui, ou quoi que ce soit d’autre pour continuer sans activer.

VALIDATE PASSWORD PLUGIN can be used …

Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:


Ensuite, sélectionnez un niveau de validation de mot de passe. Gardez à l’esprit que si vous entrez 2 ,le plus fort niveau, vous recevrez des erreurs en définissant un mot de passe qui ne contient pas des chiffres, des lettres majuscules et minuscules et des caractères spéciaux, ou qui est basé sur les mots courants.

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1


En ayant activé la validation du mot de passe, une force de mot de passe, pour le mot de passe root existant, vous sera montré et vous demandera si vous voulez changer ce mot de passe. Si vous êtes satisfait de votre mot de passe actuel, entrez n pour «non»:

Using existing password for root.

Estimated strength of the password: 100
Change the password for root ? ((Press y|Y for Yes, any other key for No) : n


Pour le reste des questions, vous devez appuyer sur Y et appuyez sur entrée à chaque question. Cela permettra d’éliminer certains utilisateurs anonymes et la base de données de test, désactiver les connexions root à distance, et de charger ces nouvelles règles pour que MySQL respecte immédiatement les modifications que nous avons faites.

À ce stade, votre système de base de données est maintenant mis en place et nous pouvons passer à l’installation de PHP.

 

Installation de PHP

 

PHP est le composant de notre configuration qui traitera du code pour afficher le contenu dynamique. Il peut exécuter des scripts, se connecter à nos bases de données MySQL pour obtenir des informations, et remettre le contenu traité plus à notre serveur Web pour afficher.

php7 logo

Nous pouvons à nouveau tirer parti du apt système pour installer nos composants. Nous allons inclure des paquets d’aide aussi bien, de sorte que le code PHP peut fonctionner sous le serveur Apache et de parler à notre base de données MySQL:

– sudo apt-get install php libapache2-mod-php php-mcrypt php-mysql

Cela devrait installer PHP sans aucun problème. Nous allons tester dans un instant.

Dans la plupart des cas, nous voulons modifier la façon dont Apache sert des fichiers lorsqu’un répertoire est demandé. Actuellement, si un utilisateur demande un répertoire à partir du serveur, Apache va d’abord chercher un fichier appelé index.html. Mais, nous voulons dire notre serveur à préférer les fichiers PHP, donc nous allons faire Apache chercher un index.php en premier.

Pour ce faire, tapez cette commande pour ouvrir le dir.conf fichier dans un éditeur de texte avec les privilèges root:

– sudo nano /etc/apache2/mods-enabled/dir.conf

Il ressemblera à ceci:    

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
DirectoryIndex  index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Nous voulons déplacer le fichier d’index de PHP en gras ci-dessus pour le mettre en première position après la spécification DirectoryIndex, comme ceci:

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Enregistrez et fermez le fichier.

Redémarrage de Apache


Après cela, nous avons besoin de redémarrer le serveur web Apache pour que nos changements soient reconnus. Vous pouvez le faire en tapant ceci:

– sudo systemctl restart apache2

Nous pouvons également vérifier l’état du service apache2 à l’ aide de systemctl:

– sudo systemctl status apache2

Pour améliorer la fonctionnalité de PHP, nous pouvons éventuellement installer des modules supplémentaires.

Si vous souhaitez voir les options disponibles pour les modules PHP et les bibliothèques, vous pouvez diriger les résultats de apt-cache search dans less. 

apt-cache search php- | less

Utilisez les touches fléchées pour faire défiler vers le haut et vers le bas, et q pour quitter. 

Ca y est vous avez un Serveur LAMP permettant l’installation d’un serveur Web dynamic.

 

Voyons maintenant, l’installation de Opencart sur ce même serveur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *