Your SlideShare is downloading. ×
Windows Loves drupal
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Windows Loves drupal


Published on

This is a webinar done with Acquia introdcing how well you can run Drupal on Windows with a demo about WebPI and Drush. …

This is a webinar done with Acquia introdcing how well you can run Drupal on Windows with a demo about WebPI and Drush.

Here's a link to the recorded webinar:

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Windows Drupal Alessandro Pilotti @alexpilotti MVP ASP.NET / IIS Windows Azure InsiderMCSD, MCAD, MCSE, MCDBA, MCT Red Hat Certified Engineer
  • 2. Some Facts About the Windows OS Based on Windows NT, released in July 1993 Hardware independent OS POSIX subsystem Provides excellent command line tools  PowerShell Excellent security model Server Core option for minimal GUI and footprint
  • 3. Windows and IISProduct Name OS Version IIS ReleaseWindows XP 5.1 5.1 08/01Windows Server 2003 5.2 6.0 03/03Windows Vista 6.0 (Build 6000) 7.0 01/07Windows Server 2008 6.0 (Build 6001) 7.0 03/08Windows 7 6.1 7.5 07/09Windows Server 2008 6.1 7.5 07/09R2Windows 8 6.2 8.0 ?Windows Server 2012 6.2 8.0 ?
  • 4. IIS 6 Kernel level component (http.sys) listens to HTTP requests  HUGE performance improvement over IIS 5 All user code runs in separate processes  Worker Process (w3wp.exe)  Crashes in worker processes don’t affect the stability of the service Web gardens  Multiple WP per single web applications Configuration stored in a XML metabase  MetaBase.Xml  MBSchema.Xml
  • 5. IIS 7.x / 8.0 Complete redesign over IIS 6.0 Modular design http.sys is still part of the architecture Improved remote administration and delegation Enhanced command line and scripting tools  Including PowerShell cmdlets Flexible model not limited to HTTP Tight integration with WCF
  • 6. Security Windows is a very secure OS!  Running Internet Explorer as administrator and getting malware does not mean that the system is flawed  RunAs permits to execute processes as different users Windows Server 2008 introduced some unique security features Windows Firewall Since Windows Server 2008:  Address space layout randomization (ASLR)  Network Access Protection (NAP)
  • 7. Comparing PHP Stacks Linux + Apache + MySQL + PHP Windows + Apache + MySQL + PHP Windows + IIS + MySQL + PHP Windows + IIS + MS SQL Server + PHP
  • 8. Linux + Apache + MySQL + PHP Pros  Most known and deployed stack in OSS world  Linux is a highly configurable operating system  Most Linux distributions can easily be configured for Apache, MySQL and PHP (yum / apt-get / etc)  Apache is a highly modular and scalable web server  Lots of documentation available  Tightly integrated update process (yum / apt-get) Cons  Lack of simple configuration tools  Configuration requires a wide knowledge  Deployment differences between distributions
  • 9. Windows + Apache + MySQL + PHP Pros  Most of the components are shared with the LAMP stack  Suitable for solutions that require integration with both Apache modules (e.g. mod_rewrite) and Windows  Until FastCGI for IIS showed up, undoubtfully the best PHP stack on Windows  Tools like XAMPP provide an easy deployment option  Cons  Performance  Limited documentation and examples  Limited integration in the Windows ecosystem  Heterogeneous scenario for security updates
  • 10. Windows + IIS + MySQL + PHP Pros  Performance (FastCGI and WinCache)  Tightly integrated in the IIS 7.x ecosystem  Easy to configure an deploy via WebPI  Easy to manage via IIS Manager  Easy to script via WebDeploy and Powershell Cons  Web apps requiring integration with Apache modules need to be reviewed
  • 11. MySQL and Microsoft SQL Server Using PHP Data Objects PDO eases portability issues SQL Server is a choice to evaluate in scenarios that require high availability PHP Drivers for SQL Server 3.0 just released! Drupal + SQL Server through Commerce Guys module
  • 12. PHP on Windows COM integration  Simplest way to access OS native 3rd party features  Marshaling performance is not brilliant (IDispatch / late binding) .NET integration (experimental) W32Api (experimental)  Register / Invoke API functions  Be careful with the parameters on the stack win32service  start/stop/register/unregister services Note: flock() has a slightly different behavior on Windows
  • 13. IIS 7 Modules Individual features used to process a request Executed in a pipeline Native  OS specific binaries (e.g. written in C++)  More performant Managed  .NET assemblies, executed by the .NET CLR  More secure and manageable
  • 14. Windows Server 2012 - SNI Windows Server 2012 introduces some important features  Huge performance improvements for multi-tenant! Server Name Indication (SNI)  Assign different X509 certificates to different host headers  Requires IE >= 7.0, Chrome >= 6.0, FF >= 2.0, SafariMobile >= 5.0  Non supported in IE on Windows XP (even on IE 9)!
  • 15. CPU Throttling CPU resource pooling is a problem in IIS 7.x  Processes exceeding their quota get killed, not throttled  Lots of errors in user applications  Not suitable for multitenant scenarios This feature required specific kernel support
  • 16. Windows Server 2012 CPU Throttling
  • 17. WebPI Microsoft Web Platform Installer (WebPI) is a free tool that simplifies deployment of web solutions  IIS features and extensions  WinCache, PHP Drivers for SQL Server, PHP Manager  Frameworks  PHP 5.2 / 5.3, .Net, etc  Web applications  Drupal, Joomla, Wordpress, DotNetNuke, Orchard, etc  Database  MS SQL Server Express, MySQL, etc  WebMatrix  WebMatrix 2 RC available!
  • 18. Drupal via WebPI Fastest way to setup Drupal on IIS Takes care of all the steps  Deploy of Drupal (6.x or 7.x)  Dependencies  PHP, IIS: CGI, URL Rewrite, VC9, WinCache, etc  File permissions  Database creation
  • 19. Windows Cache Extension for PHP Open source project developed by Microsoft IIS Specific accelerator Requires PHP 5.2 or 5.3 x86  Non thread safe version Provides features not available in APC and other accelerators Current version: 1.1
  • 20. Drush 5.x A command line shell and scripting interface Written in PHP MS SQL Server is supported Windows setup available on  Takes care of all required dependencies  Requires elevation
  • 21. Drush aliases Create a file aliases.drushrc.php in %UserProfile%.drush$aliases[’drupal7] = array( root => /path/to/drupal, uri =>, os => Windows, remote-user => Administrator, winrs-password => Passw0rd, remote-host => DrupalWeb1);
  • 22. Server Farm IIS extensions:  Application request Routing (ARR)  Web Farm Framework (WFF) You can enable independently  Load balancing and caching  Server farm provisioning  Platform / applications
  • 23. WebDeploy Web Application Packaging  Application or site, including DBs  Sources and destinations can be  Live servers  Zip files Deployment  Administrative rights not required  Integration with VMSVC for remote deployment IIS server synchronization  Entire server / site / application  Differential  Detects missing dependencies
  • 24.  Software  Production licenses for self hosting: Windows Web Server 2008 R2; SQL Server 2008 Web Edition and development tools Azure  WebsiteSpark members get up to $1400* in annual Windows Azure resources Training  Free online training and access to the MSDN developer community and resources Support  2 professional support incidents Criteria  An individual or a company with < than 10 employees engaged in website design & development Check out also BizSpark for startups 
  • 25. Resources Webcasts!  Deploying Drupal on IIS with Web Platform Installer (WebPI)  Deploying Drupal on IIS without Web Platform Installer (WebPI)  Building a Drupal Web Farm with IIS and Application Request Routing (ARR) - Part 1  Building a Drupal Web Farm with IIS - Part 2  IIS URL Rewrite for PHP and Drupal  Web Deployment Tool (WebDeploy) for Drupal sites  Optimizing Drupal and PHP sites on IIS, including Profile Guided Optimization (PGO)  Optimizing Drupal in IIS with Memcache and Solr  Configuring and managing Drupal with SQL Server  Managing Drupal on the Windows Platform with Drush