Apache, installation complémentaire de PHP et MySQL

Article écrit et wikisé par Jean-François Lance.

Pré-requis théorique

Qu'est-ce que PHP ?

PHP (acronyme récursif de “PHP: Hypertext Preprocessor”) est un langage de programmation spécialement créé pour le web. Il peut donc très facilement être intégré dans une page html. Le langage php s'exécute au niveau du serveur, à chaque fois qu'un visiteur affiche la page, et génère du code html. Il vous permet donc de modifier dynamiquement le contenu d'une page web contrairement aux pages dites “statiques” dont le contenu est figé. PHP peut également vous servir à communiquer vers une base de données (dans notre cas MySQL).

Qu'est-ce que MySQL ?

MySQL est un serveur de base de données relationnelles, multi-threadé, multi-utilisateur.

Une base de données est un ensemble organisé de données. Cela peut aller d'une simple liste de courses au supermarché à l'ensemble des ouvrages d'une bibliothèque. Afin de lire, d'ajouter, de traiter ces données il est nécessaire d'avoir un système de gestion de base de données comme le serveur MySQL. Il existe d'autre système de base de données, citons par exemple PostgreSQL.

Nous allons voir ici l'installation de PHP et de MySQL en complément d'un serveur web Apache.

Pré-requis matériel

Vous devez avoir un serveur Web Apache fonctionnel. Dans le cas contraire, vous pouvez vous référer à la documentation Installer un serveur Web (Apache) afin d'effectuer l'installation de ce serveur.

Installation de PHP

Nous allons tout d'abord, installer PHP dans sa version 4. La procédure vous est expliquée en fonction de la version du serveur Apache (2.0.xy ou 1.3.xy) que vous avez.

Si vous avez la version 1.3.xy d'Apache

Installons le paquet libapache-mod-php4 qui installera tout le nécessaire pour faire fonctionner PHP sur notre serveur.

# apt-get install libapache-mod-php4

Si vous avez la version 2.0.xy d'Apache

La procédure d'installation de PHP sur un serveur Apache 2.0.xy est identique à celle indiquée pour la version 1.3.xy du serveur à ceci près qu'il s'agit du paquet libapache2-mod-php4

# apt-get install libapache2-mod-php4

Après l'installation vous aurez à redémarrer votre serveur Apache afin que celui-ci prenne en compte sa nouvelle configuration. Selon votre serveur vous devrez taper :

# inkoke-rc.d apache reload

ou

# inkoke-rc.d apache2 reload

Tester la nouvelle configuration

Une bonne manière de voir si votre nouvelle configuration est fonctionnelle est de faire un essai.

A l'aide de votre éditeur préféré, créez un fichier nommé test.php dans lequel vous écrirez les lignes de code PHP suivantes :

<?php
echo "Bonjour, je suis un script PHP!";
?>

Placez ce fichier dans le répertoire racine de votre serveur web (/var/www/si vous ne l'avez pas modifié). Accédez enfin à la page créée à l'aide d'un navigateur (l'accès se fait à l'adresse http://localhost/test.php). Vous devriez voir s'afficher sur la page la phrase :

Bonjour, je suis un script PHP!

Configuration de PHP

Le fichier de configuration de PHP est /etc/php4/apache/php.ini. A moins de vouloir des options spécifiques, il n'est pas nécessaire de modifier ce fichier.

Vous pouvez également utiliser PHP pour afficher l'ensemble de sa configuration (ceci peut être utile pour effectuer un déboggage. Pour cela, créez un nouveau fichier php dans lequel vous écrirez les lignes :

<?php phpinfo(); ?>

En accèdant à cette page avec votre navigateur vous verrez s'afficher la configuration de PHP ainsi que des informations concernant votre serveur.

Reconfigurer PHP

Pour reconfigurer le support PHP de votre serveur, à l'aide de debconf, exécutez la commande suivante :

# dpkg-reconfigure libapache-mod-php4

ou

# dpkg-reconfigure libapache2-mod-php4

Désinstallation de PHP

Pour désinstaller php, exécutez :

# apt-get remove libapache-mod-php4

ou bien

# apt-get remove libapache2-mod-php4

Pour retirer tous les composants qui ont été installés par les paquets apache ou apache2 ainsi que les fichiers de configuration (option –purge) exécutez l'une des commandes suivantes :

# apt-get remove --purge libapache-mod-php4 libzzip-0-12 php4-common

ou pour la version 2.0 d'Apache

# apt-get remove --purge libapache2-mod-php4 libzzip-0-12 php4-common

Lors de l'installation du paquet libapache2-mod-php4 le paquet apache2-mpm-worker fournissant le serveur Apache a été remplacé par le paquet apache2-mpm-prefork. La commande de désinstallation donnée ici ne supprime pas ce paquet. Si vous souhaitez revenir à la configuration initiale (celle avec le paquet apache2-mpm-worker) vous devez réinstaller le paquet apache2-mpm-worker :

# apt-get install apache2-mpm-worker

Avant d'accéder de nouveau à votre site Web, il vous faudra peut-être redémarrer votre serveur.

Installation de MySQL

MySQL peut être installé de manière totalement indépendante du serveur Apache et de PHP. Nous allons donc effectuer l'installation du serveur MySQL dans sa version 4.1 puis nous installerons le nécessaire afin de communiquer avec notre serveur MySQL au travers de PHP.

Installation du serveur MySQL

Pour installer MySQL il suffit d'entrer la commande :

# apt-get install mysql-server-4.1

Debconf vous affichera alors une fenêtre d'avertissement concernant l'installation de MySQL 4.1 :

  • en tant que mise à jour depuis la version 3.23
  • la nécessité que le nom d'hôte de votre machine ne soit pas une chaîne numérique (en l'occurrence une adresse ip)
  • la création d'un compte debian-sys-maint qu'il ne faut surtout pas supprimer
  • et une chose des plus importante : la création d'un mot de passe pour l'utilisateur root du serveur MySQL (qui est différent de celui de la machine)

Pour continuer l'installation il vous suffit de taper sur la touche “entrée”.

Nous voici donc avec un serveur de base de données pleinement fonctionnel que nous pouvons d'ors et déjà tester.

Configuration et test de notre serveur de base de données

Configuration du serveur MySQL

Le fichier de configuration de MySQL est /etc/mysql/my.cnf qu'il est inutile de modifier à moins de vouloir effectuer des réglages spécifiques.

En cas de modification du fichier de configuration, redémarrez le serveur MySQL par :

# invoke-rc.d mysql reload

Test de notre serveur

Avant toute action nous allons redéfinir le mot de passe root du serveur. Ce mot de passe doit être différent de celui de l'utilisateur root sur la machine.

# mysqladmin -u root password votre_mot_de_passe

Pour vérifier notre installation il est possible de se connecter au serveur MySQL en tapant :

# mysql -u root -p

Après avoir rentré le mot de passe définie plus haut, nous entrons sous la console MySQL et il est alors possible d'administrer le serveur. Visualisons les bases de données existantes :

mysql> show databases;

Pour quitter :

mysql> quit;

Pour se reconnecter à notre base de données il suffit de taper :

# mysql -u root -p

L'utilisation de la console du serveur n'est pas des plus pratique pour l'administration et comme notre objectif est l'utilisation de MySQL au travers de PHP nous allons installer, dans la partie Installation du module de communication entre PHP et MySQL, le nécessaire pour communiquer avec notre serveur de base de données à l'aide PHP et ainsi l'administrer.

Désinstallation du serveur MySQL

Si vous souhaitez désinstaller le serveur mysql, exécutez :

# apt-get remove mysql-server-4.1

Si vous souhaitez supprimer tous les paquets installés par le paquet mysql-server-4.1 ainsi que tous les fichiers de confguration (option –purge), tapez la commande :

# apt-get remove --purge libdbd-mysql-perl libdbi-perl libmysqlclient12 libmysqlclient14 libnet-daemon-perl libplrpc-perl mysql-client-4.1 mysql-common-4.1 mysql-server-4.1

Debconf vous demandera alors s'il faut supprimer toutes les bases de données de toutes les versions installées de MySQL. Si une seule version de MySQL est installée et que vous avez sauvegardé vos bases de données, choisissez OUI, autrement choisissez NON. Vous pourrez alors récupérer vos bases de données dans le répertoires /var/lib/mysql/.

Installation du module de communication entre PHP et MySQL

Installons tout d'abord le module nécessaire à PHP pour qu'il communique avec le serveur MySQL.

# apt-get install php4-mysql

Puis, redémarrez le serveur Apache :

# invoke-rc.d apache restart

ou, pour la version 2 d'Apache

# invoke-rc.d apache2 restart

afin que celui-ci prenne en compte les changements.

Vous pouvez vérifier que le support de MySQL est bien installé en visualisant la configuration de PHP, grâce à l'appel à la fonction PHP phpinfo() dans un fichier, comme expliqué dans la partie Installation de PHP.

Vous pouvez désormais écrire des scripts PHP de traitement d'informations dans une base de données.

Désinstallation du module de communication entre PHP et MySQL

Pour désinstaller le support MySQL de PHP, exécutez :

# apt-get remove php4-mysql

Installation de phpMyAdmin

Voyons enfin l'installation d'un outil d'administration du serveur MySQL au travers de PHP, phpMyAdmin. Pour l'installer, exécutez :

# apt-get install phpmyadmin

Lors de l'installation vous devez répondre aux questions suivantes, (pour la première, la sélection de votre choix se fait à l'aide la barre d'espace) :

apt-get install phpmyadmin
Nom du paquet Question Réponse à choisir
phpmyadmin Serveur web à reconfigurer automatiquement : Sélectionnez la version du serveur Apache que vous avez installé - apache ou apache2
apache / apache2 Faut-il redémarrer apache / apache2 maintenant ? OUI

Vous disposez désormais d'une interface de gestion du serveur MySQL.

Utilisation de phpMyAdmin

L'interface d'administration du serveur MySQL est accessible via l'adresse http://ip_du_serveur/phpmyadmin/. Connectez vous en tant que root, sans mot de passe si vous ne l'avez pas défini plus haut, et créez en un en cliquant sur “privilèges” dans le menu principal de phpMyAdmin.

Vous disposez maintenant de tout ce qu'il faut pour gérer vos bases de données.

Désinstallation de phpMyAdmin

Si vous souhaitez désinstaller phpMyAdmin, exécutez :

# apt-get remove phpmyadmin

ou

# apt-get remove --purge phpmyadmin php4

pour le supprimer avec tous les composants installés par le paquet ainsi que les fichiers de configuration.

 
web/apache-installation-complementaire-de-php-et-mysql.txt · Dernière modification: 11/12/2010 18:24 par orgrim