I host Dawsoning at Mosso on an Ubuntu cloud server. If you don't mind doing a little server maintenance, it is, in my opinion, the best way to host your Django project. (And if you do mind server maintenance, check out Web Faction.)
I just managed to successfully upgrade an Ubuntu Intrepid server configured for Django to Ubuntu Feisty. Since you're here, you're probably trying to do something similar, so I hope these instructions help. My initial build more or less followed these instructions. You may want to check and see how closely your build matches mine before proceeding.
Your first task is upgrading the server. (All performed as root.)
- sed -e 's/\intrepid/ jaunty/g' -i /etc/apt/sources.list
- apt-get update
- apt-get dist-upgrade
The next part was tougher to figure out. It turns out that Ubuntu Jaunty ships with Python 2.6 as the default Python version. Python 2.6 has changed the site-packages directory (/usr/lib/python2.5/site-packages) to dist-packages (/usr/lib/python2.6/dist-packages). It's a sensible name change, so I'm not complaining.
I had a lot of stuff in site-packages – including my Django core files – so rather than symlink everything therein, I just deleted the bits already in the dist-packages directory and moved the contents of site-packages over. So:
- sudo mv /usr/lib/python2.5/site-packages/* /usr/lib/python2.6/dist-packages
You've probably also symlinked the admin media from your Django install into your project, so be sure to delete and recreate that link. For me, that process looked like this:
- sudo rm /home/dawsoning/public_html/static.dawsoning.com/admin
- sudo ln -s /usr/lib/python2.6/dist-packages/django/contrib/admin/media /home/dawsoning/public_html/static.dawsoning.com/admin