héberger vos applications php sur plateformes...

Post on 06-Jul-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Héberger vos applications PHP sur plateformes Microsoft

William Bories Architecte Infrastructure Junior

http://william.danstoncloud.com/

Pierre Couzy Architecte en Système d'information

http://blog.couzy.com/

• Introduction • Notre travail autour de l'Open Source

• L'Open Source Technology Center

• Quelques projets

• L'infrastructure Web Microsoft pour PHP

• Un travail de fond sur IIS

• FastCGI et PHP

• Web Platform Installer

• Conclusion

Agenda

• Existe depuis une décennie

• 84% des 6,4 millions de développeurs PHP utilisent Windows comme environnement de développement

Introduction

PHP sur Windows :

• Introduction

• Notre travail autour de l'Open Source • L'Open Source Technology Center

• Présentation de quelques projets

• L'infrastructure Web Microsoft pour PHP

• Un travail de fond sur IIS

• FastCGI et PHP

• Web Platform Installer

• Conclusion

Agenda

3 objectifs simples :

I. Impliquer (et s’impliquer dans) les Communautés

II. Garantir le bon fonctionnement des projets sur les OS Windows

III. Proposer des améliorations sur la plateforme Windows

L'Open Source chez Microsoft ?

L'Open Source Technology Center

OSTC : un peu d'histoire …

Commencé en 2004

2 ordinateurs

une seule personne

L'OSTC : aujourd'hui

• Hébergé à Redmond

• Composé d’experts en logiciels libres et Linux

• Tests d'interopérabilité des logiciels libres avec des technologies Windows

• Tests de performances de Windows et de la stack des logiciels libres

Redmond Open Source Lab

• Plus de 400 serveurs de différents types (Gumstix, Intel, AMD, Blades, clusters HPC clusters et des machines IBM P6)

• La disponibilité de plus de 340 distributions Linux

• La plus haute densité de calcul de tous les laboratoires de Microsoft Redmond

Des résultats ?

• En collaboration étroite avec la Communauté.

• Publication du code source sur CodePlex avec une licence OSI approuvée (http://sqlsrvphp.codeplex.com/).

• Lecture et écriture SQL Server depuis tout script PHP et compatible avec SQL Server 2005 et 2008 (et la version express).

• Différents projets PHP qui supportent le driver SQL Server : ADOdb, Web Calendar, etc.

• A terme, un driver PDO.

Un driver SQL Server pour PHP ?!

Et prochainement …

• Introduction

• Notre travail autour de l'Open Source

• L'Open Source Technology Center

• Présentation de quelques projets

• L'infrastructure Web Microsoft pour PHP • Un travail de fond sur IIS

• FastCGI et PHP

• Web Platform Installer

• Conclusion

Agenda

Plate-forme Web Windows pour PHP

• Application: PHP

• DB: Microsoft® SQL Server® 2008

• Serveur Web: Internet Information Services (IIS) 7.0 / 7.5

• OS: Windows Server® 2008 / 2008 R2

Et c'est possible dans le Cloud avec Windows Azure !

Industrialiser une « distro » PHP

• Certains binaires avaient 12 ans d’âge..

Des librairies hétérogènes

• Certaines librariries n’existaient qu’en format binaire, d’origine ou de licence inconnue.

Code source indisponible

• Les librairies n’avaient pas suivi les bonnes pratiques de sécurité depuis 10 ans pour certaines

Pas de mises à jour de sécurité

• Avec aucune MAJ, générélement les fonctionnalités ne sont pas implémentées sur Windows

Pas de parité fonctionnelle

• Le processus de build est exhaustif et automatisé.

Recompilation de chaque binaire

• Gestion de sécurité et de fonctionnalités à parité stricte avec les autres plateformes, puisqu’on s’appuie sur une souche commune de source

Gestion des dépendances

• On peut désormais exploiter des outils modernes d’optimisation de efaçon transversale puisque tout le source est synchronisé.

Retour au source

IIS 7.0 / 7.5 et son architecture modulaire

• Une nouvelle architecture modulaire permet d’améliorer la sécurité, la performance et la fiabilité.

• Le serveur Web IIS 7.0 / 7.5 complet contient plus de 45 modules.

0

5,000

10,000

15,000

20,000

25,000

30,000

17,603

20,359

27,829

Requêtes par seconde

Complet

Défaut

Minimal

Fonctionnalités exploitables par PHP

Fonctionnalités IIS 7.0 / 7.5

ISAPI / CGI Oui

FastCGI Oui

Configurer la page d'accueil par défaut Configuration déléguée à un fichier XML

Exécuter plusieurs versions de PHP Oui

Redéfinition des handlers au niveau de l'URL

Oui (possibilité d'exécuter différentes versions de PHP pour différentes applications PHP ou sites Web)

Support de Windows Core Server Oui

Utiliser des modules managés de PHP (tels que le Forms Authentication)

Oui

Windows Server Core

Un serveur Web sur un système d'exploitation épuré • Une option d’installation du serveur qui réduit:

• La maintenance • La gestion du serveur • La surface d’attaque • L’utilisation de l’espace disque

• IIS 7.5 : support de .NET et prise de main à distance à travers le

gestionnaire IIS

• PHP fonctionne sur du Server Core et cela depuis Windows Server 2008!

Architecture du Handler FastCGI

FastCGI process pool for PHP5

IIS Worker Process FastCGI protocol over named pipes or TCP / IP

Request queue

Etapes d'installation de PHP sur IIS

Copy binaries

• Utiliser l’archive d’installation de PHP

• Ou télécharger l’installer PHP

Configure php.ini

• fastcgi.impersonate = 1

• cgi.fix_pathinfo = 1

• open_basedir = “C:\Websites\”

Configure IIS

• Activer CGI

• Configurer le handler mapping de FastCGI pour *.php

• Changer les paramètres de FastCGI

Test that it works

• C:\php\php-cgi.exe –info

• Ou http://localhost/phpinfo.php

Présentation de PHP sur IIS

Configuration recommandée !

App Pool #1 (user1)

Web site #1

FastCGI Process Pool

… …

App Pool #2 (user2)

Web site #2

FastCGI Process Pool

App Pool #N (userN)

Web site #N

FastCGI Process pool

Faites évoluer votre offre pour PHP

• Support des versions PHP 4.X et 5.X

Permettre aux clients de choisir leur version de PHP

• Activer l'hébergement d'applications PHP qui requièrent la modification du php.ini

Fournir à votre client la flexibilité de changer la configuration PHP

• Utilisation du module URL rewrite pour implémenter le support des sous-domaines

Activer facilement les sous-domaines

• Exposer une série d'outils IIS pour créer et tester les règles de "rewrite"

Fournir les fonctionnalités URL rewriting

Multiples version de PHP

App Pool #1 (user1)

Web site #1

Process Pool for PHP 5

App Pool #2 (user2)

Web site #2

Process Pool for PHP 4

C:\PHP526\php-cgi.exe

C:\PHP447\php.exe

Configuration PHP par site

App Pool #1 (user1)

Web site #1

Process Pool #1

App Pool #2 (user2)

Web site #2

Process Pool #2

PHPRC=“C:\inetpub\website1\”

PHPRC=“C:\inetpub\website2”

Configuration PHP par site

<system.webServer> <handlers accessPolicy="Read, Script"> <add name="PHP via FastCGI" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\PHP\php-cgi.exe|-d my.website=website2" resourceType="Unspecified" requireAccess="Script" /> </handlers> </system.webServer>

Référence au pool du processus FastCGI [CheminComplet]|[Arguments]

Configurer le Handler Mapping

Gérer l'utilisation du CPU

• Windows Server Resource Manager (WSRM)

• Disponible sur toutes les versions de Windows Server 2008

• Assure que le processus a au moins le percentage de CPU configuré

• Eviter les “kicks”, uniquement si la charge de CPU est supérieur à 70%

• L’équipe IIS l’a testé avec 4000 sites web

Présentation de Web PI 2.0

• Un outil permettant d’installer et de personnaliser : • Un serveur Web IIS

• Des Frameworks et des runtimes (.NET / PHP)

• Des bases de données (SQL Server, MySQL)

• Des outils (Visual Web Developper 2008, Silverlight 3 Tools for VS)

• Et des applications Web (disponibles sur le Windows Web App Gallery):

• Blogs (BlogEngine, Word Press, DasBlog, …)

• Wikis, Galleries et des outils (RessourceBlender.NET)

• CMS (DotNetNuke, Drupal, SilverStripe, ...)

Présentation de Web Platform Installer 2.0

Démonstration WebPI

Windows Cache Extension 1.0 for PHP

PHP Connectivity to Windows Azure

Word and Excel reading and writing

Windows Live services

Collaboration étroite avec les Communautés autour des applications populaires

Ce qui arrive prochainement avec PHP

• Introduction

• Notre travail autour de l'Open Source

• L'Open Source Technology Center

• Présentation de quelques projets

• L'infrastructure Web Microsoft pour PHP

• Un travail de fond sur IIS

• FastCGI et PHP

• Web PI

• Conclusion

Agenda

• Microsoft a fait les efforts nécessaires pour que la plateforme Windows soit une plateforme solide

• Plate-forme Web unique pour héberger vos applications .NET et PHP

• Web PI, outil pour vous simplifier le déploiement d'une solution complète

Conclusion

Une plateforme, une seule adresse

http://www.microsoft.com/web

Quelques liens à retenir :

MSDN : http://msdn.microsoft.com/ TechNet: http://technet.microsoft.com/ Php 5.3 Builds : http://windows.php.net FastCGI : http://iis.net/php SQL Driver natif pour PHP: http://codeplex.com/sql2k5php Web PI : http://www.microsoft.com/web/ Blogs..

t-wibori@microsoft.com

top related