Four months ago I was selected as Web developer for a large Web site project
for six hospitals here in Berlin. It was going to be an exciting project in which
I would work together with a marketing company to realize a network of Web
sites. However, when we had the first meeting, the head of the computer
department said, "Wait a minute. You program in ASP? We run Linux boxes
here and can't justify the cost or security risk of an NT-Server." They
were unwilling to budge and I didn't want to force Microsoft on them and then
have to work with disgruntled system administrators, so I backed out gently and
declined the contract.
Beyond ASP: JSP, ColdFusion or PHP
Since that day I've been looking for ways to extend my server-side
programming skills beyond the powerful but environment-limited Active Server Pages. I concluded that I basically had three choices outside ASP for
server-side scripting: JSP, ColdFusion and PHP. The first, JSP, is promising but
still has a relatively small community and a lack of ISPs which support it. In
addition, if you use the JSP server from Allaire it is quite expensive. The
second choice, ColdFusion, also from Allaire, provides you with a powerful and
robust server-side scripting environment centered around databases and
e-commerce, but again, the problem is it simply costs too much. If you don't
have access to the multi-thousand dollar Enterprise server, you're out of luck
(the free ColdFusion Express server doesn't even support session variables - not
very useful).
LAMP is red hot and free
PHP, on the other hand, is free. It is combined with three other technologies
to form a powerful Web development solution abbreviated LAMP: Linux (operating
system), Apache (Web server), MySQL (database) and PHP (scripting language).
Even with MySQL's insistance that businesses pay a nominal fee for its use,
Linux, Apache and PHP are absolutely free which make the LAMP solution the most
cost-effecive solution for individuals, universities and businesses. Web
devlopers wishing to acquire valuable scripting skills can do so for free. On
top of that, LAMP is generally known to be more secure and robust than other
solutions (less crashing, less rebooting, inherent UNIX security). On top of
that, LAMP has one of the largest, most active, most dedicated communities on
the Web. PHP and the LAMP solution was clearly the best choice for me and I was
excited.
The Linux hurdle
However, if you are a Windows user, learning Linux is like being parachuted
into Italy without knowing Italian. You will be hopelessly and thoroughly lost
at the UNIX prompt. Although my repeated forays into the Linux world have
enabled me to install Suse Linux 6.4, set up the X-Window system and even use
the "vi editor", I still lack so much basic knowledge of Linux that
even the simplest things such as unpacking files or installing software bring me
to a paralyzing stop. So even if you are the type of Windows user who can buy a
$50 computer book on almost any application and become an expert in it by the
end of the week, Linux is not something you are going to learn in a week, or a
month or even a year without an inordinate investment of time, effort, paradigm
shifting and lots of long, frustrating nights. Hence LAMP is not an option for
the casual Windows user wanting to learn PHP scripting.
Settling for WAMP
Luckily, PHP, MySQL and Apache can also run on Windows (hence WAMP). Note
that this is not the most stabile platform to serve your pages to the world, but
it is an adequate solution if you want to learn and begin developing with
PHP/MySQL while remaining in your familiar Windows environment. You can install
Apache, PHP and MySQL on your Windows 98 machine, then upload your applications
via FTP to a more stabile LINUX or UNIX server. WAMP is a good compromise for
Windows-based Web developers who want to expand their server-side scripting
skills into PHP and MySQL.
WAMP installation cryptic but not impossible
It took me a full seven days until I had Apache, PHP and MySQL on my Windows
98 installed, configured and working. It was not easy. The Web is full of
well-meaning but conflicting manuals which give you instructions such as to
enter "/php4win/" when it should be "c:/php4win/" - that one
took me two days to figure out. Another two days was spent downloading incorrect
MySQL packets (the manuals tell you to "download MySQL" but when you
get to the page you are faced with a choice of about 30 different download
possibilities). Luckily there were some very helpful people on the Web
Developer's List who kept helping me until I got it. Thanks again to all of you!
Free workshop on installing PHP4, MySQL, Apache on Windows 95/98
If you want to install PHP4, MySQL and Apache on Windows 95 or 98, take my free online workshop on how to do it. This 14-step workshop has
explicit instructions and screen shots which will lead you past all the
pitfalls. With this Workshop, you can have PHP4, MySQL and Apache installed,
configured and working on your Windows 98 within the hour.