Forums / Install & configuration / Running EZPublish 4.x on MS Windows 2003 Server / IIS 6

Running EZPublish 4.x on MS Windows 2003 Server / IIS 6

Author Message

Lazaro Ferreira

Friday 07 November 2008 2:14:03 am

Hi,

I would like to know about the issues running EZP 4.x setup on Windows 2003 Server / IIS 6 ?

Regards

Lazaro
http://www.mzbusiness.com

Thomas Koch

Friday 07 November 2008 2:55:08 am

several issues:

* having a shit web server
* having a shit operating system
* being dependent on microsoft

oh why do you dare to ask... :-)

---
Thomas Koch | http://koch.ro
YMC - eZ Publish in Switzerland | http://ymc.ch

Christian Rößler

Friday 07 November 2008 4:27:49 am

Hy,

As far as i know IISx is more or less able to run php based applications like ezPublish.
Several improvements have been made by the php-developers to support IIS.
Neverthless i heard from several issues according to php-ezpublish-ntfs. The disk-io / filesystem seems to render a simple ezp installation useless (according to performance). I don't know why this happens as i'm not that deeply involved in php/iis/ntfs developing, but it should be 99% an issue to IIS.

Running win2003 server and Apache shpuld be ok. But why should you do so? Php, MySql and ezPublish runs more smoothly and sucks less on Linux based OS than win2003.

Please report any corrections or thoughts or even your experience running ezP on Win+IIS.

Thanks, chris.

PS: Developing on PHP/win/iis is going on. There is much room for improvements.

Hannover, Germany
eZ-Certified http://auth.ez.no/certification/verify/395613

Yannick Komotir

Friday 07 November 2008 8:05:09 am

Hi,
http://ez.no/ezpublish/documentation/faq/general/does_ez_publish_run_under_iis

<|- Software Engineer @ eZ Publish developpers -|>
@ http://twitter.com/yannixk

Gaetano Giunta

Friday 10 July 2009 8:50:15 am

- use fastcgi extension for iis from ms: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1521

- setup proper php config in fcgiext.ini. You can even have different php versions running side by side, ex:

[types]

; old app runnings on php4, identified by ID of its site
php:226849490=PHP4
; default apps run on php 5.2
php=PHP52

[PHP52]
ExePath=c:\php52\php-cgi.exe
MaxInstances=100
ActivityTimeout=300
RequestTimeout=300
Arguments="-c c:\php52"
InstanceMaxRequests=10000

[PHP53]
ExePath=c:\php53\php-cgi.exe
MaxInstances=100
ActivityTimeout=300
RequestTimeout=300
Arguments="-c c:\php53"
InstanceMaxRequests=10000

[PHP4]
ExePath=c:\php\php.exe

- use vhost mode for ezp, using ionics isapi rewrite filter from http://iirf.codeplex.com

- setup proper rewrite rules for it, ex:

# Direct access files: images, css, js, etc...
RewriteRule ^/(design|extension/(.+)/design|var/storage|var/plain_site/storage)/(.*)\.(gif|jpe?g?|png|css|js|swf|html?)$ - [L]
# Direct access binary content: pdf, ppt, etc
#RewriteRule ^/(var/storage|var/plain_site/storage)/(.*) - [L]
# Direct access to 'share' content: icons, etc
RewriteRule ^/share/(.*)\.(gif|jpe?g?|png|ico)$ - [L] 
# Direct access to ezoe compiled files
RewriteRule ^/var/plain_site/cache/public/(.*)\.(css|js)$ - [L]

# Robots, favicon
RewriteRule ^/robots\.txt$ - [L]
RewriteRule ^/favicon\.ico$ - [L]

# Contentstructuremenu
RewriteRule content/treemenu/? /index_treemenu.php [L]

RewriteRule  ^/(.*) /index.php/$1

- wait for some nice soul to fix the thread/process model of iis-fastcgi or the memory-sharing model of apc or xcache to make them useful on that platform. Currently memory sharing does not work between php processes spawned by iis-fastcgi, which kind of defeats the goal of the accelerators

- make sure your content editors do not try to create images with overly long names, as the generated file names will be longer than the maximum allowed by windows

Principal Consultant International Business
Member of the Community Project Board

Jozef Baum

Saturday 11 July 2009 10:06:17 pm

"But why should you do so? Php, MySql and ezPublish runs more smoothly and sucks less on Linux based OS than win2003." - Christian Rößler

Maybe he has no other choice at his company.

Josh Rader

Thursday 23 July 2009 9:19:05 am

We run eZ Publish 4.0 on Windows Server 2003, but with Apache 2 instead of IIS. The only major problem we've had so far was when Apache keep crashing because of APC conflicting with Zend (at least, I think that's what the problem was). I fixed it by disabling the APC dll.

Other than that, we've had no major issues. It runs very well over all.

The reason we use Windows Server 2003 is because we are experienced with it, unlike Linux.

Gaetano Giunta

Tuesday 11 August 2009 9:10:02 am

Note: edited the above rewrite rules to include support for images in the share dir

Principal Consultant International Business
Member of the Community Project Board

André R.

Wednesday 12 August 2009 12:42:43 am

Josh: Are you running PHP as a module in Apache 2? This isn't recommended*, you should either run it in fastcgi with the nts version or use the outdated apache 1.3 series.

* the thread safe version of PHP isn't recommended for production use last time I checked (and never has been). As reflected on our requirements page for eZ Publish.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Josh Rader

Friday 02 October 2009 10:16:26 am

Yes, we run PHP as an Apache module. Is that what caused the APC error?

André R.

Friday 02 October 2009 10:25:28 am

Could be, php is not fully thread safe so the ts (thread safe) version is not considered as stable as the native nts (not thread safe) version. And Apache 2 for windows only comes as a threaded (event based) server (on Linux you can use prefork variant, which works like Apache 1.3 using process forking instead of threads).

So try to switch to fastcgi, with php 5.3 its a lot faster as well using the nts version(you don't need the ts version on fastcgi).

To sum up, for Windows php 5.3.1(rc1) nts version or higher using fastcgi with IIS is probably most stable.
Why:
1. many fixes for Windows went into 5.3
2. php nts version under IIS with fastcgi is the recommended setup by Microsoft.
Note: You'll need eZ Publish 4.1.4 or higher to have full support for PHP 5.3, earlier versions will create a lot of warnings because of ereg() use (deprecated in php 5.3).

But, you said "APC conflicting with Zend". Did you imply that you use zend optimizer or any other zend php extensions (as opposed to the zend engine which is the core part of php)? APC does not work together with does.

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Josh Rader

Monday 05 October 2009 11:12:59 am

We use Xampp for our Apache, PHP and MySQL. So far, I we have not really had many problems with it. It all works pretty well. As far as the APC-Zend thing, last year around Christmas time, the server was crashing every day and the error log said it was an 'apc-error'. I tried a bunch of things, but finally, commenting out the APC dll fixed the problem. I only assume it was a conflict with Zend because I read about it on the web somewhere. I'm not sure to what extent we use Zend.

Gaetano Giunta

Tuesday 24 August 2010 7:45:14 am

Anybody tested perfs / stability using the winphp cache from ms, as compared to using apc/eaccelerator?

Principal Consultant International Business
Member of the Community Project Board