Installer PHP sous Ubuntu, soit LAMP (Linux Apache MySQL PHP)

Laisser une réponse »

Installation de l’environnement

Pour développer en local du PHP, vous aurez besoin d’installer Apache, MySQL et PHP.
Tapez dans un terminal :

sudo tasksel install lamp-server

Il est conseillé de mettre un mot de passe pour MySQL
Une fois que c’est fait, vous pouvez tester le serveur en entrant l’adresse suivante dans votre navigateur préféré : http://127.0.0.1 ou http://localhost/

Si vous voyez ce message :

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

c’est que tout s’est bien passé.

Changer de répertoire de travail

Par défaut, la page web que vous voyez se trouve dans

/var/www

Ce qui n’est pas très pratique, car par défaut vous n’avez pas les droits en écriture sur ce dossier qui appartient à ROOT.

Puisqu’on ne va pas l’utiliser rendons ce dossier inaccessible de l’extérieur.

sudo gedit /etc/apache2/sites-available/default

Recherchez le bloc délimité par <Directory /var/www/> et </Directory/>et remplacez-le contenu par :

<directory /var/www>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order Deny,Allow
    Deny from all
    Allow from 127.0.0.1       
</directory>

Ajoutez également Allow from 192.168.0.0/24 si vous voulez y accéder de votre réseau local, si vos adresses IP local sont en 192.168.1.0, adaptez évidemment.

Ouvrez ensuite le fichier httpd.conf

sudo gedit /etc/apache2/httpd.conf

Et ajoutez cette ligne

ServerName localhost

On va maintenant activer l’option userdir, qui va permettre d’activer un dossier de développement pour chaque utilisateur.

mkdir /home/$USER/public_html
sudo a2enmod userdir

On redémarre Apache, pour que les modifications soient prises en compte.

sudo /etc/init.d/apache2 force-reload

Voilà, maintenant le dossier public_html qui se trouve dans votre espace de travail est accessible via http://127.0.0.1/~yann
Remplacez évidemment yann par votre nom d’utilisateur
pour tester, créez un nouveau fichier test.php dans le dossier public_html et copiez-y ce code

<?php
    echo phpinfo();
?>

Ouvrez l’URL http://127.0.0.1/~yann/test.php, vous devriez voir la configuration PHP s’afficher. Si votre navigateur télécharge les fichiers au lieu de les interpréter, regardez la fin de cet article…

Installer phpMyAdmin

Téléchargez l’archive de phpMyAdmin et décompressez là. Renommez ensuite le dossier en phpMyAdmin puis déplacez le dans /var/www

sudo mv phpMyAdmin/ /var/www/phpMyAdmin

phpMyAdmin utilise le module mcrypt, alors installons-le

sudo apt-get install php5-mcrypt

On redémarre Apache

sudo /etc/init.d/apache2 force-reload

Et voilà phpMyAdmin est accessible à l’adresse http://127.0.0.1/phpMyAdmin
Connectez vous avec root : mot_de_passe_que vous avez_choisi

Où est mon php.ini ?

Le fichier de configuration de PHP se trouve dans /etc/php5/apache2/php.ini pour désactiver short_open_tag et magic_quotes_gpc par exemple, ce qui serait une très bonne idée ;)
N’oubliez pas de relancer Apache

sudo /etc/init.d/apache2 force-reload

Mon navigateur télécharge les fichiers PHP au lieu de les interpréter :(

Sous Ubuntu 10.04, php est désactivé quand vous utilisez le module a2enmod. Pour éviter que le navigateur télécharge les fichiers php, éditez le fichier

sudo gedit /etc/apache2/mods-enabled/php5.conf

Et commentez les lignes ci dessous :

#<ifmodule mod_userdir.c>
#   <directory /home/*/public_html>
#       php_admin_value engine Off
#  </directory>
#</ifmodule>

Et on relance apache…

sudo /etc/init.d/apache2 force-reload

Si vous recherchez des conseils pour la certification PHP 5



ShareThis

Publicité

14 commentaires

  1. baboon dit :

    Génial merci ! installé en 2 minutes ! Précision le mot de passe pour phpmyadmin est celui choisi pour mysql et le login root.

  2. amina dit :

    merci pour cet article mais j’ai un peti problème de création des bases de donnés sous lunix? svp aide moi

  3. blog.yann dit :

    Salut, quel est ton problème exactement ?

  4. gilbert dit :

    merci blog.yann, c’est l’article qui manque au tuto du SDZ !
    Une question (sans vouloir abuser des bonnes volontés!):
    si je tape http://localhost, j’ai la réponse suivante:

    Forbidden

    You don’t have permission to access / on this server.
    Apache/2.2.12 (Ubuntu) Server at localhost Port 80

    et si je fais http://127.0.0.1 j’obtiens le  »fameux » It works

    par contre l’URL suivante fonctionne:
    http://localhost/~gilbert/test.php

    Dernière précision, et non des moindres, je suis débutant…
    Merci encore

  5. blog.yann dit :

    Salut,
    Tout d’abord merci pour ton commentaire ;)
    As-tu résolu ton soucis ?

  6. gilbert dit :

    Salut Yann,

    En fait la tache est ardue et les soucis nombreux !
    Si le html et les css sont à peu près digestes, il n’en est pas de même du php.
    Le problème est d’arriver à faire le lien de manière « simple » entre les fonctions du php, de mysql, de phpmyadmin et de faire en sorte que tout cela soit interconnecté…dans mon cerveau dans un premier temps!
    Comme dans tous les domaines, tant que l’on a pas une vision globale du fonctionnement du schmilblic (sans bien sur tout connaitre!!!!), c’est dur de progresser, voir d’avancer !
    Donc dans un premier temps je constate que je n’obtiens pas le même résultat en tapant localhost ou 127.0.0.1 alors que je pensais que c’était la même chose.
    Comme en plus je viens de migrer sous ubuntu, ça fait beaucoup de chose à « digérer » d’un coup !
    En fait je souhaitais faire un calendrier de disponibilités pour un gite sur mon site mais je n’avais pas pris conscience du boulot et surtout des compétences nécessaires. Mais je ne désepère pas…
    En tous cas, merci de t’ intéresser à mon problème.

  7. AirW dit :

    Bonsoir !

    Bravo pour ce pas à pas clair et efficace !

    Pourtant quelque chose a du m’échapper : seule la partie sur php m’intéressait. Tout a bien marché jusqu’à la lecture de test.php : mon FF favori me propose de le télécharger mais ne le lit pas…

    Une idée ?
    D’avance merci !

  8. blog.yann dit :

    Salut AirW,
    Je viens de rajouter à la fin de l’article la solution pour que ton FF arrête de télécharger les fichiers ;)
    A+ Yann

  9. mnslavoie dit :

    Merci Yann,

    Je viens t’installer selon tes informations et toute a fonctionner Mon seul problème et c’est ma faute, je n’avais pas lu le non usager pour la msql qui etait root pourtant si bien dit dans tes instructions.
    Je suis monté avec Ubuntu 10.10
    Bye

  10. yann sambou dit :

    slt
    super article.claire et précis
    voila jai un soucis,kan j tape dans le navigateur localhost/phpmyadmin
    voile ce kil me sort:

    Not Found
    The requested URL /phpmyadmin was not found on this server.

    Apache/2.2.14 (Ubuntu) Server at localhost Port 80
    je debutant…et novice sur ubuntu.a l’aideeeeee!!

  11. anonyme dit :

    Ce n’est pas simplement phpmyadmin, mais phpMyAdmin. Les majuscules sont importantes.

  12. Amire dit :

    Bonjour,

    le site en local est fonctionnel, mais je n’arrive pas à acceder à ma bdd; j’ai une erreur de retour:

    Erreur lors du démarrage de la session, veuillez vérifier les erreurs indiquées par PHP ou dans le fichier témoin du serveur web, et configurer PHP correctement.

  13. shizo971 dit :

    @Amire tu te dois de configurer ton fichier phpmyadmin avec le login ( par defaut « root » ) et le mot de passe préalablement établit à l’installation de ta base de données. ^^

  14. Nico dit :

    Bonjour,
    Je n’arrive pas a modifier default et httpd.conf car ses deux fichiers appartiennent a ROOT
    Est-ce-que quelqu’un pourrait m’aider ?
    Comment doit-je faire ?
    Merci d’avance

Laisser un commentaire