All posts by Zebra

WAMP – Partie 4/4 – phpMyAdmin

Si vous avez suivi le tutoriel jusque là, bravo, vous voulez monter un serveur web sous Microsoft Windows, et il nous manque encore phpMyAdmin.

Qu’est ce que phpMyAdmin ?

phpMyAdmin est un logiciel web programmé en PHP. Il nous permettra de faire tout ce qu’on veut sur les bases de données MySQL sans avoir besoin d’être sur la machine qui héberge le serveur MySQL. Tout se fait à distance, comme n’importe quelle application web, c’est fait pour.

Installation de phpMyAdmin

La première chose à faire est d’aller sur https://www.phpmyadmin.net. Cliquez sur « Download version« . En date de l’article, c’est la version 4.6.6 de phpMyAdmin qui m’est proposé. Comme d’habitude, n’oubliez pas de débloquer le fichier téléchargé avant de le décompresser.

Copiez maintenant le répertoire « phpMyAdmin-votreversion-all-languages » dans le répertoire « htdocs » d’Apache. Profitez-en pour le renommer en « phpmyadmin ».

Allez maintenant sur http://localhost/phpmyadmin/ et voyez la belle erreur que nous obtenons avec notre installation toute fraiche.

phpMyAdmin nous indique qu’il nous manque l’extension mbstring, effectivement, nous n’avons rien configuré encore pour PHP. Il est temps de le faire.

Allez dans le répertoire de PHP,  et cherchez ces 2 fichiers:

  • php.ini-development
  • php.ini-production

Pour avoir un serveur proche d’une configuration de production, nous prendrons le second fichier. Copiez-collez ce fichier de suite dans le même répertoire pour en avoir une copie ([Ctrl]+[C] / [Ctrl]+[V]), puis renommez-le « php.ini ».

Ouvrez maintenant ce dernier – php.ini – avec votre éditeur de textes simples favori, et cherchez la ligne suivante :

; extension_dir = "ext"

Ajoutez donc à la suite le chemin complet des extensions PHP :

extension_dir = "C:\other\installs\PHP7\ext"

Ensuite cherchez la ligne suivante :

;extension=php_mbstring.dll

Supprimez le « ; » devant cette ligne pour activer l’extension PHP « mbstring ». Ce « ; » servant à définir un commentaire, en le supprimant, nous activerons l’extension.

Puisque nous sommes en pleine configuration de PHP, on va en profiter pour rajouter quelques extensions. Cherchez donc les lignes pour « bz2 », « curl », « mysqli », et « mysql », 4 extensions sommes toutes utiles. Ce qui donnera dans le fichier « php.ini » :

extension=php_mbstring.dll
extension=php_bz2.dll
extension=php_curl.dll
extension=php_mysqli.dll
extension=php_mysql.dll

Cherchez maintenant la ligne « date.timezone » et définissez votre fuseau horaire pour votre serveur Apache/PHP. En ce qui me concerne, vivant en France, je sélectionne Europe/Paris. Visitez http://php.net/date.timezone pour en savoir plus.

[Date]
date.timezone = Europe/Paris

On peut désormais sauvegarder le fichier et le fermer. Copiez maintenant ce « php.ini » modifié, et collez-le dans le répertoire Windows comme suit, PHP cherchant par défaut son fichier de configuration dans le répertoire de Windows :

c:\Windows\php.ini

Redémarrez Apache, puis retournez sur votre page de phpMyAdmin (http://localhost/phpmyadmin/).

Voila, vous pouvez maintenant vous connecter avec votre login de super-administrateur (root) et votre mot de passe à votre serveur de bases de données MySQL!

 

Ceci conclu l’installation d’un serveur WAMP – Windows Apache MySQL PHP – de base.

WAMP – Partie 3/4 – PHP

Après MySQL, après Apache, il nous manque encore PHP. Donc allons-y, installons celui-ci.

Qu’est-ce que PHP ?

PHP Hypertext Preprocessor est un langage de script, aujourd’hui orienté objet, qui se situe du côté serveur. Il possède aussi un côté client qui permet d’écrire des scripts et de les exécuter en mode console.

Exemples de codes PHP
<?php  echo 'Hello World!';  ?>

Ce petit script affichera la chaine « Hello World! » sur votre console ou dans votre navigateur.

<?php

  $var = 'foo' . 'bar';
  echo '<b>', $var, '</b>';

?>

Cet autre script nous affichera « <b>foobar</b> » en console, cependant, s’il est exécuté par l’intermédiaire d’un serveur web (ex: Apache), il nous fournira alors la chaine « foobar » en caractères gras, le « . » servant d’opérateur de concaténation;

Je ne vais pas m’éterniser sur le sujet, d’autres tutoriaux seront présents pour apprendre la programmation.

Installation de PHP au sein d’Apache

Rendez-vous sur http://www.php.net pour y télécharger la dernière version de PHP.

Cliquez sur le lien « downloads page » pour atterrir sur la page de téléchargements. A l’heure où j’écris ces lignes, la dernières version de PHP est la 7.1.2.

Cliquez ensuite sur « Windows downloads ».

Ici, je vous conseille la version « Thread Safe » pour votre architecture, x86 ou x64. Dans le cadre du tutoriel je prendrais donc la version Thread Safe x64. Téléchargez le fichier ZIP, et n’oubliez pas de le débloquer avant décompression.

Comme on peut le voir à son nom, PHP 7 dépend des Visual C++ 2015 Redistribuable. Nous les avons déjà installé pour Apache, donc aucun problème.

Une fois le dossier décompressé, nous allons le copier dans notre dossier d’installations, aux côtés d’Apache, et le renommer en PHP7.

Voici donc la nouvelle architecture de mon installation :

C:
+-- other
    +-- installs
        +-- Apache24
        +-- PHP7

On va désormais modifier la configuration d’Apache. Je rappelle que le fichier de configuration d’Apache se nomme « httpd.conf », qu’il se situe dans le répertoire « conf » d’Apache, et qu’il peut s’ouvrir avec n’importe quel éditeur de texte simple (évitez MS Word).

Cherchez les lignes « LoadModule […] », et ajoutez-y cette ligne :

LoadModule php7module c:/other/server/PHP7/php7apache2_4.dll

Cherchez maintenant plus bas ces lignes :

AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

Et ajoutez cette ligne :

AddType application/x-httpd-php .php

Encore une petite modification à faire, cherchez à présent la ligne :

DirectoryIndex index.html

Ajoutez-y « index.php » comme suit :

DirectoryIndex index.php index.html

Voilà, il ne nous reste plus qu’à redémarrer le serveur Apache via Apache Service Monitor (ou via la gestion des services Windows). Si tout s’est bien déroulé, Apache devrait redémarrez. Sinon relisez-bien le tutoriel et vérifiez que vous n’avez pas oublié quelque chose ou que vous avez mal tapé une ligne. Si ça ne fonctionne toujours pas, laissez-moi un message et je vous aiderais avec plaisir!

Vérification de l’installation

Maintenant, naviguez dans le répertoire suivant:

c:\other\installs\Apache24\htdocs

Puis créez un fichier texte nommé « index.php ». Ouvrez ce dernier avec votre éditeur de texte favoris, et écrivez ce qui suit :

<?php

  phpinfo();

?>

Note: Il se peut que vous deviez activer l’affichage des extensions connues dans l’explorateur Windows. Si vous ne savez pas comment faire, laissez un message!

Ouvrez à présent votre navigateur favoris à l’adresse http://localhost. Si tout s’est bien déroulé, vous aurez droit à toutes les informations concernant votre installation de PHP.

Note: Il se peut que vous deviez vider le cache du navigateur et rafraîchir la page, pour ce faire, sous Internet Explorer c’est la combinaison [Ctrl]+[F5] qui permet de rafraichir la page tout en vidant le cache de celle-ci.

 

On a encore du pain sur la planche, il nous reste phpMyAdmin à installer. Direction tuto suivant!

WAMP – Partie 2/4 – Apache

Pour installer notre serveur WAMP, après MySQL, on va s’attaquer à Apache.

Qu’est-ce qu’Apache ?

Apache n’est pas un programme, mais un éditeur de logiciels (Apache Software Fundation). En réalité, nous n’allons pas installer Apache, mais le serveur httpd d’Apache, autrement appelé « Apache HTTP Server ». Il est couramment dénommé Apache, mais son nom de service se trouve pourtant être « httpd » pour « HTTP Daemon » – « Daemon » (Démon) étant l’équivalent Unix des services sous Windows.

Installation d’Apache sous Microsoft Windows

Je suis toujours sur mon Windows 7 fraichement installé, mais avec MySQL en plus, et son application WorkBench.

Je vous invite à vous rendre sur http://apache.org/. Descendez un peu sur cette page, vous verrez à un moment « Apache Project List ». Regarder juste en dessous de « By Name », avant les « A », pour tomber sur HTTP Server.

Plusieurs versions seront proposées au téléchargement. Téléchargez donc la dernière version (le premier lien) en cliquant d’abord sur « Download ».

Cliquez ensuite sur « Files for Microsoft Windows ».

Ouille, ça se complique! Apache nous dit qu’ils ne fournissent pas de binaires pour Microsoft Windows, seulement les codes sources. Mince. Puisque nous ne sommes pas ici pour compiler (on est sous Windows quand même!), on va chercher Apache ailleurs. J’ai choisi pour vous Apache Lounge.

Le site nous indique une dépendance nécessaire pour notre cher Apache, Microsoft Visual C++ 2015 Redistribuable. Téléchargez-donc pour commencer ce dernier en cliquant sur le lien redirigeant chez Microsoft (https://www.microsoft.com/en-us/download/details.aspx?id=53840). Installez ces derniers, puis revenez sur Apache Lounge et enfin, téléchargez la dernière version d’Apache pour votre architecture (x86 ou x64). Je rappelle que je suis en x64 durant tout le tutoriel. La version d’Apache affichée à ce jour et que je m’en vais installer est la 2.4.25.

Note: N’oubliez pas de « Débloquer » vos téléchargements pour éviter tout conflit dans la gestion des droits sous Windows.

Apache Lounge nous a fournit un fichier ZIP. Windows sachant décompresser ce format de fichiers, allons-y, click droit puis « Extraire tout … ».

Pour ce tutoriel, je vais placer Apache, PHP, et autres (sauf MySQL) dans un même répertoire. Je vais installer le tout sur:

C:\other\installs

Apparemment, il n’y a pas d’installeur, aucun soucis, on a un sous-dossier Apache24 dans le lot. Nous allons le copier, puis le coller directement dans notre dossier « installs », préalablement créé.

Emplacement final de mon Apache:

C:\other\installs\Apache24
Première configuration d’Apache

Avec l’explorateur Windows, naviguez dans le répertoire « conf » d’Apache. Dans mon tutoriel, ce sera donc :

C:\other\installs\Apache24\conf

Sélectionnez le fichier « httpd.conf ». Ouvrez-le avec votre éditeur de texte préféré (pas MS Word). Je l’ouvrirais ici avc le Bloc-notes de Windows (double-cliquez sur le fichier pour l’ouvrir, cochez « Sélectionner un programme dans la liste des programmes installés », puis « OK ». Enfin décochez « Toujours utiliser ce programme pour ouvrir ce type de fichiers », sélectionnez le Bloc-notes, puis cliquez sur « OK ».).

Cherchez cette ligne :

ServerRoot "c:/Apache24

Remplacez là par le chemin de votre installation d’Apache, en remplaçant les « \ » de Windows par des « / » :

ServerRoot "c:/other/installs/Apache24

Un peu plus loin, cherchez la ligne :

#ServerName www.example.com:80

Ajoutez à la suite la ligne :

ServerName localhost:80

A peine plus loin, chez les lignes :

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">

Nous les remplacerons par les chemins de notre nouvelle installation comme suit :

DocumentRoot "c:/other/server/Apache24/htdocs"
<Directory "c:/other/server/Apache24/htdocs">

Voila, sauvegardez et quittez le fichier, ce sera tout pour le moment.

Installation finale

Maintenant, il nous faut ouvrir une console de commandes Windows en Administrateur. Pour ce faire, appuyez sur la touche [Windows] de votre clavier, tapez « cmd », puis un click droit sur le résultat, et « Exécuter en tant qu’administrateur ».

Naviguez à présent jusque dans notre dossier d’Apache (validez la commande avec [Entrée] :

C:\Windows\system32>cd c:\other\installs\Apache24

Puis dans le sous-dossier bin :

C:\other\installs\Apache24>cd bin

On va maintenant installer httpd d’Apache en tant que service, comme MySQL … mais à la main!

C:\other\installs\Apache24\bin\httpd.exe -k install

Voila, on en a fini avec la console. Vous pouvez maintenant naviguez avec l’explorateur de fichiers à l’emplacement suivant :

C:\other\installs\Apache24\bin

Exécutez « ApacheMonitor.exe », une icône s’ajoute dans votre barre des tâches, au niveau de la zone de notifications. Jetez-y un œil, et démarrez donc Apache 2.4 par l’intermédiaire de ce programme, en cliquant sur le bouton « Start ».

Maintenant, ouvrez votre navigateur internet favoris, et allez sur http://localhost. Si tout s’est bien déroulé, vous obtenez ceci :

Si ça ne fonctionne pas, n’hésitez pas à me laisser un message sur ce billet. Je vous répondrais au plus vite.

On va passer la troisième partie de ce tutoriel.

WAMP – Partie 1/4 – MySQL

Pour installer un serveur Windows / Apache / PHP / MySQL, on va commencer par installer le serveur MySQL.

Qu’est-ce que MySQL ?

MySQL est un système de gestion de bases de données relationnelles (SGBDR). Ca signifie qu’il va être capable d’enregistrer vos données et de vous les resservir, mais ce, via des requêtes basées sur le langage SQL (Structured Query Language).

MySQL est, du côté des performances, accentué sur le côté lecture plus que de l’écriture de données. Il nous permettra en conséquent de concevoir efficacement des sites internet, qui ont besoin de données clients, produits, ou tout autre genre d’informations qui nécessiteraient une base de données.

Quelques exemples de requêtes sous MySQL
SELECT `nom_utilisateur` FROM `table_utilisateurs` WHERE `age_utilisateur` > 18 ORDER BY `nom_utilisateur` ASC;

Cette première requête permet de récupérer dans la table « table_utilisateurs » le nom de tous les utilisateurs enregistrés qui ont un âge supérieur à 18 ans, et de les trier par ordre alphabétique.

SHOW DATABASES;

Seconde requête, qui nous permet ici de lister toutes la bases de données auxquelles l’utilisateur MySQL courant a accès.

Je ne vais pas vous détailler ici toutes les requêtes possible, je souhaitais simplement vous montrer comment on peut communiquer avec MySQL. On peut envoyer des requêtes SQL via un client dédié ou via un langage de programmation tel que le PHP, que nous installerons tout à l’heure.

Installation de MySQL sous Microsoft Windows

Pour commencer, je tiens à signaler que je pars d’une installation fraiche de Windows 7 Edition Intégrale Service Pack 1 en 64 bits, installation effectuée sous machine virtuelle (Oracle VM VirtualBox).

Pour démarrer, visitons le site https://www.mysql.com/ et téléchargeons MySQL. Je vous invite donc à accepter les cookies du site pour continuer la navigation, puisque nous sommes en France.

Cliquez ensuite sur « Downloads », puis sur « Community » dans les menus et sous-menus, et enfin cliquez sur « MySQL Community Server ».

Normalement, la plateforme « Windows » est déjà présélectionnée. Cliquez donc sur le bouton « Download » à côté de « Windows (x86, 32-bits), MySQL Installer MSI ».

Puis on recommence encore une fois, en choisissant l’installateur complet de préférence et non pas la version web, histoire de pouvoir réinstaller la même version de MySQL en cas de pépin.

Et maintenant, cliquez sur « No thanks, just start my download. » pour enfin télécharger notre installateur.

N’oubliez pas de débloquer le fichier une fois télécharger (click droit puis Propriétés, cliquer sur le bouton « Débloquer », puis cliquer « OK »), ce qui pourra éviter quelques mésaventures lors de l’installation.

Au moment de ce tutoriel, MySQL Community Server est pour moi en version 5.17.7.0.

Note: L’installateur de MySQL Community Server demande le .Net Framework 4.0 minimum dans sa version 5.17.7.0. Si vous n’avez pas Windows à jour, vous avez la possibilité de le mettre à jour dès maintenant ou installer manuellement le .Net Framework 4.0 depuis le site de Microsoft – https://www.microsoft.com/fr-fr/download/details.aspx?id=17851. Comme ma machine virtuelle de test n’est pas à jour et est fraîchement installée, j’ai téléchargé ce fichier et l’ai installé.

Exécutez maintenant le fichier mysql-installer-community-votreversion.msi.

Acceptez l’accord de licence d’Oracle en cochant la case en bas, puis cliquez sur « Next ».

Sélectionnez le type d’installation « Custom », puis cliquez sur « Next ».

Sur cet écran, développez « MySQL Servers » / « MySQL Server », puis choisissez MySQL Server votreversion en x86 ou x64, selon votre système d’exploitation. Dans ce tutoriel, je ferais toutes les installations en architecture x64. Sur cet écran, vous pouvez aussi choisir d’installer MySQL Workbench dans « Applications » / « MySQL Workbench ». Ce dernier est un client Windows permettant de gérer vos utilisateurs, bases de données, tables, … via une interface utilisateur graphique. Nous n’en n’aurons jamais besoin car nous installerons un outil PHP dans le cadre du tutoriel WAMP, cependant, libre à vous de l’installer ou non, si jamais vous suivez ce tutoriel juste pour MySQL. J’ai choisi ici de l’installer, mais encore une fois, ce n’est pas obligatoire. Cliquez sur « Next ».

Note: Si vous souhaitez installer MySQL Workbench, il vous faudra télécharger et installer les Microsoft Visual C++ 2013 Redistribuable. L’installateur de MySQL peut le faire automatiquement pour vous. Pour ce faire, lorsque vous avez sélectionné vos produits et cliqué sur « Next », l’installateur vérifiera s’il vous manque des dépendances. S’il vous en manque, cliquez sur « Execute » pour lancer ces installations, puis passez à la suite par le bouton « Next », une fois tous les prérequis installés. Il existe d’autres produits MySQL dans l’installateur que nous n’installerons pas ici, mais que vous pouvez installer si vous le souhaitez, comme pour interfacer MySQL avec la suite Microsoft Office, ou Microsoft Visual Studio.

L’installateur de MySQL devrait, si tout s’est bien déroulé jusqu’ici, vous présenter un écran d’installation. Cliquez sur « Execute », et l’installation démarre.

Une fois celle-ci terminée, cliquez sur « Next » pour arriver aux écrans de configuration. L’installateur devrait vous indiquer les produits à configurer. Dans le cadre de ce tutoriel, seul « MySQL Server votreversion » est à configurer. Cliquez sur « Next ».

Dans le cadre du tutoriel, nous allons configurer MySQL comme si nous étions sur un serveur dédié au web, et donc, pas que MySQL. On ira donc sélectionner « Server Machine » dans « Config Type ». On en profitera aussi pour cocher la case « Show Advanced Options ». On ne touchera pas au reste des options qui sont bien comme elles sont par défaut. Cliquez ensuite sur « Next ».

L’installateur de MySQL Server nous demande un mot de passe pour le compte « root ». Ce compte, c’est le super-administrateur du serveur, il doit absolument être protégé par un mot de passe fort (chiffres, lettres, ponctuations …). Dans le cadre de ce tutoriel, j’ai choisi le mot de passe « toto », alors ne faites pas comme moi, définissez vous un bon mot de passe, et ne l’oubliez pas!. Sur cette écran, vous pouvez aussi configurer différents utilisateurs, cependant, nous ne le ferons pas ici, mais encore une fois, via l’interface que nous installerons sur notre serveur web un peu plus tard. Une fois votre mot de passe « root » défini, cliquez sur « Next ».

Sur cet écran, dans le cadre du tutoriel, on ne touche à rien, tout est parfait! Résumons: nous démarrerons MySQL Server comme un service et il démarre au démarrage (suffit de traduire de l’anglais, Google est votre ami), c’est à dire qu’il sera lancé indépendamment d’une session utilisateur Windows, parfait pour monter un serveur web. Ca signifie qu’il n’y aura pas besoin d’ouvrir une session puis de lancer MySQL Server soi-même. Vous pouvez bien sûr modifier tout cela à votre convenance par la suite. Bref, cliquez sur « Next » pour passer à la suite.

Sur l’écran de plugins et d’extensions, nous ne cochons rien et laissons la configuration type par défaut. Cliquez donc sur « Next ».

Nous voici désormais à l’écran des fichier journaux (log files). Inutile de renommer les fichiers journaux, ou même de cocher/décocher quoi que ce soit, la configuration par défaut est une fois de plus, plus que correcte. Les erreurs du serveur MySQL (que ce soit la configuration ou autre) se retrouveront par défaut dans « NOMDELAMACHINE.err ». Nous n’enregistrerons le journal général car il contiendrait toutes les requêtes SQL effectuée sur le serveur. Ceci n’est utile qu’à des fins de débogage, et est très lourd sur un serveur. De plus, il pourrait laisser passer des mots de passe en clair si vous utilisez des programmes mal conçu. Nous enregistrerons cependant les requêtes qui prendront trop de temps à être exécutées (Slow Query Log). Par défaut, ce sont des requêtes qui prennent plus de 10 secondes à être exécutées. A des fins d’optimisations du serveur, ces requêtes seront stockées pour comprendre d’où elles viennent, et modifier en conséquences le programme qui s’en servent, ou bloquer temporairement l’utilisateur qui effectue de telles requêtes. Une bonne requête SQL s’exécute en temps normal s’exprime en millisecondes. Quelques-fois, elles peuvent prendre une ou deux secondes pour des requêtes conséquentes (lors d’installations de logiciels par exemple, ou de sauvegarde d’une base de données). Mais pas plus, sinon le serveur ne pourrait pas répondre aux autre requêtes. Je vous invite à suivre les tutoriaux orientés programmation pour en apprendre plus, ainsi que la rubrique Astuces. Nous ne cochons pas non plus le « Bin Log » qui contiendrait tous les événements (connexions, requêtes, …) qui n’est, lui aussi, utile qu’à des fins de débogage. Nous pouvons choisir un identifiant au serveur si nous installons de multiples instances de MySQL. Cependant, nous n’en aurons qu’une dans ce tutoriel, et laisserons l’identifiant « 1 » à notre nouvelle installation. Cliquez sur « Next ».

Ca y’est, tout est prêt pour la finalisation de notre installation de MySQL. Cliquez donc sur « Execute » pour finaliser la configuration et par conséquent l’installation du serveur MySQL.

Vous pouvez maintenant cliquer sur « Finish » pour fermer le configurateur et repasser à l’installateur MySQL.

Cliquez sur « Next » à l’écran suivant, puis cliquez sur « Finish ».

Félicitations, vous voila désormais avec un serveur MySQL!

 

Vous pouvez désormais passer à la suite du tutoriel et installer Apache.