Microsoft on installing PHP and Perl
On their "get the facts" site (as if), Microsoft recently posted a set of screencast demonstrating how much "easier" it is to install Perl and PHP on IIS than it is on Linux.
Being bored, I had a look at these screencasts. The first covered installing stuff on Windows; in a 5 minute screencast, they first explain how you install ActivePerl, and have it handle perl scripts for a webserver through a CGI interface. This involves way too many steps to remember for me (including clicking through a wizard, going to the IIS management interface and enabling it, creating a directory and enabling that in the IIS interface as a CGI location, and more).
Next, they do the same for PHP. Since they install PHP as a CGI binary rather than an ISAPI module, the setup isn't as complex—they conveniently reused many of the settings they'd done for perl—but it still required quite some steps.
After having watched this screencast, I was wondering how they'd make it look harder on a Linux system. My guess was that they'd use Slackware and would compile apache, perl, and php from scratch or some such.
That didn't turn out to be the case, however. They used ubuntu.
To make the process look complicated, they refrained from using synaptic, instead opening an (almost full-screen) shell window, in which they use apt-get to install the libapache2-mod-php5 package. They conveniently also first installed the wrong version of apache, so that it would do all kinds of magical and confusing things. Really, however, after having installed this package, everything works—and they show that.
The perl step should have been ignored. After installing apache on Debian or any of its derivatives, such as Ubuntu, support for Perl CGI scripts has already been installed and configured. Configuring that requires exactly zero steps. However, they still install libapache2-mod-perl, just to make it look a bit more confusing. It's not a very bad idea to do this, actually; installing mod_perl makes serving Perl scripts go quite a bit faster. But if you just want to have apache serve perl through CGI scripts, as they'd done on the IIS setup, all you need to do is install ubuntu, and make sure there's an apache installed. Period.
But that's not all. They cheat. The installation of the perl and php modules on ubuntu includes the process of downloading the binaries and their dependencies; on the Windows screencast, the downloads have already been performed, and are placed on the desktop. This nicely avoids showing how you need to go to the ActivePerl and PHP websites, track down installers, download them, wait for your download to complete, and then manually start the installation process.
To make things even more laughable, they install Perl and PHP as CGI handlers on Windows, but perform an installation of the same software through apache's C API. In other words, they told you how to install a fast and useful Linux system, and how to install a slow and less useful Windows installation (since a PHP setup that uses CGI will not support sessions or persistent database connections, amongst other things).
And even with all that cheating and blundering, the Windows screencast still takes 5 minutes, as compared to the four for Ubuntu.
I think Mahatma Gandhi forgot one line in his famous quote. It should have this:
Then they make complete and utter fools of themselves in a vain attempt to still look relevant
... right before the "then you win".
This post is so wonderful, that I made a german translation of it:
http://koch.ro/blog/index.php?/archives/70-Microsoft-zum-Thema-PHP-und-Perl-installieren.html
Many thanks!
Hi Wouter,
Great analysis! Just a detail: I'm not so sure about PHP as CGI not supporting sessions, I think it does that just fine?
groeten, Thijs