Skip to content
Ben edited this page Feb 26, 2017 · 44 revisions

L'installation d'un LAMP dans une VM

Il s'agit ici d'installer les logiciels / services nécessaires pour l'hébergement de multiples sites web. On choisit d'utiliser une machine virtuelle, et ainsi se rapprocher de l'architecture réseau typique d'un cloud

Le stack logiciel cible

On se propose d'installer le stack logiciel nécessaire sur l'OS Debian. Cet OS inclut une foule d'outils qui seront utiles pour la gestion des briques logicielles (apt), la gestion des services (sudo service), ... Notre choix de technos s'est porté vers le stack LAMP, dans la mesure où :

  • c'est un stack très répandu dans l'industrie
  • on dispose via ce stack :
    • d'un service web (apache2)
    • d'un langage de programmation côté serveur (PHP)
    • d'un service de bases de données (MySQL)
    • d'une interface graphique pour la gestion/manipulation des bases de données (PhpMyAdmin)
  • l'installation est TRES rapide et facile, puisque tout est automatique grâce à apt Schéma stack cible complet Ce stack logiciel sera installé sur un OS Debian 8, au sein d'une VM montée dans VirtualBox. Cette architecture est typique de ce qu'on appelle aujourd'hui le cloud

La virtualisation

Le stack logiciel décrit ci-dessus va être installé à l'intérieur d'un conteneur hermétique, qu'on appelle une machine virtuelle. Cette VM se comporte comme un ordinateur physique sur lequel on aurait installé un OS (windaube, Linux, BSD, solaris, MacOS, ...). La VM est gérée par un hyperviseur, on a choisi virtualbox

Cette VM sera gérée et démarrée par virtualbox dans une simple fenêtre sur la machine hôte. On crée autant de VMs que nécessaire (dans la limite de la RAM de la machine hôte).

Dans la terminologie, on distingue :

  • le système hôte ; c'est votre machine, sur laquelle vous installez virtualbox et grâce auquel vous démarrez les systèmes virtuels ; probablement ubuntu
  • les systèmes virtuels qui sont démarrés dans des fenêtres du système hôte ; c'est le système sur lequel on va monter notre stack LAMP ; Debian 8

Virtualbox Stack schema

L'environnement de développement

Les fonctionnalités du développeur en herbe

Dans un environnement professionnel, on doit pouvoir modifier et éxécuter des fichiers php en permanence, et surtout en évitant de :

  • écraser le travail des autres collaborateurs
  • introduire des bugs dans l'éventuel site en production
  • exposer sur internet les nouvelles fonctionnalités en cours de développement

De plus, on a besoin d'outils qui nous permettront de :

  • comprendre très précisément les contextes d'éxécution de nos scripts php
  • produire du code cohérent
  • versionner notre travail, comme d'habitude avec git

De fait on a besoin de quelques outils supplémentaires, pour installer l'environnement complet qui permettra de travailler au mieux.

Les deux fonctionnalités principales dont on a besoin sont :

  1. un plugin pour dupliquer les sources php locales vers notre VM qui servira les scripts avec son apache
  2. un debugger php pour faire du pas à pas dans nos scripts php

Ajout d'un procédé de duplication des sources

Ajout d'un debugger PHP

L'architecture cible

How To

Clone this wiki locally