subversion and warehouse
- November 28th, 2008
- Write comment
I had first heard about the Warehouse subversion browser a couple of months back. At the time it was still closed source and cost $30 per server license. Recently though, it went open source and is now freely available. For those of you with about 1-2 hours of time and know how to setup and run subversion on a Linux/Unix box (with WebDAV) it really isn’t that hard to get up and running.
I installed this on one of my home Debian Etch (4) servers and it took me about 30 minutes once I understood the entire process.
- Install some necessary dependencies for building (I prolly left out a few) – make, rake, unzip, zip, tar, gzip, bzip2, libc6, gcc, cpp, g++
- Install Ruby
- download the latest tarball (source code in tar.gz) here – http://www.ruby-lang.org/en/downloads/ – wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
- run – tar xzvf ruby*.tar.gz – to open up the archive
- cd into the directory – cd ruby*
- configure, make and then install –> 1) ./configure 2) make 3) make install (as root)
- download the latest tarball (source code in tar.gz) here – http://www.ruby-lang.org/en/downloads/ – wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p72.tar.gz
- Install Swig
- download one of the latest tarballs – wget http://internap.dl.sourceforge.net/sourceforge/swig/swig-1.3.31.tar.gz
- unarchive the archive – tar xzvf swig-1.3.31.tar.gz
- get into the directory – cd swig-1.3.31
- configure, make, then install –> 1) ./configure 2) make 3) make install (as root)
- Install Subversion and the Swig-Ruby bindings
- download one of the latest subversion archives – wget http://subversion.tigris.org/downloads/subversion-1.5.5.tar.gz
- unarchive that sucker – tar xzvf subversion*.tar.gz
- get into the directory that was just created – cd subversion*
- configure for installation (and if you are missing anything be sure to install it!) – ./configure –enable-shared –enable-static –enable-debug –with-ssl –with-swig
- make and install –> 1) make 2) make install
- now install the swig-ruby bindings –> 1) make swig-rb 2) make install-swig-rb
- Install various dependencies for later: apache2 with WebDAV support, ruby gems, MySQL server/client, PHPMyAdmin might be handy as well
- Download the Warehouse source code – http://github.com/entp/warehouse/tree/master
- Untar into where you want Warehouse to start from: tar xvzf, mv, and whatnot.
- Setup a 3 MySQL databases (warehouse_test, warehouse_production, warehouse_dev) that can be accessed by 1 user for testing, production and development.
- Now run the warehouse bootstrapping program and setup procedures. (No registration key needed now that it is open source, so leave that field blank.) – http://www.warehouseapp.com/installing/installing-and-registering-warehouse
- In the Warehouse settings, be sure to setup warehouse so that it updates your WebDAV permissions and passwords.
- Shell command to run when permissions are updated. This will auto-generate the necessary permission file for WebDAV:
rake warehouse:build_config CONFIG=[warehouse directory]/config/access.conf - Shell command to run when someone’s password is updated. This will auto-generate the necessary password file for WebDAV:
rake warehouse:build_htpasswd CONFIG=[warehouse directory]/config/htpasswd.conf
- Shell command to run when permissions are updated. This will auto-generate the necessary permission file for WebDAV:
