Soulmanto
Codeur du forum
Membre # 5373
Lieu : Lille
Messages : 12837 (5.72 par jour)
Score :
|
Message du 02-05-2006 @ 0:26
Ce tuto est destiné à ceux qui sont lassés de Easy PHP ou qui veulent installer par eux mêmes leur plateforme de développement, ce qui est quand même plus gratifiant (et aussi plus formateur). Ce tuto vous aidera à configurer un serveur Apache/MySQL/PHP sous Windows. Je complèterai certainement plus tard par une version Linux, mais comme Easy PHP est un outil développé pour Windows, je me limiterai à cette plateforme dans un premier temps.
Voici les versions des logiciels que nous allons installer et configurer dans ce tuto:
- Apache 2.0.55
- MySQL 5.0.19
- PHP 5.1.2
- PHPMyAdmin 2.8.0.3
Les versions de chacun des éléments sont les plus récentes ou parmi les plus récentes, et supposées stables.
Liens officiels
www.mysql.com
www.apache.org
www.php.net
www.phpmyadmin.net
Documentation
MySQL
Apache
PHP
Téléchargements
Apache 2.0.55 (4,20 Mo)
MySQL 5.0.19 (35,20 Mo)
PHP 5.1.2 (8,71 Mo)
PHPMyAdmin 2.8 (3,52 Mo)
Voilà , l'introduction est passée, maintenant, faut y'aller! 
Installation
Avant toute chose, un peu d'ordre est nécessaire: en effet, chaque composant du serveur étant indépendant, il vaut mieux définir une arborescence claire. En tout état de cause, installez vos éléments sur le même disque dur dans la mesure du possible. Conservez bien les chemins d'installation des différents packages, vous en aurez besoin par la suite pour tout configurer! L'ordre dans lequel nous allons installer les éléments importe peu, celui que j'ai choisi est purement arbitraire. Mais c'est moi qui rédige le tuto, alors je fais ce que je veux, nan mais! Dans le cas qui nous intéresse, j'ai créé un dossier "amp_server" à la racine de ma partition de programmes (D).
Mysql :
Après téléchargement, dézippez l'archive dans un dossier temporaire, puis exécutez le "setup.exe", et suivez le guide:
- Choisissez l'installation "custom" pour choisir les composants MySQL que vous voudrez installer ainsi que le dossier d'installation.

- Changez le dossier d'installation pour celui que vous aurez choisi (ex: "d:amp_servermysql" )
- Laissez tels quels les choix de composants

- Cliquez sur suivant puis choisissez "skip sign-up"
- Laissez cochée la case "configure the MySQL server now", cliquez sur "finish"

- Choisissez la configuration "detailed configuration"

- Selon la configuration de la machine et son usage principal, choisissez la configuration "developpement machine" ou "server machine". La deuxième option consommera plus de ressources CPU et mémoire, mais sera plus performante.

- Choisissez l'option "multifunctionnal database". Vous aurez ainsi le loisir d'utiliser ou non le moteur transactionnel InnoDb en plus de MyISAM, le moteur natif de MySQL.

- Laissez les paramètres InnoDb tels quels pour le stockage des données. Elles seront par défaut écrites dans le dossier d'installation MySQL.

- Configurez ensuite le nombre de connexions simultanées permises par MySQL. Utilisez la configuration manuelle et selon la configuration de votre machine, entrez la valeur voulue. A titre d'exemple, sur un Athlon XP 1800+ pourvu de 512 Mo de ram, j'ai paramétré 50 connexions simultanées, principalement pour les tests de charge et parce que j'ai d'autres applis PHP qui tournent en même temps. 15 peut être largement suffisant!

- Autorisez les connexions TCP/IP et le mode strict, pour plus de facilités d'utilisation

- Utilisez par défaut le jeu de caractères UTF8, pour la prise en charge d'un maximum de jeux de caractères.

- Cochez la case "install as a windows service". Cochez également la case "include bin directory in windows path" si vous souhaitez piloter MySQL en ligne de commande

Voilà , MySQL est désormais installé! Passons ensuite à PHP
PHP :
Pour PHP, c'est tout de suite plus simple: téléchargez l'archive, et décompressez-la. C'est tout! Juste une petite astuce pour se faciliter la vie, c'est d'inclure dans le nom du dossier PHP la version utilisée. Pour notre exemple, j'ai utilisé le dossier "d:amp_serverphp512". Profitez bien de la simplicité de cette installation, la configuration sera autrement plus retors! 

Apache :
Téléchargez l'archive et exécutez le programme d'installation. Utilisez les valeurs présentes sur les captures :
- Network domain : localhost
- Server Name : localhost
- Administrator's email address : l'adresse mail que vous voulez! 

Choisissez l'installation "custom". Comme pour le reste des programmes, installez-le dans l'arborescence de votre serveur, à l'image du dossier utilisé ici : "D:amp_serverapache".

Si tout s'est bien passé, vous devez voir la petite icone Apache dans la zone de notification. Un test rapide en allant sur la page http://localhost depuis votre navigateur pourra confirmer que l'installation s'est correctement déroulée. Vous devriez ainsi obtenir cette page:

Configuration du serveur
Apache
Commençons la configuration par Apache. Le but de la manoeuvre est d'indiquer à Apache qu'il doit utiliser le module PHP. Pour ça, ouvrez le fichier "httpd.conf" présent dans le dossier "D:amp_serverapacheconf" avec n'importe quel éditeur de texte. N'ayez pas peur de faire des bêtises avec ce fichier, le fichier "httpd.default.conf" permet de restaurer une version saine des paramètres Apache.
Effectuez une recherche sur "LoadModule" dans le fichier. Une fois ce bloc trouvé, ajoutez la ligne suivante à la fin du bloc:
Code :
LoadModule php5_module d:/amp_server/php512/php5apache2.dll
Remplacez évidemment le chemin "d:/..." par celui de votre dossier PHP. Notez bien que les séparateurs de dossier sont des slashes "/" et non des anti slashes "".
Recherchez ensuite un peu plus bas dans le fichier la série de "AddType". Ajoutez la ligne suivante:
Code :
AddType application/x-httpd-php .php
Faites ensuite une recherche du texte "DirectoryIndex". Cette ligne indique à Apache la page à rechercher par défaut quand vous entrez une URL sans nom de fichier (ex: http://localhost/mon_site/ ). La ligne à trouver doit être la suivante:
Code :DirectoryIndex index.html index.html.var
Ajoutez-y "index.php" pour obtenir la ligne qui suit:
Code :DirectoryIndex index.php index.html index.html.var
Le fait de placer index.php devant index.html indique que index.php sera recherché en priorité par rapport à index.html si les deux existent dans le dossier.
Recherchez ensuite le texte "DocumentRoot". Ce dossier correspond à l'endroit o๠Apache va aller chercher les pages web à afficher. Faites le pointer sur le dossier de votre choix. Là encore, remplacez les antislashes par des slashes.
Code :DocumentRoot "d:/www"
Quelques lignes plus bas, vous trouverez une ligne contenant "<Directory "x:/yyyy">"
Remplacez "x:/yyyy" par le dossier que vous avez renseigné pour "DocumentRoot".
PHP
Une fois Apache configuré, il reste encore un peu de travail avant redémarrer votre serveur et d'en profiter pleinement! Attaquons la configuration PHP!
Dans votre dossier PHP, ici d:amp_serverphp512, vous trouverez un fichier nommé "php.ini.recommanded". Copiez le dans le dossier windows (le plus souvent "c:windows" ou "c:winnt"), puis renommez-le en "php.ini". Ouvrez ce fichier pour l'éditer.
Recherchez le texte "error_reporting" correspondant à une ligne ressemblant à la suivante:
Code :error_reporting = E_ALL & ~E_NOTICE
Si la ligne est commentée (commençant par ";"), enlevez le commentaire, ceci afin d'obtenir le maximum de rapports d'erreur, indispensable dans un environnement de développement.
A peine quelques lignes plus bas, repérez la ligne commençant par "display_errors", et modifiez-la pour obtenir ceci:
Code :display_errors = On
Ensuite, et c'est très important, il vous faudra créer un dossier destiné à contenir les informations de session PHP. J'ai créé le mien dans le dossier d:amp_serverphp512sessions", mais libre à vous de le mettre o๠bon vous semble, l'essentiel étant qu'il soit correctement renseigné dans le PHP.ini comme dans l'exemple ci-dessous:
Code :session.save_path = d:/amp_server/php512/sessions
Sous windows, une autre petite partie du fichier php.ini nous intéressera beaucoup, celle qui concerne les extensions de PHP. Recherchez dans le fichier le texte suivant: "extension_dir". Par défaut, le dossier PHP tel que vous l'avez décompressé contient déjà un dossier extensions. Il faudra donc renseigner la ligne de la façon suivante:
Code :extension_dir = "c:/servers/php/ext"
Quelques dizaines de lignes plus bas figure une section concernant exclusivement windows, intitulée "Windows extensions". Pour activer l'une ou l'autre des extensions de PHP, enlevez simplement le ";" figurant au début de la ligne concernant l'extension. Je conseille deux extensions seulement par défaut:
Code :extension=php_mbstring.dll
extension=php_mysql.dll
Ces extensions concernent MySQL et quelques fonctions de texte bien utiles dont nous aurons besoin un peu plus tard dans PHPMyAdmin.
Enfin, copiez l'ensemble des DLL présentes à la racine du dossier "d:amp_serverphp512" dans le dossier "c:windowssystem32"
PhpMyAdmin
Ce logiciel est depuis de nombreuses années une référence au niveau de la gestion de bases MySQL. Téléchargez le package et décompressez-le dans le dossier que vous avez paramétré dans la section "DocumentRoot" de la configuration Apache. Nous allons voir avec cet exemple la manipulation des alias dans le fichier httpd.conf.
Dans notre exemple, la racine de PHPMyAdmin sera donc "d:/amp_server/www/phpmyadmin280". Ajoutez dans votre fichier les lignes suivantes:
(oui, je sais je m'étais planté dans les "/" et ""... )
Code :
Alias /mysqladmin/ "d:/amp_server/www/phpmyadmin/"
<<bla>Directory "d:/amp_server/www/phpmyadmin/">
Options Indexes MultiViews
AllowOverride All
Order allow,deny
Allow from all
<<bla>/Directory>
Une fois ces lignes ajoutées, vous devrez redémarrer le serveur Apache. Ensuite, vous pourrez entrer l'adresse http://localhost/mysqladmin/ depuis votre navigateur et procéder à l'installation de PHPMyAdmin. Les informations demandées sont simples et correspondent à la configuration de MySQL telle que vous l'avez faite peu avant.
Voilà , vous avez à présent un bel environnement de développement. Libre à vous de le faire évoluer ou de l'enrichir au fur et à mesure du temps et des versions de chacun des logiciels qui le composent!
[message édité le 05-05-2006 @ 13:19 Par Soulmanto]
|