= Trac on Ubuntu =
These instructions were tested with a fresh install of 8.04, and installs trac-0.11-rc2.
Also see TracInstallPlatforms, TracInstall, TracOnUbuntu, [https://help.ubuntu.com/community/UbuntuTracHowto Ubuntu-Trac], [wiki:0.11/TracOnUbuntuHardy hardy, cgi].
=== Installation ===
=== 1. Install Software Packages ===
To install Trac on your system, install apache, setuptools and some libraries:
{{{
sudo apt-get install apache2 libapache2-mod-python libapache2-svn python-setuptools subversion python-subversion
sudo easy_install Trac==0.11rc2
}}}
=== 2. Create the Trac Environments Directory ===
You'll need a directory for Trac's environments to live that should be writable by the default Apache user:
{{{
sudo mkdir /var/lib/trac
sudo chown www-data:www-data /var/lib/trac
}}}
=== 3. Setup Apache2 ===
Next, create a new Apache-2 virtualhost, and paste the text below into the file:
{{{
sudo vi /etc/apache2/sites-available/trac
}}}
{{{
ServerAdmin webmaster@localhost
ServerName trac.example.com
DocumentRoot /var/www
ErrorLog /var/log/apache2/error.trac.log
CustomLog /var/log/apache2/access.trac.log combined
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/lib/trac
PythonOption TracUriRoot /projects
# use the following for one authorization for all projects (names containing "-" are not detected):
AuthType Basic
AuthName "trac"
AuthUserFile /etc/apache2/dav_svn.passwd
Require valid-user
}}}
Now, disable the default virtualhost, enable the Trac virtualhost, and restart Apache2:
{{{
sudo a2dissite default
sudo a2ensite trac
sudo /etc/init.d/apache2 reload
}}}
=== 4. Creating Environments ===
I installed my Subversion repository at {{{/var/lib/svn/YourProjectNameHere}}}. So I did a quick starting config of subversion with the following commands:
{{{
sudo svnadmin create /var/lib/svn/YourProjectNameHere
}}}
Some permissions changes and an apache restart are now needed:
{{{
sudo chown -R www-data /var/lib/svn
sudo chown -R www-data /usr/share/trac
sudo apache2 -k restart
}}}
I put my trac environment at {{{/var/lib/trac/YourProjectNameHere}}}. Of course you could use any other path or name - something a little more descriptive of ''your'' project would probably be a good idea. First I ran these commands:
{{{
sudo mkdir /var/lib/trac
sudo trac-admin /var/lib/trac/YourProjectNameHere initenv
sudo chown -R www-data /var/lib/trac
}}}
The "trac-admin" command shown above prompted me to enter:
* the project name ({{{YourProjectNameHere}}})
* the path to svn repository ({{{/var/lib/svn/YourProjectNameHere}}})
... then it prints out a bunch of stuff. If there are no errors you should now be able to surf to your Trac site at '''!http://servername/'''
For more complex mod_python configs, see TracModPython
== make subversion running as well ==
You will also need to uncomment the settings in {{{/etc/apache2/mods-available/dav_svn.conf}}}
{{{
# Uncomment this to enable the repository,
DAV svn
# Set this to the path to your repository
SVNParentPath /var/lib/svn
}}}
== add some plugins to have a usable system ==
{{{
sudo mkdir /var/www/.python-eggs
sudo chown www-data /var/www/.python-eggs
sudo apt-get install build-essential graphviz
sudo easy_install http://svn.edgewall.org/repos/genshi/trunk/
sudo easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk
sudo easy_install http://trac-hacks.org/svn/customfieldadminplugin/0.11
sudo easy_install http://trac-hacks.org/svn/eclipsetracplugin/tracrpcext/0.10
sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11
sudo easy_install http://trac-hacks.org/svn/masterticketsplugin/0.11
sudo easy_install http://trac-hacks.org/svn/pagetopdfplugin/0.10/
sudo easy_install http://trac-hacks.org/svn/progressmetermacro/0.11
sudo easy_install http://trac-hacks.org/svn/ticketdeleteplugin/0.11
sudo easy_install http://trac-hacks.org/svn/tracwysiwygplugin/0.11
sudo easy_install http://wikinotification.ufsoft.org/svn/trunk
}}}
== what one should probably do different than described here ==
{{{
sudo chown www-data /etc/apache2/dav_svn.passwd
}}}