Redmine is a popular choice for project management software. It allows you to create tickets ("Issues") to keep track of which bugs or features you need to work on. These can be scheduled for completion, assigned to users, given a priority, and so on. Pretty useful stuff. I've been using Unfuddle, which has been great, but it's limited to just 2 free users and I don't like paying for software, so here goes!
I just got the following Redmine config instructions to work on both Debian and Ubuntu. On other distros, YMMV.
It'd be nice to use rvm, but I couldn't get that to work
at all. Others have reported this problem as well. So, to install Redmine and all depencies...
From the Command Line
sudo apt-get install rubygems
sudo gem install rails -v=2.3.11
sudo apt-get install rake
sudo gem install i18n -v=0.4.2
sudo apt-get install ruby1.8-dev
sudo gem install mysql
sudo apt-get install mysql-server mysql-client # Remember the password you enter here, such as 'MYSQLROOTSECRET'
sudo apt-get install mercurial
cd ~
cd redmine-1.2/
cp config/database.yml.example config/database.yml
cp config/environment.yml.example config/environment.yml
From your favorite text editor (emacs or vi for pros, nano for n00bs)
1. Edit config/database.yml to begin with something like this (in the MySQL section at the top):
production:
adapter: mysql
database: redmine
host: localhost
username: redmine
password: MYSQLSECRET
encoding: utf8
development:
adapter: mysql
database: redmine_development
host: localhost
username: redmine
password: MYSQLSECRET
encoding: utf8
2. Edit config/environment.rb to begin with something like the following (it'll be a bit different if you're not using Gmail):
default:
email_delivery:
delivery_method: :smtp
smtp_settings:
tls: true
port: 587
authentication: :plain
password: "GMAILSECRET"
From the MySQL shell (after running mysql -uroot -p to get there from the command line, where your password may be 'MYSQLROOTSECRET')
create user 'redmine'@'localhost' identified by 'MYSQLSECRET';
create database redmine character set utf8;
create database redmine_development character set utf8;
grant all privileges on redmine.* to 'redmine'@'localhost';
grant all privileges on redmine_development.* to 'redmine'@'localhost';
Finally...
At this point you've installed all the necessary Ruby/Rails-related packages, created a MySQL user and databases for Redmine, and told Redmine your Gmail credentials for email notifications (meaning you'll be notified when there's relevant Redmine activity -- very handy). What's left is to populate the MySQL databases, tell Redmine to use the default configuration, and install a gem necessary to send emails from Gmail.
From ~/redmine-1.2/, run the following commands:
rake db:migrate RAILS_ENV=production
rake config/initializers/session_store.rb
RAILS_ENV=production rake redmine:load_default_data
If that all worked, you should be good to go! Run
ruby script/server webrick -e production -p 3000
to tell Redmine to start listening on port 3000, for example. Now go to
http://your_ip_or_domain_name.com:3000 and start using Redmine! (Look elsewhere for details regarding interfacing Redmine with Apache; I'm about to do that myself...)
A Few Final Tips
1. Log in with username admin, password admin
2. Immediately change the admin's password to a non-default, and email address
3. Create a user account
5. If you want to keep running Redmine on port 3000 but think it's ridiculous you have to be SSH'd in just to keep it running, run the following commands to launch Redmine from within a screen session --
sudo apt-get install screen
screen -S redmine
ruby script/server webrick -e production -p 3000
Now you can press ctrl-a d to detach from the screen session. You can run screen -x redmine to re-attach at any time, even after you've logged out and logged back in -- it'll keep running!
That's all for now, folks. Happy hacking!
--Steve / elimisteve