Problems, need help? Have a tip or advice? Post it here.
8 posts Page 1 of 1
Hi All

I am getting this error while trying to install CMS on webserver " Microsoft-IIS Web Server not supported by CMS" I think I have to change the web platform but not sure.

please help

Thanks
Omar
Hi Omar,

As the message states, Couch does not support Microsoft IIS web server.
Please try installing it on Apache, Nginx or other web-servers of the Apache family.
If you using a hosting service, please ask your host to move you to Linux/Apache (which is the more popular platform).

Hope this helps.
Hello Omar, KK and the CouchCMS team.

On couch/header.php line 186 you've got the code that blocks it from running on IIS.

// Refuse to run on IIS
$web_server = strtolower( $_SERVER['SERVER_SOFTWARE'] );
if( (strpos($web_server, 'microsoft')!==false) && (strpos($web_server, 'iis')!==false) ){
die( 'Microsoft-IIS Web Server not supported by CMS' );
}

Just comment that block out and it should work.

WARNING: PHP on IIS is slow.

A note to the developers. Sometimes we have no choice on what server we use, as the technical lead decides it on a corporate environment. Even so, I want to use couchl, and I should be able to run it on whatever environment I deem better suited. You guys should only block an application from running on a certain environment for technical reasons, not by principle.

Then again, I'm talking about couch to anyone who will listen, you guys are doing a stellar job. Keep it up.

Cheers,

Vinny Fonseca.
Hello Vinny and welcome :)

You guys should only block an application from running on a certain environment for technical reasons, not by principle.
The reasons for not supporting IIS were indeed technical. We don't have anything against IIS as such :)

There are certain $_SERVER variables that are crucial for Couch to work properly and these are not reliably set across the various versions of IIS. There are a few more sticky problems that make execution in IIS unreliable.

Coupled with the fact that almost all hosts give a choice between IIS and Apache, this lack of support for IIS has really never been an issue (in nearly three years that Couch has been around you are only the third person who has mentioned it :) )

That said, if uncommenting the block works for you - go ahead and do it :)
After all, that is what open-source is all about.

Thanks.
Hello Couch team,

Thanks for replying and posting my message. I apologize if I sounded too condescending, as I've been embroiled in a battle of servers and ideologies lately. There are many developers out there that do block their application due to principles, plugin developers that don't support older browsers and so on. Very glad to know you are not one of them.

And yes, if it depended on me I wouldn't choose IIS as my main development server. But as I've got to work with it, I'm glad the uncommenting worked. The application I developed is quite simple regarding the CMS, so maybe that's why I didn't run into any problems by running it in IIS.

I've got a request to make to the admin panel. I'm using couch 1.3.5 and I've seen in previous versions you can drag the items on a clonable template to order them. It doesn't seem to be available anymore. Is there a way to bring it back or put an "Order" column for that type of template?

Glad to know you guys are accessible and open to talking to users. Couch is everything I ever wanted on a CMS, simple, flexible, powerful and easy to implement. Great documentation too. Again, keep up the amazing work and I'm doing my best to spread the word as much as I can.
Hi Vinny,

Thank you for your understanding :)

I've seen in previous versions you can drag the items on a clonable template to order them. It doesn't seem to be available anymore.
I think what you remember seeing were the 'nested-pages' (http://www.couchcms.com/docs/concepts/n ... maker.html).
They were, and still are, the only types of pages that support reordering from the admin-panel.

I'm doing my best to spread the word as much as I can.
Thank you very much indeed :) We do require that.
Good day,

as C# developer I decided to switch my private dedicated to windows a few months ago.
(Shame, I know.)
Anyway, at that point I also decided to try IIS 8.5 and the performance appears to be alright. If you search for some performance comparisons between Lighttpd / Apache / IIS / NGINX and such, the newer IIS - Versions are often at least as fast as the competitors.
Due to the fact I will also deploy / use it for some .NET stuff, and I dont feel like playing around with mono again (even though it worked well <3), there were not many options left.

But... what ever.

I've just read and searched the web for the last days and got stuck here. CouchCMS appears to be a great solution for me, as I'm lazy when it comes to web development.

Do you know what is not working with the current IIS version or what MIGHT not be working?
Would be great to have some informtion about it, before I invest too much time...


Cheers,
x
Hello and welcome, BadWolf :)

One key function that was not working reliably across the IIS versions was where Couch automatically tries to figure out the executing template's name (it requires figuring out the template's sub-folders, if any, in relation to the parent folder of Couch).

This bit of functions relies on certain $_SERVER variables getting set by the web server which was not done by IIS reliably.

As it turns out, this happens also in a very minuscule number of Apache breed of servers (have run across this problem exactly twice in nearly 4 years).

So, the later versions of Couch come with a workaround.
If Couch cannot work out template names by itself, we can lend it a helping hand by explicitly declaring a template's name like this -

Suppose a template named 'index.php' exists in a folder named 'en' (which makes its name 'en/index.php'), place the line of code highlighted below in that template before Couch gets included i.e. before the mandatory require_once( 'couch/cms.php' ); statement.
<?php
define( 'K_TEMPLATE_NAME', 'en/index.php' );
require_once( 'couch/cms.php' );
?>

Of course, the 'en/index.php' would be whatever the template's name is supposed to be.

Please let me repeat, the above (rather tedious) procedure would be required only if Couch fails in correctly figuring out template names. It is quite possible that it won't be needed in many configurations of IIS so you'll just have to see.

Apart from that, I don't see any other reason now why Couch shouldn't work with IIS (althogh to be fair I haven't tested it on IIS at all).

So please try using it let us know how it goes :)

Thanks.
8 posts Page 1 of 1