Grabbing a Tiger by the tail

This last weekend I found myself poking around Tiger and seeing how to update the little manual that got started under Panther’s reign.

Ruby 1.8.2 is there (but not working entirely right), Perl is latest, Python is 2.3.5 (same way to update it from the “manual” applies), there is PHP 4.3.10, Apache 1.3 and SQLite3 (hmmm…).

What’s missing (and immediately affecting me me me)?

  • A fully functional Ruby
  • Python 2.4
  • MySQL
  • Apache2
  • Subversion (the most critical one)
  • PHP5
  • Lighttpd

Yesterday, Lucas Carlson posted the Complete Fix for Ruby on Mac OS X 10.4 Tiger . It’s the best one out there, what I would have ended up doing by hand and he gets it dead right. It’s what I ended up using, you should too.

For the first time, I used a package install for MySQL because 1) it is 4.1.11 and 2) the download from Jeremy Zawodny’s site. Mirrored here

FCGI.h got dropped in via Lucas’s script, and all I needed was the last patched version for the ruby-fcgi


sudo -s
mkdir /usr/local/src
cd /usr/local/src
curl -O http://sugi.nemui.org/pub/ruby/fcgi/ruby-fcgi-0.8.6.tar.gz
tar xvzf ruby-fcgi-0.8.6.tar.gz
cd ruby-fcgi-0.8.6/
ruby install.rb config -- --with-fcgi-include=/usr/local/include --with-fcgi-lib=/usr/local/lib
ruby install.rb setup
ruby install.rb install
cd ../
rm -rf ruby-fcgi-0.8.6*

The MySQL gem


gem install mysql -- --with-mysql-include=/usr/local/mysql/include --with-mysql-lib=/usr/local/mysql/lib

The SQLite3 gem (I chose the latest “ruby” one)


gem install sqlite3 -- --with-sqlite3-lib=/usr/lib --with-sqlite3-include=/usr/include

Then good ole Apache 2


sudo -s
cd /usr/local/src/
curl -O http://files.textdrive.com/httpd-2.0.54.tar.gz
tar zxvf httpd-2.0.54.tar.gz
cd httpd-2.0.54
./configure --enable-modules=all --enable-mods-shared=all --enable-so --enable-static-support --enable-ssl --enable-proxy --enable-deflate
make
make install

And finally my beloved Subversion


sudo -s
cd /usr/local/src/
curl -O http://files.textdrive.com/subversion-1.2.0-rc2.tar.gz
tar zxvf subversion-1.2.0-rc2.tar.gz
cd subversion-1.2.0-rc2
./configure --with-openssl --with-ssl --with-zlib
make
make install

Aaaaaaaaaaaaaaaaah. Much better.

PHP, Lighttpd and fastcgiin’ the whole up? Later, later.

·:· Posted 2 May 2005, 20:31 by Jason Hoffman to Server geek  |  

  1. Thank you for the nice writeup. Mr. Carlson’s fixes were helpful for me too.

    RMagick and its libraries would be nice also, should anyone write out tips for that.

    Raymond Brigleb    2 May 2005, 20:45    #
  2. How does Apache 2 work on OS X? Does it replace 1.3? I’d like to be able to control it from the System Preferences as I do 1.3. And wheres PHP 5? And I know OS X has php installed but do I have to enabled it like in panther?

    Joshua Peek    3 May 2005, 03:13    #
  3. hey, this was just my plan for this morning, to find some good info on setting up my localhost on Tiger.

    no better place to get it than from here.

    got an error on apache2 though, no C compiler, but installing Xcode fixed that.

    thank you thank you…

    subconscience    3 May 2005, 06:07    #
  4. Joshua: you can run apache2 and php5 in parallel but there no built-in controls in Tiger (non-server version)

    Jason Hoffman    3 May 2005, 08:01    #
  5. Awesome – thanks for getting us up to speed in tiger! (and detailing what tiger has vs. what is “latest/greatest”).

    Goodness – xcode isn’t the first thing you install after an OS install?

    Apache2 on tiger server is still not the default. Both 1.3 and 2 are installed, the gui controls 1.3, and there are command lines controls for 1.3 and 2.

    Looking greatly forward to your follow up – exactly what I still need to do (php, fcgi, lighttpd).

    How is jzawodny’s mysql package tweaked from the one on dev.mysql.com? I didn’t find it in a cursory examination of his site.

    Kevan    3 May 2005, 16:38    #
  6. sorry it’s not really “zawodny’s” package, he’s mirroring the same one that’s on dev.mysql.com. It was more of a hey-he-is-mirroring-so-must-be-okay kinda thing.

    Jason Hoffman    5 May 2005, 20:06    #
  7. I haven’t been able to start apache2. Here’s what I get:

    dyld: lazy symbol binding failed: Symbol not found: _dav_register_provider
    Referenced from: /usr/local/apache2/modules/mod_dav_svn.so
    Expected in: flat namespace
    dyld: Symbol not found: _dav_register_provider
    Referenced from: /usr/local/apache2/modules/mod_dav_svn.so
    Expected in: flat namespace
    /usr/local/apache2/bin/apachectl: line 100: 3463 Trace/BPT trap $HTTPD -k $ARGV

    Anybody know what I’ve missed?

    Matt    6 May 2005, 20:57    #
  8. Jason, can we get this thrown into manuals.textdrive.com as a mac local dev starter (well, really, as an update to the first article you wrote early this year)? I’ll do the grunt work in heiraki if you want.

    Maybe it would help spur on the “PHP, Lighttpd and fastcgiin’ the whole up” followup.

    Kevan    24 May 2005, 20:13    #
  9. I just followed your instructions above on Tiger 10.4.1 and (asside from a curl error I had to fix) they worked perfectly. Then I started wondering, why not make it even simpler by using something like darwinports?

    So, I thought I’d ask if you know of any compelling reasons not to use darwinports to do something like…

    port install apache2

    I’m new to X, so any advice would be appreciated!

    Packagethief    10 June 2005, 21:56    #