Getting Things Done in the New Year
Author: Joe Topjian <joe [at] adminspotting [dot] net>
What a better way to start the New Year off than to get organized. For those who haven't heard about the Getting Things Done
method, you should try it out. It's actually really good if you ignore the whole self-help thing about it.
Anyways, there's this really cool Rails application called Tracks
that will give you a web-based management interface for organization. Setting it up is pretty easy, and that's what I'll be going over here. I'll be using Debian Testing, but there's no reason why this wouldn't work in Stable.
First, get all the packages you need with apt:
$ apt-get install apache2
$ apt-get install mysql-server
$ apt-get install subversion-tools
$ apt-get install ruby libdbd-mysql-ruby1.8
The other packages you'll have to get manually. The first being rubygems:
$ wget http://rubyforge.org/frs/download.php/5207/rubygems-0.8.11.tgz
$ tar xzvf rubygems-0.8.11.tgz
$ cd rubygems-0.8.11
$ ruby setup.rb
Next, install rails
$ gem install rails
Choose Yes to all dependancies.
Now to get the Tracks package. Subversion is the quickest way:
$ cd /home/joe
$ svn co --username=guest \
Use guest as the password.
You can create a new domain for your site. I chose to use tracks.hemingway.com. For more information on this, follow the Debian DNS article
$ ddns.py add tracks.hemingway.com A 192.168.1.11
Next, configure a vhost for the site:
$ vi /etc/apache2/sites-available/tracks
CustomLog /var/log/apache2/tracks-access.log combined
$ a2ensite tracks
Also enable the mod-rewrite module
$ a2enmod rewrite
And restart apache
$ /etc/init.d/apache2 restart
Now for configuring MySQL. Create a new database called tracks and import the tables.
$ mysql -u root -p
mysql> create database tracks;
mysql> grant all privileges on tracks.* to someone@localhost \
identified by 'password'
$ cd /home/joe/tracks/db
$ mysql -u root -p tracks < tracks_1.0.3_mysql.sql
The final step is to configure Tracks itself.
$ cd /home/joe/tracks
$ mv log.tmpl log
$ cd config
$ cp database.yml.tmpl database.yml
$ cp settings.yml.tmpl settings.yml
For the database.yml file, you really only need the production section:
Don't forget to add the socket line. That's Debian specific.
In the settings.yml file, all you need to do is edit the email address to your own.
For the final step, go to http://yoursite/signup to create an account for yourself. The first account is the Admin account and after it's created, you'll no longer be able to go to the signup page again.
Since it's a Rails application, it's going to run pretty slow unless you do some tweaking on it. There's a ton of resources for that, so I won't cover it here.