3

We have a little Mac Mini in our office which we use as a web server. It runs OS 10.4.11 (Tiger). It runs a custom install of Apache 2 and PHP 5. I installed a Security Update from Apple recently. Since then the Mac loads the default install of Apache 1.3 instead of Apache 2.

How can I configure it to use the Apache 2 install instead of Apache 1.3? Would I need to re-install Apache 2?

  • I battled this exact problem about 5 months ago, and ended up just installing MAMP, which immediately solved all my problems. This is not really an answer to your question, more of a "I understand you're going through a rough time"-sort of sympathy comment... I wish you all the best of luck in solving this, I'm sure it's doable somehow. – Mia Clarke Jan 04 '10 at 12:43
  • You can build Apache from source or install MAMP or something...or you could just spend $29 on Snow Leopard. – Aaron Brown Jan 04 '10 at 20:18

3 Answers3

1

Check your error log for Apache 2, and see if it complains about trying to get the port, with a timestamp near a reboot. If so, it suggests that somehow Apache 1.3 got turned back on.

Check what launchd is configured to run:

launchctl list

... and then you can use launchctl to shut things down. To cripple Apache 1.3 completely, break the configuration in /etc/httpd ... Apple's pretty good about not making significant changes to httpd.conf, so you can add some garbage in there so 1.3 won't start up. (or tell it to start up on some other port, if you want to monitor to see how often this happens).

update: I should mention -- this assumes that you installed Apache 2 (and set its config directory) to someplace other than the Apple installed defaults ... if not, well, then you'll need to do a re-install.

Joe H.
  • 1,897
  • 12
  • 12
1

In Tiger, launchd hadn't yet replaced StartupItems, so that's what you'll be dealing with. On boot, the system runs the script at /System/Library/StartupItems/Apache/Apache, which checks for the presence of the WEBSERVER=-YES- line in /etc/hostconfig, and runs apachectl start if it is. What you need to do is have it use your own version of apachectl, which is probably in /Library/Apache2/bin/apachectl (but it might be elsewhere — hopefully you know).

First, ensure Personal Web Sharing is off in System Preferences' Sharing pane.

Then, taking cues from this page:

cd /usr/sbin
sudo mv apachectl apachectl-1.3
sudo ln -s /Library/Apache2/bin/apachectl apachectl

Optional: to ensure the Sharing prefpane is pointed to your own installation of Apache, edit the appropriate .conf file, and add/change this line:

PidFile "/private/var/run/httpd.pid"

Hopefully that'll be enough to get you on your way.

Eric3
  • 302
  • 2
  • 10
0

Can you not just upgrade to 10.5 (or 10.6) which ships with apache 2? That way you wouldn't find yourself in this problem each time there's an update.

Chopper3
  • 100,240
  • 9
  • 106
  • 238