This post originated from an RSS feed registered with Java Buzz
by Wolf Paulus.
Original Post: Mac Mini, the perfect Project Automation Server
Feed Title: Wolf's Web Journal
Feed URL: http://wolfpaulus.com/feed/
Feed Description: Journal - dedicated to excellence, and motivated by enthusiasm to trying new things
So I couldn't resist and shortly after Apple had lowered the price for memory and hard drive upgrades just a bit I put my order in. I bought the 1.25GHz Mac Mini configuration with memory and hard drive capacity doubled. And against the current trend, I'm not going to use the Mini as a domestic media server but as a development and project automation server instead.
The Mini came with OSX 10.3 pre-installed - still the 10.4 Tiger Upgrade DVD was part of the package and a clean install took approximately 40 minutes. Ever since the OS install, the Mini runs pretty much "headless". SSH and once in a while ARD (Apple Remote Desktop) and Chicken of the VNC client make this easily possible.
SubVersion on the Mac Mini (OS X 10.4.1)
The 1st step of converting the Mini into a development server of course is to deploy SubVersion. While working at home, I want to access the repositories straightforward through port 3690, which would require having some kind of daemon running (more on that a little further down). From outside the local-area-network however, I would rather tunnel-in through SSH and not open 3690 on the Firewall. Currently only SSH-Port 22 gets forwarded to the Mini.
Installing Martin Ott's Subversion (1.2.0 RC4) distribution again is pretty straightforward. It installs into /usr/local/bin and requires you only to extend your PATH variable by that location. I performed both steps (installation and PATH update) on both Macs, the Mac Mini and the G5, which is suppose to become a Subversion client.
Last login: Mon May 23 19:45:15 on console
Welcome to Darwin! G5:~ wolf$ ssh wolf@mini Password: Last login: Mon May 23 23:06:37 2005 Welcome to Darwin!
Mini:/usr/local wolf$ svn --version svn, version 1.2.0 (Release Candidate 4) compiled May 13 2005, 10:29:30
Copyright (C) 2000-2005 CollabNet. Subversion is open source software, see http://subversion.tigris.org/ This product includes software developed by CollabNet (http://www.Collab.Net/).
After creating a repository, which could be done like this:
The server could be started like this: Mini:~ wolf$ svnserve -d -r /usr/local/svn
However, this would require that I have to start svnserve everytime I need to reboot the Mini, which should not happen too often but still. Since 10.4 Apple changed the way we are suppose to launch daemons. Google for launchd and you will find out what I mean.Anyway, you basically just need to put a plist file into the /Library/LaunchDaemons folder and fortunately, Marc Pacheco had one that came pretty close to what I needed to do.
Now the Mini listens on port 3690 for SVN request and on port 22 for SSH.
BTW, Dominique Peretti at lachoseinteractive.net in Paris France has an excellent SubVersion client GUI for OSX: svnX