Hugh's forays back into shared hosting over the last week have reminded me that I could make better use of the cheap Dreamhost account that I have had languishing for the last few years. I am going to migrate the few things I have running on my more expensive Slicehost slice. Quick way to save a bit of money each month, particularly with the equally languishing Australian Dollar.
First of these is Gitosis, which is a very handy way to securely store and share your private Git repositories. Since most accounts on Dreamhost are on shared host, you'll need to install it inside your home directory. Turns out this is quite simply done, and Marco Borromeo provides a good tutorial.
I had to take an additional couple of steps in order to get things to work with the Python 2.4 installation on my particular host, so I have provided a complete list here. This should hopefully work on any of the Dreamhost servers. Please leave a note in the comments if you have to do anything differently.
The first step you'll need to do is create a dedicated user account for the gitosis installation. I also chose to create a dedicated subdomain at the same time. Then, all you'll need to do is follow these steps:
# 1. Create dirs for unpacking your source code and installing your apps mkdir $HOME/src mkdir $HOME/apps # 2. Install the latest version of git cd $HOME/src wget http://kernel.org/pub/software/scm/git/git-22.214.171.124.tar.gz tar zxvf git-126.96.36.199.tar.gz cd git-188.8.131.52 ./configure --prefix=$HOME/apps NO_MMAP=1 make && make install # 3. Create dir for local python modules mkdir -p $HOME/apps/lib/python2.4/site-packages export PYTHONPATH=$HOME/apps/lib/python2.4/site-packages # 4. Install setuptools python module cd $HOME/src wget http://peak.telecommunity.com/dist/ez_setup.py python2.4 ez_setup.py --prefix=$HOME/apps # 5. Install gitosis cd $HOME/src git clone git://eagain.net/gitosis.git cd gitosis python2.4 setup.py install --prefix=$HOME/apps # 6. Add new paths to shell environment echo 'export PATH=$HOME/apps/bin:$PATH' >> $HOME/.bashrc echo 'export PATH=$HOME/apps/bin:$PATH' >> $HOME/.bash_profile echo 'export PYTHONPATH=$HOME/apps/lib/python2.4/site-packages' >> $HOME/.bashrc echo 'export PYTHONPATH=$HOME/apps/lib/python2.4/site-packages' >> $HOME/.bash_profile . ~/.bash_profile # 7. Paste your public SSH key into a temporary file on your server. I'll assume it to be '$HOME/id_rsa.pub' # 8. Initialise gitosis with your public key gitosis-init < $HOME/id_rsa.pub
Once you're done with these, follow the second half of this excellent gitosis introduction to get started hosting your repositories on Dreamhost!
Image courtesy of Patrick Havens.