= Installing and Running Trac on Debian Sarge = == Running from Trunk == There is a page on running from trunk on TracOnDebianFromTrunk == Non-Default packages == Sarge users who want to track Edgewall's latest version need to add a few lines to their '''/etc/apt/sources.list''' : {{{ # Trac and clearsilver deb http://ftp.edgewall.com/pub/debian sarge trac }}} Then update APT's cache : {{{ $ apt-get update }}} Whether the above steps to get Edgewall's version instead of Debian's were followed or not, installing Trac should be as simple as installing the '''trac''' package. == Setting up Subversion and Trac == From a basic installation of Sarge, you'll need to install apache2, subversion, trac, and libapache2-svn. If you have previously installed some portion of these, adapt as needed. === Prerequisites === {{{ $ apt-get install apache2 $ apt-get install subversion $ apt-get install libapache2-svn $ apt-get install trac }}} === Getting Subversion working === To create a Subversion project at '''/var/svn/project''', issue these commands to get SVN up and running: ''Note:'' As of this writing, the default Subversion package uses the BDB filesystem; if this is acceptable, feel free to omit the extra argument to '''svnadmin create'''. {{{ $ mkdir /var/svn $ mkdir /var/svn/project $ mkdir /tmp/project $ mkdir /tmp/project/branches $ mkdir /tmp/project/tags $ mkdir /tmp/project/trunk $ svnadmin create /var/svn/project --fs-type fsfs $ svn import /tmp/project file:///var/svn/project -m "initial import" $ rm -rf /tmp/project }}} Add the following to '''/etc/apache2/sites-available/default''': {{{ #SVN dir DAV svn SVNParentPath /var/svn SVNAutoversioning on AuthType Basic AuthName "SVN - Your Project" AuthUserFile /etc/apache2/svn.passwd Require valid-user }}} Fix permissions to the repository: {{{ $ find /var/svn/project -type f -exec chmod 660 {} \; $ find /var/svn/project -type d -exec chmod 2770 {} \; $ chown -R root.www-data /var/svn/project }}} Enable installed apache modules: {{{ $ a2enmod dav $ a2enmod dav_fs }}} Add Subversion users. Note the different syntax for creating the first user from creating each additional user. {{{ cd /etc/apache2 htpasswd2 -c svn.passwd user1 (you'll be prompted for the password) htpasswd2 svn.passwd user2 (you'll be prompted for the password) }}} Restart Apache2. {{{ $ apache2 -k restart }}} Go to !http://servername.foo.com/svn/project to see the empty directories as imported. Do not move on to the next step until this works correctly! === Getting Trac running: === These instructions will install a trac environment at '''/var/trac/project''', without using the mod_python extentions. Initialize the Trac environment with the following commands: {{{ $ mkdir /var/trac $ trac-admin /var/trac/project initenv $ find /var/trac/project -type f -exec chmod 660 {} \; $ find /var/trac/project -type d -exec chmod 2770 {} \; $ chown -R root.www-data /var/trac/project }}} The '''trac-admin''' command above will prompt you to enter the project name, the path to the trac environment, and the path to the Trac templates directory; then it printed out a bunch of stuff. Next, edit '''/etc/apache2/sites-available/default'''. Comment out the existing {{{ScriptAlias}}} and {{{}}} directives. To install trac at a URL like !http://servername.foo.com/proj , add this at the end: {{{ Alias /trac "/usr/share/trac/htdocs" ScriptAlias /proj /usr/share/trac/cgi-bin/trac.cgi SetEnv TRAC_ENV "/var/trac/project" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all # You need something like this to authenticate users AuthType Basic AuthName "project" AuthUserFile /var/www/trac.htpasswd Require valid-user }}} Providing '''/etc/apache2/svn.passwd''' in the space above will allow you to use the same usernames and passwords in both Subversion and Trac. If you choose to authenticate seperately, add Trac users, and restart Apache: {{{ $ cd /var/www $ htpasswd2 -c trac.htpasswd user1 (you'll be prompted for the password) $ htpasswd2 trac.htpasswd bar user2 (you'll be prompted for the password) $ apache2 -k restart }}} Finally, test by going to !http://servername.foo.com/proj/ Note also that there is a trac 0.10.3 package for sarge at backports.org (http://www.backports.org/debian sarge-backports main) that just installed nicely for me.