Plan du site  
pixel
pixel

Articles - Étudiants SUPINFO

UBUNTU : INSTALLER ET CONFIGURER LAMP SUR VOTRE SERVEUR EN 8 ETAPES

Par Loïck BOUCHAUT Publié le 25/10/2015 à 05:07:21 Noter cet article:
(0 votes)
Avis favorable du comité de lecture

LAMP est un groupe de composants dont l’union permet de construire des serveurs de sites web et des applications web.

LAMP signifie :

-Linux : OS de la suite (des dérivées telles que WAMP et MAMP existent)

-Apache : Serveur Web le plus populaire au monde

-MySQL : Base de données

-PHP : Langage de développement

Dans cet article, nous partons d’un Ubuntu 14 fraichement installé. Nous installerons LAMP puis nous ajouterons le minimum de sécurité d’accès.

CREATION D’UN UTILISATEUR LAMP AVEC PRIVILEGES ROOT

Pour respecter les bonnes pratiques, nous allons créer un utilisateur : lu (pour LAMP Users, pas très original), au lieu d’effectuer les commandes directement en root. Si vous avez déjà créé un utilisateur, vous pouvez passer directement à l’étape suivante .

Tout d’abord, logué en tant que root, exécutez :

adduser lu

Il vous sera demandé d’entrer un mot de passe. Entrez celui que vous voulez, cela n’a pas d’importance dans cet article, mais un mot de passe fort est toujours recommandé.

Une fois l’utilisateur créé, nous allons lui attribuer les droits root.

Exécutez en tant que root:

gpasswd –a lu sudo

Félicitations ! Vous avez créé votre utilisateur avec les droits root.

Authentifiez-vous à votre nouvel utilisateur en exécutant la commande suivante ;

Su lu

INSTALLATION D’APACHE

Nous allons maintenant installer notre serveur Web.

Exécutez :

sudo apt-get update

sudo apt-get install apache2

PS : n’oubliez pas que lorsque l’on vous demande un mot de passe, il s’agit du mot de passe root.

Validez tous les packages à installer, et hop votre serveur web est installé. Vous pouvez vérifier en vous rendant sur votre page d’accueil en accédant au lien :

http://localhost

Si vous êtes sur un serveur distant, vous pouvez remplacer « localhost » par votre adresse IP publique. Pour trouver votre adresse IP publique, il vous suffit d’exécuter :

curl ifconfig.me

INSTALLATION DE MYSQL

Nous allons maintenant installer MySQL.

Exécutez :

sudo apt-get install mysql-server php5-mysql

Il vous sera demandé de spécifier un mot de passe root pour MySQL. Comme précédemment, il est conseillé d’y entrer un mot de passe fort.

Félicitations ! Vous avez installé MySQL sur votre serveur.

INSTALLATION DE PHP

Nous allons maintenant installer notre langage de développement : PHP.

Exécutez :

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt

Félicitations ! Vous avez installé PHP sur votre serveur.

INSTALLATION DE PHPMYADMIN

Nous allons maintenant installer phpMyAdmin. Celui-ci nous permettra d’avoir une vision sur nos bases de données directement depuis un navigateur internet.

Exécutez :

sudo apt-get install phpmyadmin apache2-utils

Il vous sera demandé alors :

-de choisir votre serveur web. Sélectionnez Apache2.

-si vous voulez obtenir une configuration de base de phpMyAdmin (dbconfig-common). Acceptez.

-d’entrer votre mot de passe root MySQL

-de spécifier un mot de passe root pour vous connecter à phpMyAdmin. Mot de passe fort toujours recommandé.

Félicitations ! Vous avez installé phpMyAdmin. Mais ce n’est pas suffisant. En effet, Apache ne sait pas que vous avez opté pour l’utilisation de phpMyAdmin, et donc vous ne pouvez pas y accéder.

Rendez-vous dans les configurations d’Apache, situées dans :

/etc/apache2/apache2.conf

Vous pouvez par exemple utiliser nano :

sudo nano /etc/apache2/apache2.conf

Ajoutez-y à la fin :

Include /etc/phpmyadmin/apache.conf

Et redémarrez apache.

sudo service apache2 restart

Féliciations ! Vous pouvez dorénavant accéder à phpMyAdmin via l’url :

http://localhost/phpmyadmin

PS : en fonction de votre version d’OS, il vous sera notifié sur le bas de votre écran qu’il manque un package php. Vous pouvez le récupérer en exécutant :

sudo apt-get install php5-nomdupackage

PRIORISER LA LECTURE DES FICHIERS PHP

Actuellement, notre serveur Apache priorise les fichiers index.html. Cela veut dire que si nous possédons, dans un même dossier, un fichier index.html et un fichier index.php, notre serveur Web va appeler le fichier index.html.

Pour modifier ceci, rendez-vous dans le fichier de configuration associé :

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

Vous verrez une lise ressemblant à ceci :

<IfModule mod_dir.c>

DirectoryIndex index.html index.php

</IfModule>

Il vous suffit de la modifier comme ceci :

<IfModule mod_dir.c>

DirectoryIndex index.php index.html

</IfModule>

Félicitations ! Vous avez priorisé les fichiers php.

AMELIORER LA SECURITE D’ACCES A PHPMYADMIN

Nous allons maintenant renforcer l’accès à la page de phpMyAdmin en y ajoutant un mot de passe issue d’un htaccess.

Tout d’abord, nous allons préparer ce .htaccess, puis nous le créerons, et enfin nous y ajouterons un mot de passe.

Exécutez :

sudo nano /etc/phpmyadmin/apache.conf

Ajoutez après « DirectoryIndex index.php », en allant à la ligne, « AllowOverride All ». Cela devrait ressembler à ceci :

<Directory /usr/share/phpmyadmin>

Options FollowSymLinks

DirectoryIndex index.php

AllowOverride All

Ensuite passons à la création et la configuration du fichier .htaccess. Exécutez :

sudo nano /usr/share/phpmyadmin/.htaccess

et entrez-y :

AuthType Basic

AuthName "Acces reserve aux administrateurs"

AuthUserFile /etc/apache2/.phpmyadmin.htpasswd

Require valid-user

Enfin, exécutez :

sudo htpasswd -c /etc/apache2/.phpmyadmin.htpasswd lu

Entrez le mot de passe de votre utilisateur lu, et redémarrez Apache :

sudo service apache2 restart

Félicitations ! Votre accès à phpMyAdmin est désormais sécurisé.

NETTOYER LES TABLES MYSQL

De Base, MySQL créer des tables assez dangereuses. Nous allons les supprimer avec l’utilitaire fourni avec MySQL.

Exécutez :

sudo mysql_install_db

Ensuite, nous lançons l’utilitaire :

sudo mysql_secure_installation

Entrez votre mot de passe root MySQL quand demandé, puis validez tous les chois pas défaut en appuyant sur Entrer.

Félicitations ! vous avez correctement configuré votre serveur LAMP ! Vous pouvez maintenant développer depuis une base saine.

A propos de SUPINFO | Contacts & adresses | Enseigner à SUPINFO | Presse | Conditions d'utilisation & Copyright | Respect de la vie privée | Investir
Logo de la société Cisco, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société IBM, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sun-Oracle, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Apple, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Sybase, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Novell, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Intel, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Accenture, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société SAP, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Prometric, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo de la société Toeic, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management Logo du IT Academy Program par Microsoft, partenaire pédagogique de SUPINFO, la Grande École de l'informatique, du numérique et du management

SUPINFO International University
Ecole d'Informatique - IT School
École Supérieure d'Informatique de Paris, leader en France
La Grande Ecole de l'informatique, du numérique et du management
Fondée en 1965, reconnue par l'État. Titre Bac+5 certifié au niveau I.
SUPINFO International University is globally operated by EDUCINVEST Belgium - Avenue Louise, 534 - 1050 Brussels