Microsoft Releases IIS FastCGI Module
Marcy writes "Microsoft has just announced the final release of the IIS FastCGI module for IIS 5.1 (XP), 6 (2003), and 7 (2008). This FastCGI module was built with collaboration from Zend, the creators of PHP, and is intended to solve the CGI on Windows problem." It's free as in beer.
So, what is the "CGI on Windows" problem? I've used php with iis before, cgi and isapi mode both. WAMP still beats them anyway.
What's wrong with apache?
One thing I've been keeping an eye on is WPHP. It's only alpha-quality at the moment, but it's basically a WSGI application (WSGI is the standard Python web application interface) with a FastCGI backend that runs PHP. With something like this, you can mix and match PHP and Python — for example, you could write an authentication handler in Python and link it to a legacy PHP application.
Bogtha Bogtha Bogtha
The game.
so you're paying out the nose, ears, ass for Windows and MS IIS and you care about free fastCGI?
And IMO, it may be free as in beer but it's poisoned beer by virtue of where it plays.
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
I like free beer too, but I'm always scared that the brewery may change the recipe and not tell me why it suddenly tastes so bad. Therefor I'm glad to know how to brew one myself.
Can somebody who speaks Web-Gobbledygook translate for us surface-dwellers?
Why use IIS - just install WAMP (windows,Apache,MySQL,PHP).
If it tastes bad, there are always other beers. Unfortunatly, I can't brew my own beer. Nobody I know is good enough at it either. Ans I won't want to taste a beer brewwed by a thousand hands, thank you very much.
It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
Sure we can do that, but first you need to tell us more about this horrible rumor about this evil daystar that burns us vamp... I mean us technical type folk who dare venture out in the daytime.
I only look human.
My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
Since when did Zend "create" PHP?
Well put.
Even as a often-self-brewer, there is something to be said for "it exists and works well, or at least well enough". It is often nice to not have to go through the effort of making it yourself (or improving it to your needs).
34486853790
Connection too slow for X forwarding? Try "ssh -CX user@host"
"Microsoft Releases IIS Fascist Module"? So I see they've made it official. On the other, it might be better than the "IIS Promiscuous Module" that seemed to be so popular a few years ago.
Dewey, what part of this looks like authorities should be involved?
ah php, the unholy merger of c/c++, perl and java.
...and that is all I have to say about that.
http://jessta.id.au
I never had any PHP problems using the ActivePhp install (or Perl for that matter) when I used
to install them on my windowsxp pro versions, only when I tired to install on the windows 2003 servers, that WoW...what a f** job that was, so much research because of the problems for installing it....which is actually really the reason why I think they came out with this.
Read the documentation from a googled server 2003 php install and you will see it takes even the best of them to get it going. You have to play with access permissions, cgi rules, redo extensions that get screwed up on install...I imagine this makes it all that much easier, but it always worked on windowsxp before...quite beatifully too!
Over on Linux, my perception is that FastCGI enjoyed a brief reawakening as it was (for a while) _the_ way to deploy Ruby on Rails apps with Apache. But now that seems to have changed to over to using Apache + mod_proxy_balancer + Mongrel.
One nice thing about mod_proxy_balancer is that it's easy to distribute the Mongrels across a couple of machines... and Apache will take them out of the loop if the machine goes down or they become unresponsive or whatever. Works for us, anyhow....
The Army reading list
Because, sometimes, you also have to run 3rd party, non-free software... that was written to require IIS.
Its good to hear of Microsoft finally adopting 10 year old technologies. Don't get me wrong, FastCGI has done wonders for request throughput a lot of companies I've started. But its comical to hear that its just now being ported to IIS. What exactly was the problem???
I really like web development on Linux more, and Apache most of all. But, sometimes, we're stuck with IIS and Windows.
FastCGI will allow me to write a service in C++, and be more portable to Linux. Sure, I have a bunch of socket code that I could use, but, web servers do such great things with threads and sockets that I'd love to be able to leverage that. FastCGI, you make my day.
Now, to find a good FastCGI library for C++, or, just read the spec. Hopefully, Microsoft complies with the spec.
As much as I troll around about the virtues of Windows, in my heart of hearts, I love Linux more. Even the other night, my wife found a cracked copy of Vista Ultimate for my dual opteron, and I just couldn't bring myself to get rid of SUSE, even though I've completely wrecked my installation. So I downloaded Ubuntu instead and will apply that!
This is my sig.
http://archives.neohapsis.com/archives/openbsd/2004-06/0448.html
You open source free software kiddies might want to step back and watch some *real* innovation going on! We're calling it FasTcGI" over here in the Windows world. Well, take a look at it, I'm sure you're all hankering to just rip it off and use it with your oh-so-wonderful "apatchY" web server.
Huh? It's, what?
Nevermind....
Do you have ESP?
Ha ha! Very good! Now, let me know when 802.11 wireless works in fucking linux without having to move heaven and earth.
Also, kill yourself.
Great, so now I get the legendary security of IISS coupled with the legendary security of PHP? To be fair, it shouldn't be much worse than PHP/Apache, since the most common PHP setup effectively disables user-based access control and lets any PHP script anywhere on the server access any data created by any other PHP script anywhere on the server.
I do hope they've kept that thing where you install a new PHP application and then try to run the admin.php script via the web server as nobody before anyone else on the Internet does. That's a race condition implemented with real vision if ever I saw one. The more I think about it, the more it seems to me that Windows and PHP deserve each other.
Virtually serving coffee
Zend gives aid and comfort to the enemy.
Methinks it's all over but the funeral for FOSS.
P.S.: It's cute when Cory tries to sound like a geek and fails miserably.
* IIS is pretty darn secure if it's set up right. The same with apache. In fact my 8 high traffic IIS boxes have never been rooted or suffered any security problems.
* IIS does support text config files - meta base with IIS6 and Web.configs with IIS7 (same as htaccess effectively)
* IIS6+ doesn't represent IIS4, which is where the insane hackability came from - that was back in '98. That's nearly 10 years ago. Apache has been a consistent serious mess since.
Typically the moment they HELP open source, everyone slates them. Not exactly fair is it?
etc etc...
When? A few years ago...
Why don't you try Mandriva 2008? It has wizards for everything - ideal for the pointy-clicky masses.
Excuse me, but please get off my Pennisetum Clandestinum, eh!
I know in my case, when I administrate IIS, I use both the GUI and the text file.
Because you, like me, spent the time to actually learn how to properly run IIS.
Most complaints about point and click seem to be done by people who never bother to learn the other methods.
There are new updates / patches / versions of PHP coming out all the time. How is that going to work with this new FastCGI? Is Microsoft really going to take the time to continually update it? Or is Zend going to get screwed into doing all of the update work themselves? If you *do* end up deciding to use this who the heck do you contact regarding support issues? I read the "article" (press release really) and didn't see any of these questions answered. It seems to me that anyone that's actually serious about using PHP for any sort of reasonably useful app will want to know the answers.
You are using English. Please learn the difference between loose and lose; they're, there, and their; your and you're.
The burning question is, is J-Lo pregnant or what?
Score 1 for this. I wonder is anyone else out there using (Windows, IIS, MySQL, PHP5) in production servers? It's a little unorthodoxed but Me knows Windoze. Also, I hear about all the licensing issues and costs associated with running windows over linux and etc., and I'm wondering what about when you rent from a hosting provider who has to worry about the licensing costs and all that jazz and all you have to do is admin and deploy your applications. Granted if the business gets serious you'll likely want to start hosting your own dedicated servers, but I also figure since there are so many linux web/database server deployments out there the transition should be minimally painful. Adding this fastCGI enhancement should make that even easier. We'll see if we get there.
You do realize that you're going to be awfully thirsty, considering that rather contradictory statement? ;)
Quo usque tandem abutere, Nimbus, patientia nostra?
Congrats, Microsoft, you came in late for about a FULL DECADE and STILL people buy your crap. No matter how unethical is the fact that your "web" thing never did anything other than crash for no reason, spawn windows when anyone hit the webserver, and eat away all resources; people do bow unto you, take your crap and PAY FOR IT.
I can understand Microsoft very well. What ill never understand is its fanbois.
NO SIG
The Apache.org download page.
-- and --
The Win32 binary download mirror.
Just as "free" as Apache for Linux/UNIX...
>>WAMP still beats them anyway.
.NET 2.0 web services under WAMP?
.NET web services are just too good to ignore when designing big, complex web/intranet applications (not some Mom & Pop shopping cart).
.NET 2.0 web services like IIS can, then I'd be sold.
So how can I run all my lovely
I use LAMP/WAMP plenty and often, but
If Apache under Windows could offer
Before anyone tells me to write my web services using some lame Java technology - JUST DON'T!!!!
FastCGI is a good idea that's underutilized, underdocumented, and undermaintained. It's straightforward enough; the web server launches a subprocess, as with CGI, to handle the transaction. But instead of running it only once, the transaction process can be reused to process additional transactions. The web server and transaction process communicate via interprocess communication over local sockets. If the transaction process crashes, the server starts another one. Multiple transactions processes can be run simultaneously.
This is the obvious way to do transactions. Yet it's much more common to build the transaction program into Apache's address space, with mod_php, mod_perl, mod_python, etc. This leads to security and reliability problems; you're trusting the interpreter and all its libraries. This is a real problem in shared hosting environments. Also, if there's a memory leak, eventually Apache will choke. With FastCGI, the transaction programs have a finite life; they're usually terminated and reloaded every N transactions or N minutes, to flush them out and get a clean copy.
The problem seems to be that the Apache support organization dropped support for fast CGI when its developer fell behind the Apache distros some years back. A later version, mod_fcgi, comes from China, and has almost no documentation in any language.
I've used mod_fcgi to run Python. It took several days to get the first program running, because the documentation is sparse and mod_fcgi doesn't produce useful error messages in the Apache log. There's also no mechanism to find out what mod_fcgi is doing, and the transaction parameters are configurable only on a per-server basis, rather than on a per-transaction basis.
That sort of thing is probably why it doesn't get used much. This could be fixed with a few weeks of work, if anybody cared. The basic idea and code are sound. Now that Microsoft is in the game, the open source world needs to play catch-up here.
There's absolutely nothing wrong with text file configuration.
I call BS. There's plenty wrong with text file configuration. One example is the free form syntax that you have to learn for every piece of software. It is rarely consistent and sometimes there are options are not even documented.
Another annoying issue is how many config files there are. For some pieces of software it is all piled into one configuration file, for others it is separated into multiple files scattered in different places. Sure, to some degree it is up to the distro to determine how they want to organized everything, but half the time I find myself trying to hunt down a config file in some awkward place in /etc.
Also there is no feedback to you if you did something wrong until you try to start the software. Even then, it is up to the software to determine if the error was truly an error and whether or not to tell you about it. For example if I have a config file that has the line Option="off" and I happen to want to change it to Option="on" but fat finger it to Option="om" when will I find out that I've made a mistake? Lucky for me I can touch type so I can read what I'm typing on the screen. But I've seen many people glance down at the keyboard, type what they want, and move on without knowing that they've made a mistake. Just read Slashdot to find a good percentage of the geek population making these errors.
How many times have you blown up your X configuration and got tired of restarting X to fix it?
Don't get me wrong, I understand that there are many good points to text config files and in some cases I would prefer it to a GUI. But to say there's absolutely nothing wrong with it is stupid. You also cannot ignore the benefits of GUI configuration (preventing "wrong" options from being chosen, providing some documentation right next to the configuration option, very little learning curve, etc). Text file configuration has its advantages and disadvantages. GUI configuration has its advantages and disadvantages. I think we can still do better than both. But if everyone just sits around and thinks to himself "text is better than GUI" or "GUI is better than text" then we get no innovation.
One really simple solution is simply to provide both interfaces! For example I see no reason Apache can't start itself with a default configuration just for apache configuration purposes. It would tell the user to browse to localhost:888 where the user is presented with a web interface. Now we have a simple graphical html forms interface for configuring apache. Once the configuration is complete, the settings would be saved in a valid httpd.conf or whatever it was file and when the user does /etc/init.d/httpd start everything works. If you still felt you wanted to edit the config file by hand, you could still do it. If you wanted to archive the config file you could still do it. Also, most web browsers (even lynx) have a "search" feature built-in to the browser. So voila, searchable GUI interface!
1) IIS need not be restarted to apply changed settings.
2) IIS's cofiguration is stored in a XML file, which can be edited by hand.
I don't always use unix-like operating systems; but when I do, I prefer FreeBSD.
You don't "write web services" using .NET or Java or what ever. You IMPLEMENT them. You write web services using WSDL and XML.
That's the whole point of them.
believe me, you wouldnt be able to find a host with windows and php and any other meshup. you would need to REALLY look hard for it.
almost ALL of the shared hosting is being done out of linux boxes, and mysql and php are a given on them.
check the hub to get to know whats going on with the hosting scene better : www.webhostingtalk.com
just our own box hosts more than 350 accounts on linux/apache/mysql/php, many community sites, and around 60 of it are 1000-2000 product strong big estores on oscommerce/creloaded.
microsoft is archaic, not late on this one.
Read radical news here
when they notice that the millions of (around 40 million) small to medium web hosting providers will be rather irritated that they are making love to microsoft than supporting their products on the linux/apache/mysql/php hosting scene. that scene is what made zend what it is, and boy i wouldnt ever dream of going at odds with it if i was any executive at zend.
Read radical news here
Read radical news here
basically what they did is to take a 10 year old technology to run cgi scripts faster, and integrate it to IIs.
cgi scripts are behind the web page you are seeing as of now, running the go-between between the database and your interface, and processing your inputs and database info at the same time. so its something major.
but as said what they did is 10 years old, nobody needs or uses it anymore. so its rather "gook"
Read radical news here
Forking has gotten a lot cheaper in Linux since we originally sought out better ways to demand more from our webs servers. It's still probably not the ideal way to do high-load stuff but it's improved.
Why anyone would use Windows for a web server I can't really imagine. Linux or BSD is cheaper, easier, more flexibile, more reliable, more secure, and runs faster with less overhead. I hate when I need to develop for, or admin, IIS-based web servers because they are such poor systems.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
I've seen the rant on this topic, and I(m a bit surprised to find it so uninformed.
.Net security layer (for cases where .net is used) that wraps a sandbox around the whole thing, and you'll see why the number of vulnerabilities has fallen in the past years.
First about IIS : it's not initially an in-house Microsoft Product. It was "acquired", or rather exchanged, with a company that dealt with real-time defragmentation on mainframes. The company that originally designed IIS (named Purveyor at that time) had obviously a good record of writing resource-efficient and very robust apps. They refused to invest in the pure CGI approach at that time and designed another highly optimized mechanism for web extensions, similar (I don't know if it was imitation or emulation) to NSApi, basically loading DLLs in the main process of the http server and defining standard entry points. That mechanism was typical of their problem space as it guarantees that random processes won't start on the server.
The cause of the vast majority of so-called IIS vulnerabilities is in fact due to bad-written or bad-secured extensions. That concern was addressed years ago by Microsoft, by disabling most extensions at install time, and by isolating the dlls in distinct processes that can not harm the main HTTP process (and that run with a least privileged account). Add to this the
Now for the configuration part. IIS initially relied on a very dark configuration storage called the metabase. You could only manipulate that by using the GUI or a bunch of vbscripts. That metabase could become corrupt, and stall your entire web server. This also has changed a lot, and the configuration is today expressed via XML files. They are cleanly separated (a hierarchy of configuration files that can or can not override the settings of their parent, depending on the settings), and can be selectively exported or duplicated along a web farm (as machine specific configuration can get stored via another mechanism, called data protection API. DPAPI allows for storing sensitive parameters out of band on the target server, so that your brand new production-ready script and deployement package don't contain those informations).
So, don't attack blindly one of the finest parts of Windows. Microsoft has taken an initial splendid work, and in 10 years managed to keep it on the edge (with the upcoming version becoming a multi-transport server, not limited to http).
Oh, do you wonder what Microsoft gave in return for Purveyor ? At that time NTFS had no defragmentation API. The company that made purveyor got the full specs of the soon-to-be defragmentation API for NTFS *way before* other companies got it. If you use one commercial product to defragment your NTFS disks, chances are you bought it from them.
Okay, he uses the .Net framework to create web-service functionality.. which is far nicer than *ANY* comparative option I've seen... Then again, I (heart) ASP.Net, but have worked with other web technology platforms.
Michael J. Ryan - tracker1.info
Isn't it just the recurrent WINDOWS PROBLEM?
FYI, there are just "Web services". Whether it's .NET or Java (or Python, or C++ ...) implementation under the hood, it doesn't matter - that's kinda the point of Web services. And it's just as easy to write a Web service in Java as it is in .NET.
They already have IIS, and it takes 5 minutes to set it up. The cost of time alone on setting up a new box to run something else...
For your customers IIS is great. Really. Except they probably bought one of those low-end crippleware Windows Server versions. They'll probably never need the features on these low-end versions. You're successful, so everyone wins.
But, when the win32 consulting cash starts running dry, you'll could add Linux or possibly BSD to your business. So, start now by grabbing Debian and get a feel for it. That way you'll be prepared for what's coming and the more experienced Linux admins like me won't eat your lunch.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html