Banière
Vous êtes ici --- > Netonoff.com > Informatique > Installation apache, PHP, Mysql > Lecture du tutorial

Installation apache, PHP, Mysql

Avatar Auteur: : giggs
Créé le : le 22/02/2007 à 11h49
Modifié le :le 30/04/2007 à 19h42
Imprimer ce tutorial

1) Présentation

Dans ce tutorial, nous allons installer et configurer un serveur WEB, comprenant le serveur WEB Apache2, PHP4 avec SuPHP, Mysql, et PHPMyadmin.

Dans un premier temps nous allons installer les serveurs cité ci-dessus, puis nous allons les configurer pas à pas.

A la fin de ce tutorial vous aurez un serveur WEB prêt à l'emploi, vous pourrez donc héberger vos propre site Internet chez vous.

A noter qu'il faut avoir lu et fait les tutoriaux Mail, DNS, pour continuer celui-ci. Car il va falloir utiliser un serveur DNS, pour gérer l'adresse du site. De plus si vous le désirez vous pourrez installer un Webmail, c'est pourquoi il vous faut installer un serveur de Mail
.

2) Installation des serveurs

A) Installation d'Apache

On commence ici par installer le serveur WEB Apache2. L'installation de celui-ci est très simple, puisque il suffit de taper une simple commande. Le programme fait 4436 Ko. Les fichiers de configuration se trouve dans: /etc/apache2/, et les pages Web se trouve par défaut dans: /var/www

Code BASH:
 
apt-get install apache2
 

Par la même occasion vous pouvez aussi, si vous le désirez installez la documentation du logiciel, celle ci fait tout de même 14.6 Mo. Vous pouvez la consulter en tapant http://127.0.0.1/manual

Code BASH:
 
apt-get install apache2-doc
 

A) Installation de Mysql

Puis, nous continuons à installer la base de donnée, qui est la célèbre base mysql. Comme pour Apache, une simple commande suffit à l'installer. Le programme fait 38,9 Mo. Les bases de données seront stocké dans : /var/lib/mysql/

Code BASH:
 
apt-get install mysql-server-4.1
 

Lors de l'installation vous allez voire apparaître une fenêtre, cliquer sur entrer pour continuer.

Image utilisateur

Au niveau de la sécurité de la base de donnée, nous allons s'en charger avec PHPMyadmin (le client), pour attribuer un mot de passe à l'utilisateur "root".

A) Installation de PHP

La partie la plus délicate est l'installation de PHP. Dans ce tutorial nous allons installer PHP en module avec apache, puis PHP sera compilé en CGI.

On commence par le premier paquetage qui fait 3207 Ko

Code BASH:
 
apt-get install libapache2-mod-php4 
 

Ensuite on installe les compléments pour que PHP puisse fonctionner avec Mysql, et les images, et ont compile en CGI. Taille 17,4 Mo

Code BASH:
 
apt-get install php4-mysql php4-gd php4-cgi
 

Dernière opération, nous allons installer Suphp, qui permet d'exécuter les scripts avec les droits de la personne à qui appartient un script PHP, et nom avec l'utilisateur d'apache, qui est www-data. La taille du programme est de 217 Ko. Le fichier de configuration de PHP, se trouve dans: /etc/php4/cgi.php.ini

Code BASH:
 
apt-get install libapache2-mod-suphp suphp-common
 

A) Installation de PHPmyadmin

Pour finir l'installation, on installe un client pour la base de donnée Mysql, qui sera PHPMyadmin, le programme fait 10,7 Mo, est à été codé en PHP. Un lien symbolique, est crée dans /var/www/phpmyadmin

Code BASH:
 
apt-get install phpmyadmin
 

Le programme va vous poser deux questions pour la configuration de PHPMyadmin, les voici:

Indiquer quelle serveur WEB doit être configurer, indiquer Apache2:

Image utilisateur

Indiquer si vous voulez que Apache soit redémarrer:

Image utilisateur
L'installation des différents service est terminée, passons à la phase 2, a savoir la configuration, qui est la partie la plus intéressante de ce tutorial.

3) Configuration des serveurs

L'installation est donc finie reste la configuration du serveur. Tout d'abord nous allons configurer Apache puis la base de donnée.

A) La configuration d'Apache

Les dossiers de configuration se trouve dans: /etc/apache2/. Vous devez trouvez c'est fichier est dossier dans se répertoire:

Image utilisateur

Détails du dossier:

  • conf.d: Vous trouverez les fichiers de configuration pour la doc d'Apache2, et pour PhpMyadmin.
  • mods-available: Ce sont les modules qui sont inactif, pour le serveur WEB
  • mods-enabled: Ce sont les modules qui sont actif, pour le serveur WEB. On y trouve en autre les fichier de config de PHP4
  • site-available: C'est le dossier pour les virtualhost d'apache, nous allons y revenir tout à l'heure
  • site-available: C'est le dossier pour les virtualhost d'apache, nous allons y revenir tout à l'heure. La différence avec l'autre dossier, est que c'est celui ci qu'apache lit lors de sa configuration.
  • ssl: C'est pour le protocole sécurisé d'apache (https)
  • apache2.conf: C'est le fichier principale pour la configuration d'apache2
  • httpd.conf: Avec ce fichier vous pouvez activer des modules
  • ports.conf: Pour choisir le port d'écoute d'apache, par défaut il écoute sur le port 80.

Voila pour les présentations, des fichiers de configuration. Vous pouvez déjà tester si votre serveur fonctionne, en tapant dans un navigateur l'adresse: http://127.0.0.1.

Capture d'écran:

Image utilisateur

Maintenant nous allons changer le répertoire de travail d'apache, car pour l'instant, toute les pages Web se trouve dans: /var/www/. Dans ce tutorial, les pages Web du site, seront dans le dossier: /home/giggs/site/maison.fm/www, se qui signifie que le propriétaire des pages seront à l'utilisateur "giggs".

Pour changer le répertoire de travail,nous allons utiliser les virtualhost d'apache2. Grâce à ce système, c'est très simple de changer l'emplacement des pages, ou de créer des sous domaines en combinant Bind et Apache2

Avant de continuer assurer vous d'avoir configurer un serveur DNS, car pour la suite de ce tutorial, je vais modifier le fichier de zone du serveur. Si vous n'avez pas encore installer ce système vous pouvez aller voire ce tuto.

Modification du fichier de zone du serveur DNS

Si vous avez bien suivi le tutorial du DNS, ouvrez le fichier de zone pour la recherche directe, pour ma part il s'agit du fichier: db.maison.fm.

Puis rajouter ces ligne à la fin de votre fichier:

Code DNS:
maison.fm      IN      A       192.168.0.201
www            IN      CNAME   sweb
phpmyadmin       IN      CNAME   sweb
 

Explication:

La première ligne va corresponde le nom de domaine "maison.fm", vers l'adresse IP du serveur WEB. De cette façon, si une personne tape dans un navigateur http://maison.fm, elle arrivera sur le site Internet.

La deuxième ligne, avec le mot clef "CNAME", est un allias qui permet de rédiger le nom du serveur "www" vers le vrai nom du serveur. De cette manière lorsque qu'on tape: http://www.maison.fm, on arrive sur le site.

La troisième ligne, va nous permettre d'administrer notre base de donnée avec le client PhpMyadmin, qui sera un sous domaine de "maison.fm".

Voila pour le serveur DNS, redémarrer le, avec la commande habituelle (/etc/init.d/bind9 restart), passons à la config d'apache.

Modification du fichier de virtualhost

Aller ouvrir ce fichier, qui se trouve dans: /etc/apache2/sites-available/default.

Attention, faites une sauvegarde du fichier originale, au cas ou, si vous faites une erreur.

Vous pouvez commencer par tout effacer, nous allons le refaire complètements. Commencer par Copier ces lignes dans votre fichier, et modifier les paramètres en fonction de votre configuration.

Code APACHE:
 
NameVirtualHost 192.168.0.201
 
<VirtualHost 192.168.0.201>
    ServerName  maison.fm
    suPHP_Engine on
    DocumentRoot /home/giggs/www
    DirectoryIndex index.html index.htm index.php
    ErrorLog  /var/log/apache2/erreur_prive.log
</VirtualHost>
 
 
 
 
 
 
 
<VirtualHost 192.168.0.201>
suPHP_Engine off
    RemoveHandler  .php
    php_admin_flag engine on
 
    ServerName  phpmyadmin.maison.fm
    DocumentRoot /var/www/phpmyadmin
    ErrorLog  /var/log/apache2/erreur_phpmyadmin.log
 DirectoryIndex index.html index.htm index.php
</VirtualHost>
 

Explication des lignes de code:

NameVirtualHost 192.168.0.201

Remplacer par l'adresse IP de votre serveur
Code APACHE:
 
<VirtualHost 192.168.0.201>
 
Avec cette ligne, on déclare un nouveau VirtualHost, avec l'IP du serveur.

ServerName www.maison.fm

Ici, on met le nom du serveur, on retrouve donc le même nom de domaine que le fichier de zone su serveur DNS

suPHP_Engine on

On active SuPHP, pour ce virtualHost

DocumentRoot /home/giggs/site/maison.fm/www

On définit ici, le chemin des pages Web.

DirectoryIndex index.html index.htm index.php

On met les index, avec les extensions qui seront autorisées.

Les fichiers de log

  • ErrorLog /home/giggs/site/erreur.log
  • SystemLog /vhome/giggs/site/access.log
  • TransferLog /home/giggs/site/transferts.log
Les chemins vers les fichiers de log.

On ferme la balise du virtualHost

Pour le deuxième virtual host c'est la même chose, sauf qu'il faut modifier les chemins des fichiers, et il faut désactiver SuPHP, au risque de faire une erreur 501.

Attention, il faut que vous créez les chemins, pour les pages Web et pour les fichiers de log, sinon vous aurez une erreur lors du démarrage d'apache.
Vous pouvez créer autant de VirtualHost, que vous le désirez, il faut juste modifier sur les fichiers de zone du DNS, pour que cela fonctionne, et donc créer des sous domaines pour gérer plusieurs site, comme par exemple avec phpmyadmin.

3) Test de l'ensemble

Maintenant la configuration d'apache est quasiment finie, il reste à faire la configuration avancée, que nous verrons à la fin de ce tutorial. Passons donc au teste du serveur.

Nous allons créer une page d'index en php, pour vérifier si le PHP, fonctionne sur le serveur. Pour cela créer un nouveau fichier dans l'emplacement de vos pages Web, (Pour moi cela sera dans /home/giggs/site/maison.fm/www), au nom de: index.php, et mettez y les lignes suivantes.

Code PHP:
 
 < ?
phpinfo();?>
 

Puis lancer votre navigateur Web, et taper: http://www.maison.fm, (A remplacer selon votre configuration). Vous devez trouver la page ci-dessous:

Image utilisateur

Ensuite pour continuer les tests, on va s'assurer que le client phpmyadmin est correctement installer ainsi que la base de donnée. Taper toujours dans un navigateur: http://phpmyadmin.maison.fm , Vous devez trouver la page ci-dessous:

Image utilisateur
Attention, si vous avez une erreur 501, ou Internal server Error, c'est parce que vous n'avez pas désactiver SuPHP, pour le virtualHost de PHPMyadmin, ou si vous avez cette erreur pour la page d'index du site c'est parce que il faut que seul le propriétaire du site peut modifier le contenu, les autres ne peuvent que lire le contenu, et si vous créez un fichier sous l'utilisateur root, pensez à remettre le bon propriétaire du dossier

Capture des propriétés du dossier des pages

Image utilisateur
Voila pour les testes, si vous avez bien suivi, ça devrai fonctionner chez vous.

4) Configuration avancée

Cette partie n'ai pas finie, car elle est toujours en évolution, (la configuration d'Apache est assez complexe). Elle sera mise à jour, au fil du temps. Néanmoins, il y a déjà quelque configuration que vous pouvez essayé chez vous

A) Fichier httacces

Si vous voulez faire de l'url rewriting sachez qu'il faut activez ce module pour apache, au risque de faire planter le serveur.

Pour activer ce module, allez dans le fichier: /etc/apache2/httpd.conf, et rajouter cette ligne:

Code APACHE:
 
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so
 

Puis remplacer dans le fichier /etc/apache2/apache2.conf les lignes suivantes:

  • AllowOverride None par AllowOverride All
Faites une recherche, pour allez plus vite

Puis dans un terminale taper cette commande pour activer le module rewrite.

Code BASH:
 
a2enmod rewrite
 

Vous devez voire cette information après avoir exécuté cette commande:

Image utilisateur

Puis redémarrer le serveur Web par: /etc/init.d/apache2 restart

B) Le Web mail avec Suiremail

5) Conclusion




Retour au Sommaire

Remonter en haut | Exécution en 0.0338 secondes |

© Tous droits réservés 2006 François Marie | Hébergement : WDMédia-hébergement

AMIX-INFORMATIQUE.FR | TAI-JITSU-ALENCON.FR