Category Archives: Tutoriaux

Tutoriaux en tous genre

LAMP – Partie 4/4 – phpMyAdmin

Si vous avez suivi le tutoriel jusque là, bravo, vous voulez monter un serveur web sous GNU/Linux, 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

Comme d’habitude, on se connecte en root sur la tty1, on se déplace dans notre dossier de téléchargement, puis on va naviguer chez phpMyAdmin.net :

root@tutolamp:~# cd /other/downloads
root@tutolamp:/other/downloads# lynx http://www.phpmyadmin.net

Sélectionnez un peu plus bas « Download votreversion » puis téléchargez et enregistrez le fichier sur le disque, puis quittez.

Pour ma part, c’est la version 4.6.6 de phpMyAdmin qui m’est proposée, à l’heure où j’écris ce tutoriel.

Cette fois, nous avons obtenu un fichier ZIP, mais ça n’empêche en rien de le décompresser, on a juste besoin d’un paquet supplémentaire dans mon cas :

root@tutolamp:/other/downloads# apt-get unzip
root@tutolamp:/other/downloads# unzip phpMyAdmin-votreversion-all-languages.zip

Installons maintenant phpMyAdmin dans le répertoire « htdocs » d’Apache, et changeons son nom en « phpmyadmin » pour plus de facilité d’accès :

root@tutolamp:/other/downloads# cp -R phpMyAdmin-votreversion-all-languages.zip /other/server/httpd24/htdocs
root@tutolamp:/other/downloads# cd /other/server/httpd24/htdocs
root@tutolamp:/other/server/httpd24/htdocs# mv phpMyAdmin-votreversion-all-languages phpmyadmin

Vérifions que tout se passe bien :

root@tutolamp:/other/server/httpd24/htdocs# lynx http://localhost/phpmyadmin

Tentez de vous connecter avec le compte MySQL « root » et le mot de passe que vous aviez défini (pour moi c’était « toto »).

Tout à l’air de bien se passer, on peut quitter phpMyAdmin par le lien « Log out », et lynx par la touche [Q].

Profitez-en pour quittez la console :

root@tutolamp:/other/server/httpd24/htdocs# exit

Vous possédez désormais un serveur Linux / Apache / MySQL / PHP fonctionnel de base.

LAMP – 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

Et on recommence encore une fois, on se connecte en root sur notre tty1, puis on navigue jusque php.net, et en changeant de répertoire courant au passage :

root@tutolamp:~# cd /other/downloads
root@tutolamp:/other/downloads# lynx http://php.net

On descend jusque « Downloads » puis on y va.

On cherche « Current Stable » et on va sélectionner « php-votreversion.tar.gz ». Au moment du tutoriel, c’est PHP 7.1.2 qui est mis à l’honneur.

On descend pour choisir un site miroir d’où télécharger PHP, j’ai choisi fr2.php.net, se situant en France, et on active le lien de téléchargement en appuyant sur [D]. Enregistrez le fichier sur le disque puis quittez avec [Q].

On décompresse PHP et on va dans son répertoire :

root@tutolamp:/other/downloads# tar zxvf php-votreversion.tar.gz
root@tutolamp:/other/downloads# cd php-votreversion

PHP a lui aussi son petit lot de dépendances, on va les installer de suite :

root@tutolamp:/other/downloads/php-votreversion# apt-get install libxml2-dev

Place à la configuration de PHP, à sa compilation, puis son installation :

root@tutolamp:/other/downloads/php-votreversion# ./configure --prefix=/other/server/php71 --with-apxs2=/other/server/httpd24/bin/apxs --enable-mbstring --with-mysql-sock=/tmp/mysql.sock --enable-embedded-mysqli --with-mysqli
root@tutolamp:/other/downloads/php-votreversion# make
root@tutolamp:/other/downloads/php-votreversion#
make install

On va configurer maintenant Apache pour qu’il puisse nous servir des pages PHP, mais pour cela on va avoir besoin d’un éditeur de texte. Je vais personnellement utiliser « joe », libre à vous de choisir autre chose (« vi(m) », …) :

root@tutolamp:/other/downoads/php-votreversion#: apt-get install joe
root@tutolamp:/other/downoads/php-votreversion#: cd /other/server/httpd24/conf
root@tutolamp:/other/server/httpd24/conf# joe httpd.conf

PHP s’est permis de nous installer son module dans le fichier de configuration, c’est toujours ça de moins à faire!

Cherchez d’abord la ligne ServerName pour lui ajouter un nom comme suit:

ServerName localhost:80

Cherchons maintenant cette ligne :

DirectoryIndex index.html

Rajoutons « index.php » comme suit :

DirectoryIndex index.php index.html

Maintenant cherchons les lignes de type « AddType application/ » et ajoutons-y cette ligne :

AddType application/x-httpd-php .php

Enregistrez le fichier et quittez l’éditeur en effectuant la combinaison [Ctrl]+[K] puis [X].

Redémarrez maintenant Apache :

root@tutolamp:/other/server/httpd24/conf# /etc/init.d/apachectl restart

Créons rapidement un script de test PHP:

root@tutolamp:/other/server/httpd24/conf# cd ../htdocs
root@tutolamp:/other/server/httpd24/htdocs# joe index.php

Avec pour contenu :

<?php

  phpinfo();

?>

Enregistrez et quittez comme tout à l’heure, et regardons si cela a bien fonctionné correctement :

root@tutolamp:/other/server/httpd24/htdocs# lynx http://localhost

Parfait, tout fonctionne! Il ne nous reste plus que phpMyAdmin dans le tutoriel suivant, et notre LAMP sera complet.

LAMP – Partie 2/4 – Apache

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

Pour ceux qui n’ont pas lu le précédent tutoriel sur LAMP MySQL, je rappelle que je suis une distribution GNU/Linux Debian 8.7.1 x64 en minimal. Nous avons dû installer quelques paquets précédemment pour installer MySQL, je vous conseille vivement d’aller y jeter un œil avant de continuer.

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 ».

Installation d’Apache sous Microsoft Windows

D’abord, connectez-vous en root sur votre tty1, et allez de suite dans notre répertoire de téléchargements :

root@tutolamp:~# cd /other/downloads

On s’apprête à télécharger Apache, naviguons donc jusque chez eux :

root@tutolamp:/other/downloads# lynx http://apache.org

Descendez jusque « By Name » et sélectionnez « HTTP Server ».

Descendez maintenant jusque « Download! » et sélectionnez « From a Mirror ».

Enfin, descendez jusque « Source: httpd-votreversion.tar.gz ». Sélectionnez le lien appuyez sur [D] pour télécharger le fichier.

Enregistrez-le sur le disque, puis quitter « lynx » via [Q].

Note: La version que j’ai téléchargé au moment du tutoriel est la version 2.4.25 d’Apache.

Décompressons immédiatement notre nouveau fichier, puis entrons dans le nouveau répertoire ainsi créé :

root@tutolamp:/other/downloads# tar zxvf httpd-votreversion.tar.gz
root@tutolamp:/other/downloads/ cd httpd-votreversion

Apache dépend de quelques petits programmes, installons-les maintenant :

root@tutolamp:/other/downloads/httpd-votreversion# apt-get install libapr1-dev libaprutil1-dev libpcre3-dev

Tout est prêt désormais pour configurer, compiler, et installer Apache. Nous l’installerons dans le répertoire « httpd24 » sous la bannière de notre répertoire dédié « /other/server », en prenant soin d’activer le chargement des librairies dynamiques (nous en aurons besoin pour PHP):

root@tutolamp:/other/downloads/httpd-votreversion# ./configure --prefix=/other/server/httpd24 --enable-so
root@tutolamp:/other/downloads/httpd-votreversion# make
root@tutolamp:/other/downloads/httpd-votreversion# make install

Changeons maintenant de répertoire, démarrons Apache, et testons s’il fonctionne :

root@tutolamp:/other/downloads/httpd-votreversion# cd /other/server/httpd24
root@tutolamp:/other/server/httpd24# bin/apachectl start
root@tutolamp:/other/server/httpd24# lynx http://localhost

Personnellement, Apache me répond: « It works ! », c’est donc que tout est ok.

Installons maintenant Apache au démarrage du système :

root@tutolamp:/other/server/httpd24# cp bin/apachectl /etc/init.d
root@tutolamp:/other/server/httpd24# update-rc.d apachectl defaults

Vous pouvez désormais quitter la console et passer au tuto suivant pour installer PHP.

root@tutolamp:/other/server/httpd24# exit

LAMP – Partie 1/4 – MySQL

Pour installer un serveur Linux/ 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 GNU/Linux

Pour commencer, je tiens à signaler que je pars d’une installation minimale fraiche de GNU/Linux Debian 8.7.1 en 64 bits (netinst), installation effectuée sous machine virtuelle (Oracle VM VirtualBox). Elle ne contient donc aucun paquet inutile, et il faudra les installer à chaque fois que c’est utile. J’ai tout de même choisi la possibilité de télécharger des logiciels non libres via le gestionnaire de paquets, mais libre à vous de refuser ce choix. La configuration de la machine sous Debian ne contient pas de serveur graphique, car sur un serveur dédié que vous louez chez un prestataire, vous n’en aurez pas non plus. J’ai tout décocher lors de l’installation des paquets, excepté le serveur SSH, pour me retrouver dans un environnement le plus simple et minimaliste au possible.

Pour commencer, nous allons nous connecter sur une première console en super-administrateur (root / tty1).

On va de suite créer quelques répertoires à la racine. Un répertoire « other » qui contiendra lui-même deux sous-répertoires : « downloads » pour les téléchargements, et « server » pour les installations.

root@tutolamp:~# mkdir /other && cd /other
root@tutolamp:/other# mkdir downloads server

Schéma des répertoires ainsi créés :

/
+-- other
    +-- downloads
    +-- server

On peut maintenant se rediriger vers le répertoire « downloads » et chercher nos paquets. Nous installerons MySQL & consort depuis les sources, on devra donc les compiler soi-même, puis les installer dans le répertoire « server ».

Seconde chose à faire, c’est de récupérer un navigateur internet en console, ça pourrait nous être utile. Sous debian, on a un formidable outil pour installer des paquets, « aptitude », on va s’en servir de suite pour installer un butineur :

root@tutolamp~/other# apt-get install links lynx

Vous noterez que j’en ai installé deux, vous avez le choix entre « links » et « lynx ». J’utiliserais « lynx » personnellement dans ce tutoriel. Appuyez sur [O] ou [Y] selon votre distribution GNU/Linux et votre langue pour valider l’installation des logiciels et de leur dépendances.

Déplacez-vous maintenant dans le dossier de téléchargements :

root@tutolamp~/other# cd downloads/

Puis maintenant, on va naviguer sur http://www.mysql.com pour récupérer les sources de MySQL.

root@tutolamp~/other/downloads/# lynx http://www.mysql.com

Naviguez entre les liens avec les flèches [Haut] et [Bas] de votre clavier jusqu’à sélectionner « Downloads », puis flèche [Droite] pour continuer à la page suivante.

Sélectionnez ensuite le lien « Community », puis continuez avec flèche [Droite].

Sélectionnez ensuite « MySQL Community Server » et continuez.

Sélectionnez ensuite « Download MySQL votreversion » et continuez.

Descendez jusque « Select Platform », juste en dessous, appuyez sur [Entrée] ou flèche [Droite] pour sélectionner « Source Code », validez en appuyant encore sur [Entrée] ou flèche [Droite], sélectionnez « Select » avec la flèche du [Bas] et flèche [Droite].

Descendez jusqu’à « Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers », puis sélectionnez « Download ».

Descendez maintenant jusqu’à « No thanks, just start my download » et validez (flèche [Droite]). Validez le téléchargement en appuyant sur [D] comme demandé par le navigateur.

Le fichier téléchargé, sélectionnez maintenant « Enregistrement sur disque » et validez, puis validez le nom choisi avec [Enter].

Vous pouvez désormais quittez « lynx » par la touche [Q] ou la combinaison [Ctrl]+[C] (break command).


Voila, il ne nous reste plus qu’à décompresser l’archive téléchargée par la commande tar :

root@tutolamp:/other/downloads/# tar zxvf mysql-boost-votreversion.tar.gz

Note: La version MySQL que j’ai téléchargé est la 5.7.17.

On va avoir besoin de quelques logiciels pour compiler MySQL, alors installons-les maintenant :

root@tutolamp:/other/downloads/# apt-get install cmake make g++ libncurses5

Déplacez-vous maintenant dans le dossier de MySQL :

root@tutolamp:/other/downloads/# cd mysql-votreversion

Puisque j’ai la version 5.7.17, je vais nommer le répertoire où sera installé MySQL « MySQL57 », histoire de s’y retrouver dans les différentes versions, parfois incompatibles.

root@tutolamp:/other/downloads/mysql-votreversion/# cmake . -DCMAKE_INSTALL_PREFIX=/other/server/MySQL57 -DWITH_BOOST=boost/

Une fois cette phase de configuration terminée, on peut compiler MySQL (vous avez le temps de boire un café, c’est pas mal long) :

root@tutolamp:/other/downloads/mysql-votreversion/# make

Puis, une fois MySQL compilé, on va pouvoir l’installer :

root@tutolamp:/other/downloads/mysql-votreversion/# make install

Naviguez à présent vers le répertoire d’installation de MySQL :

root@tutolamp:/other/downloads/mysql-votreversion/# cd /other/server/MySQL57

Créons maintenant un groupe et un utilisateur pour MySQL :

root@tutolamp:/other/server/MySQL57# groupadd mysql
root@tutolamp:/other/server/MySQL57# useradd -r -g mysql -s /bin/false mysql

Nous devons créer un nouveau répertoire où seront stockées nos bases de donnnées. Nommons-le « data », et changeons ses droits d’accès pour des raisons de sécurité :

root@tutolamp:/other/server/MySQL57# mkdir data
root@tutolamp:/other/server/MySQL57# chmod 750 data

Changeons maintenant le propriétaire du répertoire MySQL :

root@tutolamp:/other/server/MySQL57# chown -R mysql .
root@tutolamp:/other/server/MySQL57# chgrp -R mysql .

Initialisons maintenant les bases de données :

root@tutolamp:/other/server/MySQL57# bin/mysqld --initialize --user=mysql

Notez bien le mot de passe temporaire pour le compte « root » que MySQL vous donne, il nous servira par la suite (nous le changerons).

Nous pouvons rechanger le propriétaire de l’installation :

root@tutolamp:/other/server/MySQL57# chown -R root .
root@tutolamp:/other/server/MySQL57# chown -R mysql data

Nous pouvons désormais démarrer MySQL :

root@tutolamp:/other/server/MySQL57# support-files/mysql.server start

Une fois lancé, appuyez sur [Entrée] une fois de plus pour revenir à la console. Nous allons changer le mot de passe root immédiatement. Pour se connecter à MySQL, procédez comme suit :

root@tutolamp:/other/server/MySQL57# bin/mysql --user=root -p

A ce moment, il vous sera demandé le mot de passé généré tout à l’heure, il est temps de le taper. Attention: sous GNU/Linux, nous ne savons pas où nous en sommes dans le mot de passe, il se peut que vous vous trompiez facilement. Ne vous en faite pas, recommencez juste la commande précédente, et réessayez.

Nous voici donc dans le shell MySQL, réfléchissez à votre mot de passe, notez-le, et nous allons maintenant modifier le mot de passe root MySQL par ce nouveau mot de passe. Le mien sera « toto ». Je l’écrirais en italique pour que vous mettiez le votre à sa place. Communiquons maintenant avec MySQL par l’intermédiaire d’une requête :

mysql> ALTER USER root@localhost IDENTIFIED BY 'toto';

On peut maintenant quitter le shell MySQL et revenir à notre console :

mysql> quit;

On va maintenant procéder au démarrage automatique de MySQL avec le système. Pour ce faire, on va juste copier le fichier « support-files/mysql.server » dans « /etc/init.d », puis dire au système de le lancer automatiquement :

root@tutolamp:/other/server/MySQL57# cp support-files/mysql.server /etc/init.d
root@tutolamp:/other/server/MySQL57# systemctl enable mysql.server

On peut désormais quitter la console :

root@tutolamp:/other/server/MySQL57# exit

Voila qui conclu ce premier tutoriel LAMP. MySQL est installé, il démarre avec la machine automatiquement, s’arrête aussi automatiquement lorsque la machine s’éteint, c’est super.

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.