Installation LAMP sur UBUNTU
(Linux-Apache2-Mysql5-Php5)



  1. Présentation
  2. Normalement, la configuration des dépôts (sources des paquets ubuntu) est déjà correcte. Vérifier que le dépôt "universe" est bien décommenté dans le fichier /etc/apt/sources.list et l'appel au CDROM d'installation commenté
    Par la suite, nous allons installer dans l'ordre Apache2 (2.0.55-4ubuntu2), Mysql-5.0 (5.0.21-3ubuntu1), PHP5 (5.1.2-1ubuntu3) et PhpMyAdmin(2.8.0.3-1)
    Pour effectuer une mise à jour de la liste des paquets disponibles : apt-get update

  3. Apache2
    1. Installation
    2. Pour installer le serveur Web Apache2, se connecter root dans un terminal (grâce à la commande su ):
      apt-get install apache2 apache2-doc apache2-mpm-prefork (apache2-mpm-prefork est requis pour le bon fonctionnement de PHP)
      Ce qui installera Apache ainsi que sa documentation. D'autres paquets sont prérequis qu'il est nécessaire d'installer et d'autres sont suggérés
      - apache2 écoute sur le port 80 (pour changer il suffira d'intervenir dans /etc/apache2/ports.conf)
      - Après divers paramétrages, et un avertissement pas grave (il manque un nom de domaine pour le serveur) il y a démarrage de apache2

    3. Premiers tests
      1. Où les fichiers ont-ils été installés ?
      2. Après une mise à jour par la commande updatedb, observer les résultats de locate apache2 | less. En déduire la localisation des principaux fichiers qui concernent Apache2 :
        - exécutable : /usr/..
        - configuration : /etc/..
        - logs : /var/log/..
        - racine du site WEB : /var/..
        - modules :  /var/lib/..
        ...
        
      3. Parcourir le répertoire de configuration
      4. En particulier, parcourir le répertoire /etc/apache2/mods-available. Peut-on comprendre les rôles attribués à ces fichiers. Constatez qu'aucun ne concerne PHP4.

      5. Examiner les processus en exécution en mémoire
      6. Lancer ps aux | grep apache2, puis pstree. Comment interpréter les 6 processus obtenus ?

      7. Accès au site local
      8. http://ip ou http://ubuntu (si ubuntu est le nom donné à l'installation
        Vérifier que cette page d'accueil se trouve bien à : http://ubuntu/apache2-defaults/index.html.fr
        On constate que nos caractères accentués ne sont pas gérés par le serveur. Par défaut il utilise l'encodage UTF-8, il faudra intervenir dans sa configuration. on peut agir momentanément dans le navigateur : Affichage -> encodage des caractères -> Occidental

      9. Consultation de la documentation
      10. Elle a été installée mais ne semble pas accessible à partir de la page d'accueil Pourquoi ?
        Pour la rendre accessible à partir d'autres machines, il faudra configurer /etc/apache2/conf.d/apache2-doc (pour apercevoir déjà le mécanisme de protection, parcourir ce fichier)
        En attendant on peut afficher juste la page d'accueil en la chargeant dans le navigateur (aller dans /usr/share/ ..)

  4. PHP5
    1. Installation
    2. apt-get install php5 libapache2-mod-php5 (libapache2-mod-php5 pour fonctionner comme un module d'Apache2)

    3. Tests
      1. Résultat de l'installation
      2. Observer que la liaison avec Apache2 a été configurée : présence de 2 nouveaux fichiers php5.conf et php5.load dans /etc/apache2/mods-available, ainsi que les 2 liens symboliques dans /etc/apache2/mods-enabled qui pointent vers les 2 fichiers précédents.

      3. configuration de PHP5
      4. Elle est entièrement contenue dans le fichier /etc/php5/apache2/php.ini

      5. Test de bon fonctionnement
      6. Ecrivez un minuscule programme de test test.php à placer dans /var/www.
        Pour cela, on pourra saisir dans un éditeur ou mieux, directement à la console une ligne de programme :
        cat > /var/www/test.php
        <?php  phpinfo()  ?>
        Ctrl-D pour finir
        
        Tester : http://ubuntu/test.php
      7. En cas de problème
      8. - Vérifier les droits et corriger si nécessaire, avec la commande
        chmod 605 /var/www/test.php

        - Si le module php5 n'a pas été chargé par apache2
        a2enmod php5
        /etc/init.d/apache2 force-reload

  5. Mysql 5
    1. Installation
    2. apt-get install apt-get install mysql-server - met en place le script de contrôle /etc/init.d/mysql
      - initialise la base système mysql dans /var/lib/mysql
      - crée un compte administrateur root@localhost sans mot de passe
      - effectue une configuration initiale dans /etc/mysql/my.cnf

    3. Premiers tests
      1. Où les fichiers ont-ils été installés ?
        locate mysql
      2. - exécutable : /usr/..
        - configuration : /etc/..
        - logs : /var/log/..
        - bases de données : /var/lib..
        ...
        
      3. examen des processus serveur
      4. ps aux | grep mysql

      5. Accès local par l'interpréteur SQL du serveur
      6. Invoquer l'exécution du client mysql en ligne de commande, en se prétentant "root" (de Mysql).
        On obtient aussitôt une connexion avec le serveur, en tant qu'utilisateur root, sans avoir à fournir un mot de passe !!
        Le programme mysql étant en fait un interpréteur de commandes SQL, tester ce petit dialogue en langage SQL avec le serveur :
        $ mysql -u root
        mysql>show databases;
        mysql>use mysql;
        mysql>show tables;
        mysql>select user, host, password from user;
        mysql>quit
        
      7. Accès réseau
      8. Pour des raisons de sécurité, Mysql n'autorise l'accès que localement:
        mysql -h ip échoue .. le serveur n'est pas trouvé !
        Pour autoriser l'accès à une autre machine :
        - commenter la ligne bind-address = 127.0.0.1 dans /etc/mysql/my.cnf,
        - puis redémarrer le serveur /etc/init.d/mysql reload,
        - mysql -h ip -u root -p échoue maintenant .. par absence de droit d'accès.
        - Il faudrait créer un compte autorisé à se connecter à partir d'une autre machine cliente (voir plus loin TP mysql)

  6. Phpmyadmin
    1. Installation version 2.8
    2. apt-get install phpmyadmin - installe notamment php5-mysql le paquet de fonctions PHP pour gérer les bases mysql
      - l'installation des scripts PHP s'effectue dans /usr/share/phpmyadmin
      - la configuration dans /etc/phpmyadmin
      - un simple lien symbolique a été posé dans /var/www
    3. Tests

    4. - http://ubuntu/phpmyadmin/, pour obtenir la page d'accueil
      - s'authentifier par le compte root actuellement sans mot de passe !
      - en cas de problème d'accès, vérifier dans /etc/php4/apache2/php.ini que la ligne extension=mysql.so est bien décommentée
      - observer la table user de la base mysql dans laquelle nous créerons par la suite de nouveaux comptes locaux et distants
    5. Réglage de configuration

      Le mode d'authentification par défaut utilise les cookies. Il est recommandé de passer au mode "http"
      Pour cela, il faut éditer le fichier config.inc.php dans /var/lib/phpmyadmin,et remplacer cookie par http
      Redémarrer le navigateur et tester.

  7. Autres serveurs
  8. Nous serons amenés par la suite à installer et à utiliser d'autres serveurs :
    proFTP, apache-ssl, openLDAP voire .. tomcat, cas ..