Installation d’Apache, PHP et MySQL sous Ubuntu

lamp

Qui dit changement de système d’exploitation dit réinstallation au propre des programmes !

Voici comment installer Apache, PHP et MySQL sous Ubuntu, c’est à dire un véritable système LAMP.

L’installation et la configuration prennent environ 10 minutes, c’est très simple, beaucoup moins alambiqué que sous Windows.

Ce tutoriel est un peu mon carnet de bord, c’est comme cela que j’ai configuré ma machine, étapes par étapes.

Installation des paquets

Pour installer Apache, PHP et MySQL, vous pouvez utiliser la commande suivante :

sudo apt-get install apache2 apache2-doc mysql-server php5 libapache2-mod-php5 php5-mysql

ou bien sélectionner ces paquets dans Système > Administration > Gestionnaire de paquets Synaptics. Personnellement, j’ai utilisé Synaptics, c’est bien plus pratique que de tout installer/configurer en lignes de commande.

Redémarrez Apache:

sudo /etc/init.d/apache2 restart

Configuration d’Apache et PHP

Pour tester qu’Apache tourne correctement, il suffit de lancer http://localhost. Vous obtenez une page avec le message “It works!”.

Le serveur tourne donc, il reste à voir si PHP fonctionne correctement. Par défaut, le répertoire du serveur est /var/www.

Nous allons donc créer un fichier info.php avec la fonction phpinfo().

cd /var/www/html
sudo gedit info.php

Ajoutez le code suivant dans ce fichier :

<?php phpinfo();

Sauvegardez le fichier puis lancez http://localhost/info.php. La configuration du serveur s’affiche.

Il nous reste à supprimer le fichier index.html à la racine du serveur :

cd /var/www/html
sudo rm index.html

Il n’est pas très pratique de placer les fichiers du site sous /var/www, principalement parce qu’il faut être super utilisateur pour effectuer des opérations dans ce répertoire.

Le mieux est de créer un lien symbolique vers votre répertoire utilisateur. Pour une machine dédiée au développement, unipersonnelle, je trouve cela beaucoup plus pratique.

Commencez par créer votre répertoire. Pour l’exemple, je crée le répertoire /www dans /home/matt

Ensuite, il suffit de lancer cette commande. Cela crée un répertoire /skyminds à la racine du serveur qui pointe vers /home/matt/www

sudo ln -s /home/matt/www skyminds

Configuration de MySQL

MySQL est beaucoup plus simple à configurer, il n’y a que le mot de passe pour le compte root à choisir.

Si vous avez utilisé Synaptics, il vous le demande et configure tout comme un grand.

Sinon, il suffit de taper la commande suivante :

sudo dpkg-reconfigure mysql-server-5.0

Installation de phpMyAdmin

Il ne nous reste plus qu’à installer phpMyAdmin, qui est un must pour administrer les bases de données. Installez-le avec Synaptics.

Il vous demande un compte utilisateur et un mot de passe, ainsi que le mot de passe root de MySQL.

phpMyAdmin sera toujours disponible ici : http://localhost/phpmyadmin.

Très simple non ? Il ne vous reste plus qu’à développer tranquillement !

Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.

Découvrez comment je peux booster votre site »

Articles conseillés :

31 pensées sur “Installation d’Apache, PHP et MySQL sous Ubuntu”

  1. Merci Matt !

    j’ai pas compris le

    cd /

    dans :

    sudo /etc/init.d/apache2 restart

    mais à part ça, excellent easy tutoriel.
    Et avec tous les windowsiens qui te lisent, tu risques toi aussi de faire basculer des voix !

    Reply
  2. Pour installer lamp, il y a plus simple dans synaptic
    Tu fais Édition-> Sélectionner des paquets par tâches
    Cocher l’option “serveur LAMP” et valider. (c’est un commentateur sur mon blog qui m’a donné la manip à suivre).
    J’ai déjà installé tout ça, je vais utilser ton bilet pour tout configurer. L’histoire des liens symbolique, ça va m’aider je sens, j’avais toujours des problèmes de droits sur les dossiers. Je faisais beaucoup usage du chmod …

    Reply
    • Bonjour,
      La ligne de commande suivante peut aider:
      sudo nautilus
      Cela ouvre le navigateur de fichiers en root tu peut modifier n’importe quel fichier ou dossier sans être ennuyé plus que ça.

      Reply
  3. @olmon : en fait, le

    cd /

    me permet de revenir à la racine pour lancer la commande suivante. C’est une habitude de windowsien je crois… Donc oui, on peut sûrement l’omettre.

    @agatzebluz : ah oui tiens, cela a l’air beaucoup plus simple ! Le lien symbolique me facilite beaucoup la tâche je trouve.

    Reply
  4. Bonjour!

    C’est sympa, mais
    Ta commande ne fonctionne pas:
    sudo etc/init.d/apache2 restart
    réponse: sudo: etc/init.d/apache2: command not found

    cd /etc/init.d
    sudo apache2
    —->apache2: bad user name ${APACHE_RUN_USER}

    Cordialement

    P.Broto

    Reply
  5. Bonjour Broto,

    Il ne faut pas oublier le premier slash avant etc :

    sudo /etc/init.d/apache2 restart

    Cela fonctionne bien chez moi :

    
     * Restarting web server apache2
     ... waiting apache2:                              [ OK ]
    Reply
  6. Bonjour!

    Effectivement, j’avais oublié le “:”
    Mais maintenant, j’ai:
    pierre@tango:~$ sudo /etc/init.d/apache2 restart
    * Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

    Pourtant il me semble avoir vérifié que 127.0.1.1 est actif?

    Reply
  7. Avec le /, ça me donne:
    * Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

    pourtant, j’ai vérifié que 127.0.1.1 ou “localhost” son bien actifs.

    Reply
  8. Ce n’est pas gênant comme message mais si tu veux le supprimer, il suffit d’ajouter le nom du serveur dans la configuration Apache – comme ceci :

    1- dans le terminal :

    sudo gedit /etc/apache2/apache2.conf

    2- après la ligne ServerRoot, ajouter :

    ServerName localhost

    3- sauvegarder le fichier et recharger la configuration Apache :

    sudo /etc/init.d/apache2 reload

    Et voilà ! :)

    Reply
  9. débutant en ce domaine j’ai suivi mot à mot la procédure afin d’installer apache… je voulais maintenant savoir comment procéder pour maintenant creer le serveur

    merci beaucoup

    Reply
  10. je me suis surement mal exprimé je voulais savoir où faire des modifications et où aller pour voir ces changements, a quelle adresse url ?

    merci

    Reply
  11. d’accord merci, juste une dernière petit question… :/ connais tu un site où il explique comment mettre en ligne des fichiers tout ca grace à ce logiciel. j’aimerais vraiment savoir faire et je n’ai pas trop de connaissances à ce sujet. après je pourrais donc apprendre

    merci beaucoup et j trouve ca super ton explication pour l’installation et la configg

    Reply
  12. Salut,

    @martin florent : tout dépend de ton serveur. S’il est hébergé sur ta propre machine, tu peux mettre les fichiers dans un répertoire comme indiqué dans le tutoriel (fin de l’étape configuration Apache). Si ton serveur est distant (hébergé sur un autre ordinateur que le tien), tu auras besoin d’un client FTP pour y déposer les fichiers (on présuppose qu’il y a un serveur FTP installé sur le serveur).

    Je t’en prie, je suis content que cela puisse aider.

    Reply
  13. Salut,
    Désolé, je suis un débutant à la matière, mais j’ai suivi à la lettre le tuto que Matt nous avait fait, chapeau bas pour lui, et ça marche à merveille, mais mon problème est le suivant:
    j’ai l’habitude de travailler sous windows en utilisant wamp (lamp en linux), cette fois j’ai migré mes bd de mysql sous windows vers mysql sous ubuntu: ok, même topo pour l’application php que j’ai mis dans /home/masite/appliphp/ et le lien de /var/www est fait.
    Quand je lance http://localhost/, je vois info.php et le répertoire appliphp, et si je click sur appliphp rien ne marche alors que dans appliphp le fichier index.php existe (avant sous windows ok).
    Voila mon problème si personne pourrait m’aider, merci beaucoup.

    Reply
    • Salut,

      Quand tu écris :

      Quand je lance http://localhost/, je vois info.php et le répertoire appliphp, et si je click sur appliphp rien ne marche alors que dans appliphp le fichier index.php existe (avant sous windows ok).

      tu veux dire que tu obtiens une page blanche? Si ton fichier index.php fait référence à d’autres fichiers (include etc), vérifie que les chemins sont corrects. Regarde aussi dans les logs d’erreur Apache, ils permettent souvent de trouver le problème.

      Reply
  14. Sous Ubuntu 10.10 j’avais phpmyadmi qui n’apparait pas. J’ai trouvé la solution ici LINK

    quand tu tapes http://localhost/phpmyadmin il va de base sous ubuntu sur /var/www/phpmyadmin
    mais phpmyadmin n’est pas dans /var/www il faut donc faire un lien :
    sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

    Reply
  15. Bon je continue mes expériences. Mais pour le lien sympbolique je ne comprends pas …

    Commencez par créer votre répertoire. Pour l’exemple, je crée le répertoire /www dans /home/matt –> c’est fait en adaptant avec mon user

    Ensuite, il suffit de lancer cette commande. Cela crée un répertoire /skyminds à la racine du serveur qui pointe vers /home/matt/www –> Voilà ce que je tape sachant que mon dossier d’installation de WP s’appelle wordpress
    sudo ln -s /home/guillaume/www wordpress

    Et la réponse du f****ng terminal : ln: création d’un lien symbolique «wordpress/www»: Le fichier existe

    Je sèche …

    Reply
    • Wow, je réalise que j’ai écrit cela y’a un bout de temps… As-tu essayé de supprimer le lien puis de le recréer ?

      Ps : il faut se trouver dans le répertoire dans lequel on veut créer le lien avant de lancer la commande.

      Reply
  16. Je suis arrivé à en faire un mais par contre, je suis quand même obligé de me connecter en superutilisateur pour faire quoi que ce soit dans le dossier. Donc ma question est : quel est l’intérêt de faire ce lien ?

    Reply
  17. je tenais à remercier Matt d’avoir créer cette page car sans ça je serais sans doute encore en train de galérer !!
    j’arrivais à me connecter à mysql via la console mais je n’arrivais pas à me connecter avec ‘mysql_connect’ dans mes script ; pourtant j’avais bien décommenté la ligne ‘extension = mysql.so‘ dans le fichier php.ini et tout et tout mais rien à faire ! Et la solution était dans les 1ères ligne de cette page : dans la doc ils disent d’installer lamp avec la ligne de commande suivante : sudo apt-get install apache2 php5 mysql-server
    or c’est en installant en plus les paquets : libapache2-mod-php5 php5-mysql que ça a fonctionné ! Alléluhia !
    Quand même ils pourrait le préciser dans la doc ubuntu, je galère depuis hier!!!
    Enfin bref merci encore !!

    Reply
  18. sur ubuntu 12.04, j’ai dû remplacer

    sudo dpkg-reconfigure mysql-server-5.0

    par

    sudo dpkg-reconfigure mysql-server

    Mais sinon, tout impecc ! Merci à l’auteur du tuto

    Reply

Opinions