IIS 8.5, PHP 5.4, Mysql 5.5 et Reverse Proxy Nginx sur Serveur 2012 R2

1/52/53/54/55/5 (2 votes, moyenne: 3,00 sur 5)
Loading...
I

Attention, cet article a plus d'une année d'ancienneté. Il est possible que les informations présentées ne soient plus à jour, spécialement dans le cadre d'un article technique.


Bonjour à tous,

 

Aujourd’hui, on va voir comment installer IIS 8.5 avec le support de PHP 5.4 et Mysql 5.5 sur Windows Serveur 2012 R2, et histoire de garder la forme je vais aussi vous montrer comment mettre un Reverse Proxy Ngins par dessus cette installation pour améliorer les performances du tout.

 

Je n’installe pas PHP 5.5 parce qu’il renvoie des erreurs 500.

 

Les versions utilisées :

  • Windows Serveur 2012 R2 standard MSDN x64
  • IIS 8.5 + PHP 5.4 + Mysql 5.5
  • Debian 7.6 x64
  • Nginx 1.6.1 ~dotdeb

 

Les étapes :

  1. Installation d’IIS 8.5 sur Windows Serveur 2012 R2
  2. Installation de PHP 5.4 et de Wincache
  3. Test de fonctionnement
  4. Installation de Mysql 5.5
  5. Installation de Nginx sur Debian 7
  6. Création de la configuration pour le reverse Proxy
  7. Test de fonctionnement

 

 

Installation d’IIS 8.5 sur Windows Serveur 2012 R2 :

Ouvrez une session administrateur sur votre Windows Serveur et lancez le gestionnaire de serveur. Cliquez sur Ajout de fonctionnalités :

iis-php-nginx-01

 

Ensuite, choisissez l’installation basée sur un rôle ou une fonctionnalité :

iis-php-nginx-02

 

Et sélectionnez votre serveur dans la liste :

iis-php-nginx-03

 

Maintenant dans les rôles cochez Serveur Web (IIS) :

iis-php-nginx-04

 

Attendez que le serveur s’installe, normalement un redémarrage n’est pas nécessaire :

iis-php-nginx-05

 

 

Installation de PHP 5.4 et de Wincache :

Téléchargez Microsoft Web Platform Installer et lancez le.

Dans le champ de recherche, tapez PHP 5.4 et appuyez sur entrer.

Sélectionnez PHP 5.4 et Windows Cache Extension pour PHP 5.4.

Cliquez sur Installer et cliquez ensuite sur J’accepte :

iis-php-nginx-07

 

Test de fonctionnement :

Normalement, la partie CGI doit apparaître dans votre gestionnaire IIS :

iis-php-nginx-08

 

Et si vous créez un fichier phpinfo à la racine de votre site il devrait vous renvoyer quelque chose de semblable :

iis-php-nginx-phpinfo

 

Installation de Mysql 5.5 :

 

Retournez dans le Web Platform Installer et recherchez Mysql 5.5 et installez le :

iis-php-nginx-09

 

Renseignez le mot de passe root de Mysql :

iis-php-nginx-10

 

Validez l’installation en cliquant sur J’accepte :

iis-php-nginx-11

 

Vous pouvez gérer Mysql comme sous Linux avec l’outil en ligne de commandes :

iis-php-nginx-12

 

Installation de Nginx sur Debian 7 :

Dans un premier temps, on va éditer les sources de notre machine :

nano /etc/apt/sources.list

 

Rajoutez au début du fichier les repos dotdeb :

deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all

 

Ensuite, téléchargez et installez la clé dotdeb :

cd /tmp
wget http://www.dotdeb.org/dotdeb.gpg
apt-key add dotdeb.gpg

 

Mettez à jour votre système :

apt-get update && apt-get upgrade

 

Installez Nginx et Memcached :

apt-get install nginx memcached

 

Création de la configuration du Reverse Proxy :

Maintenant supprimez le site par défaut de Nginx :

cd /etc/nginx/sites-enabled
rm*

 

Et créez un fichier pour votre serveur IIS :

nano iis

 

Et remplissez le avec ceci :

server {
 listen 80 default;
 server_name _;
 server_name_in_redirect off;
 resolver 127.0.0.1;
location / {
 root /;
 access_log off;
 set $memcached_key "$uri?$args";
 memcached_pass 127.0.0.1:11211;
 error_page 404 502 504 = @fallback;
 proxy_pass http://IP_IIS:80;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
 access_log off;
 log_not_found off;
 expires 360d;
 set $memcached_key "$uri?$args";
 memcached_pass 127.0.0.1:11211;
 error_page 404 502 504 = @fallback;
 proxy_pass http://IP_IIS:80;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header Host $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}

 

Modifiez la variable proxy_pass en indiquant l’ip de votre serveur IIS, par exemple :

proxy_pass http://192.168.1.89:80;

 

Pour finir, redémarrez Nginx :

service nginx restart

 

Test de fonctionnement :

Maintenant tapez l’adresse ip ou le nom de domaine de votre serveur Nginx et vous atterrirez sur votre serveur IIS :

iis-php-nginx-13

 

Et voilà, c’est tout, vous avez maintenant un serveur web fonctionnel avec Windows Serveur 2012 R2 😉

A propos de l'auteur

Nicolas Simond

Ingénieur Systèmes et Réseaux et guitariste hard rock et metal à mes heures perdues.
Je suis le créateur et l'unique rédacteur d'Abyss Project, c'est ici que je note la plupart de mes procédures et quelques divagations.

Si vous l'article vous a aidé, pensez à me payer un café :)

Subscribe
Notify of
guest

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

0 Commentaires
Inline Feedbacks
View all comments