Two weeks after the new computer (A Dell XPS 420) arrived, life has finally settled down enough for me to start moving all my stuff. Moving the data files was easy enough (I figured out years ago that a LAN is the easiest way to do that), but getting Apache up and running so I could work on some of my web sites turned out to be “painful.”
I’d been running v2.0.50 of the Apache HTTP server on my XP machine for the past five or six years, so my first attempt was to just rerun that install and be done with it. No such luck. The install ended with a message stating that the service hadn’t been installed and nothing further.
My first thought was that Vista’s tightened security was probably responsible, so I logged back in as an admininistrator and ran the install a second time. Still no dice.
Hoping to find some tips for installing under Vista, I headed over to the Apache Project’s web site and discovered that the current version of the HTTP Server was 2.2.8. Aha! Perhaps the new version has some adaptations to handle Vista? (Reading the site later, I discovered that the newest version of Windows mentioned in the online install tips is Windows Server 2003, so perhaps not. Then again, nobody likes to write documentation – myself included – so I don’t really know.)
A quick visit to Google however, searching for the terms Apache, Vista and Install led to a suggestion that perhaps User Account Control (UAC) was to blame and suggested turning it off during the install. Voila!
So, here’s the steps that worked for me:
- Login as an administrator.
- Go to Control Panel, Go to the “User Accounts and Family Safety” applet, Click on “User Accounts” and then select the option to turn User Account Control off. (You’ll have to reboot at this point.)
- Run the Apache 2.2.8 installer, using the recommended settings. (In particular, make the server visible to everyone on port 80.)
- Point a web browser to http://localhost/ At this point, you should see the message, “It works.”
- Go to c:\Program Files\Apache Software Foundation\Apache2.2\conf and make whatever changes you need to the http.conf file. (Make a copy first, and forget about simply copying the entire file from an earlier version, though you may be able to copy sections. At a minimum, you’ll probably want to change the DocumentRoot to something outside the Program Files tree. You’ll also likely need to change the permissions in the <Directory /> section a few lines further down. )
- Once you’ve changed the http.conf file to your satisfaction, log out from the administrator account and log in again as a regular user to make sure the server is still accessible.
- Optionally, login again as the administrator, repeat step 2, and re-enable the User Account Control.
I still need to go back and set up PHP, but this was sufficient for me to get back to some more pressing web site work.