As soon as I got started with Habari, I started a todo list for it: it's simply a draft, never to be published, but always at hand when working with it.
When I was running into errors in Habari because I started with the "old" (stable) version instead of the new 0.6 which is still being worked on, the immediate suggestion on #habari was not just to download 0.6 (you can download a zip of a recent build) but to pull in the current version from the repository with an svn command issued at the server. In fact, the Installation instructions also tell you how to do that. It sounded like a good idea.
Easier said than done, as it turned out.
My server is a VPS which runs CentOS 3. That's a pretty old version but quite common for hosting because it's stable and proven. And it's perfectly fine for running a web server (and a few other related essentials). It comes with Apache 1.3 which is fine with me since it takes a lot less resources than version 2, and I have a smallish server. But I'd found out pretty soon that when you want to upgrade software things can get hairy because all kinds of little bits are then also needed to be upgraded, or just plain missing. And to install new software is even worse.
When I ran the suggested svn command the server told me it didn't have svn. Duh. So, just to get started quickly, I switched to the two-weeks-old zip, which at least should give me all new functionality - and it did. But I had considered before using an SVN installation on my server which would give me a nice off-site backup at the same time, so I put installing SVN on my todo list.
So today I set out to install SVN on my server, so I could not only easily pull in new versions of Habari (and other software, of course) but also use the server as my own remote source control system.
Easier said than done, as it turned out.
I'm far from a Linux expert, but I did remember yum; a quick
- $ yum --help
- $ yum search svn
- Searching Packages:
- Setting up repositories
- update 100% |=========================| 951 B 00:00
- base 100% |=========================| 1.1 kB 00:00
- centosplus 100% |=========================| 951 B 00:00
- addons 100% |=========================| 951 B 00:00
- extras 100% |=========================| 1.1 kB 00:00
- Reading repository metadata in from local files
- primary.xml.gz 100% |=========================| 70 kB 00:01
- update : ################################################## 264/264
- Added 11 new packages, deleted 0 old in 1.14 seconds
- mod_dav_svn.i386 1.1.4-2.ent base
- Matched from:
- The mod_dav_svn package allows access to a Subversion repository
- using HTTP, via the Apache httpd server.
- $ yum install mod_dav_svn.i386
- Dependencies Resolved
- Package Arch Version Repository Size
- mod_dav_svn i386 1.1.4-2.ent base 50 k
- Installing for dependencies:
- guile i386 5:1.6.4-14 base 746 k
- httpd i386 2.0.63-2.el4s1.centos.2 centosplus 935 k
- neon i386 0.24.7-4 base 86 k
- subversion i386 1.1.4-2.ent base 1.6 M
- swig i386 1.3.21-6 base 1.0 M
- umb-scheme i386 3.2-36.EL4 base 967 k
- Transaction Summary
- Install 7 Package(s)
- Update 0 Package(s)
- Remove 0 Package(s)
- Total download size: 5.3 M
- Is this ok [y/N]:
The next idea was to get only an SVN client, but of course that wasn't in the list of one that yum search had come up with. Yahoo! to the rescue, and after a bit of poking around (and suddenly remembering that the scarcity of packages for CentOS 3 is somewhat relieved by the fact that quite often packages for RHEL 4 work just as well) I found a client (which I could only download after registering at www.collab.net, but that's free). I then carefully followed their detailed instructions for how to install it, which went without a hitch and taught me a few new things, too. As a final check I ran
- $ svn --help
So now I can at least pull new code from the repository right on the server.
But the SVN Server?
But what about the idea of running an SVN server on my server? Somehow I cannot believe there isn't an SVN version out there that either just doesn't implement the web interface, or is compatible with Apache 1.3. But where? I'd really like to run a remote SVN server instead of my local one on windows on a tottering old laptop... — If you have any idea, please leave a comment!