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

eZ debug

Timing: Jan 18 2025 10:20:47
Script start
Timing: Jan 18 2025 10:20:47
Module start 'content'
Timing: Jan 18 2025 10:20:48
Module end 'content'
Timing: Jan 18 2025 10:20:48
Script end

Main resources:

Total runtime1.0850 sec
Peak memory usage4,096.0000 KB
Database Queries236

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0073 587.9766180.8047
Module start 'content' 0.00730.9332 768.7813889.3047
Module end 'content' 0.94050.1443 1,658.0859357.3125
Script end 1.0849  2,015.3984 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00420.3882210.0002
Check MTime0.00160.1469210.0001
Mysql Total
Database connection0.00090.081710.0009
Mysqli_queries0.967089.12402360.0041
Looping result0.00280.25352340.0000
Template Total1.051096.920.5255
Template load0.00210.190220.0010
Template processing1.048996.674720.5244
Template load and register function0.00020.022510.0002
states
state_id_array0.00200.182210.0020
state_identifier_array0.00120.110420.0006
Override
Cache load0.00180.1639660.0000
Sytem overhead
Fetch class attribute can translate value0.00180.168790.0002
Fetch class attribute name0.00190.1733160.0001
XML
Image XML parsing0.00300.276390.0003
class_abstraction
Instantiating content class attribute0.00000.0036190.0000
General
dbfile0.00840.7709400.0002
String conversion0.00000.000530.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
13content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
18content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
4content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
6content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
2content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 45
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs