Create Ticket
Warning Can't synchronize with repository "(default)" (/x1/svn/asf/bloodhound does not appear to be a Subversion repository.). Look in the Trac log for more information.
Last modified 3 years ago Last modified on Jan 8, 2014 4:45:44 PM

Overview of Manual Installation

Note As of this writing the normal BloodhoundInstall page seems to actually be more detailed. You may want to start there...

The following table describes steps to install bloodhound with (at least) the following assumptions:

  • Ubuntu 11.10
  • Python already installed
  • Required database installed (not the python bindings)
  • Database user and database created (not for SQLite) and
    • the database will be on localhost (default port)
    • db user is user; db user's password is pass; database name is dbname

Note that these instructions differ slightly from configuration generated by using the script in paths to the base.ini and bloodhound.htdigest files.

Step Description Common Steps Optional (recommended) Steps
Get installer files
svn co bloodhound
cd bloodhound/installer
install pip
sudo apt-get install python-pip
install virtualenv
sudo apt-get install python-virtualenv
create and activate
virtualenv bloodhound
source bloodhound/bin/activate
commands from now on should be run in the active env - the next step will require running with sudo if you did not create and activate a virtualenv
install reqs
pip install -r requirements-dev.txt
create environments dir
mkdir -p bloodhound/environments/
cd bloodhound/environments/
create htdigest
python ../../ --user=admin --password=adminpasswd --realm=bloodhound -f bloodhound.htdigest
add a base config
nano base.ini

In base.ini save the following (replacing each /path/to with the real path):

account_changes_notify_addresses =
authentication_url =
db_htdigest_realm =
force_passwd_change = true
hash_method = HtDigestHashMethod
htdigest_file = /path/to/bloodhound/environments/bloodhound.htdigest
htdigest_realm = bloodhound
htpasswd_file =
htpasswd_hash_type = crypt
password_file = /path/to/bloodhound/environments/bloodhound.htdigest
password_store = HtDigestStore
persistent_sessions = False
refresh_passwd = False
user_lock_max_time = 0
verify_email = True

acct_mgr.admin.*= enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.guard.accountguard = enabled
acct_mgr.htfile.htdigeststore = enabled
acct_mgr.web_ui.accountmodule = enabled
acct_mgr.web_ui.loginmodule = enabled
bhtheme.* = enabled
bhdashboard.* = enabled
multiproduct.* = enabled
themeengine.* = enabled = disabled
trac.ticket.web_ui.ticketmodule = disabled
trac.web.auth.loginmodule = disabled

src =

browser.label = Source
roadmap = disabled
timeline = disabled
tickets.label = Tickets

theme = bloodhound

mainnav = dashboard,wiki,browser,tickets,newticket,timeline,roadmap,search,admin

The double specification of htdigest_file and password_file is because of differences between versions of the account manager plugin.

Continue with the following table that shows the completion of the installation for a few databases types.

Step Description Common Steps PostgreSQL Only SQLite Only MySQL Only
install db bindings
sudo apt-get install python-psycopg2

or in a virtualenv:

pip install psycopg2
sudo apt-get install python-mysqldb
export DBSTRING=[db specific string ->]
postgres://user:pass@localhost:5432/dbname sqlite:db/trac.db mysql://user:pass@localhost/dbname
initialise, upgrade, set permissions
cd path/to/bloodhound/environments
trac-admin main initenv ProjectName $DBSTRING --inherit=path/to/base.ini
trac-admin main upgrade
trac-admin main wiki upgrade
trac-admin main permission add admin TRAC_ADMIN

Now it should be possible to start bloodhound with:

tracd --port=8000 main

and login from http://localhost:8000/main/login

Also note that if you are starting from a new shell session, if you are using virtualenv you should:

source path/to/bloodhound/bin/activate
tracd --port=8000 path/to/bloodhound/environments/main