*Before you do anything, Install Subversion*
Install Python :
$ wget http://www.python.org/ftp/python/2.5/Python-2.5.tgz $ tar xvzf Python-2.5.tgz $ cd Python-2.5 $ ./configure $ make $ sudo make install
Make sure we are using the right python executable
$ sudo rm -Rf /usr/bin/python
$ sudo ln -s /usr/local/bin/python /usr/bin/python
$ sudo /sbin/ldconfig
Install Tkl :
# wget http://jaist.dl.sourceforge.net/sourceforge/tcl/tcl8.5a5-src.tar.gz $ tar xvzf tcl8.5a5-src.tar.gz $ cd tcl8.5a5-src $ cd unix $ ./configure $ make $ sudo make install $ sudo /sbin/ldconfig
Install SQLite :
$ wget http://www.sqlite.org/sqlite-3.3.13.tar.gz $ tar xvzf sqlite-3.3.13.tar.gz $ mkdir bld $ cd bld $ ../sqlite-3.3.13/configure --prefix=/usr/local $ make $ sudo make install $ sudo /sbin/ldconfig
Install PySQLite :
$ wget http://initd.org/pub/software/pysqlite/releases/2.1/2.1.3/pysqlite-2.3.3.tar.gz $ tar xvzf pysqlite-2.3.3.tar.gz $ cd pysqlite-2.3.3 $ sudo python setup.py build $ sudo python setup.py install $ sudo /sbin/ldconfig
Install SilverCity :
$ wget http://jaist.dl.sourceforge.net/sourceforge/silvercity/SilverCity-0.9.7.tar.gz $ tar xvzf SilverCity-0.9.7.tar.gz $ cd SilverCity-0.9.7 $ python setup.py build $ sudo python setup.py install $ sudo /sbin/ldconfig
Install ClearSilver :
$ wget http://www.clearsilver.net/downloads/clearsilver-0.10.4.tar.gz $ tar xvzf clearsilver-0.10.4.tar.gz $ cd clearsilver-0.10.4 $ ./configure $ make $ sudo make install $ sudo cp python/neo_cgi.so /usr/local/lib/python2.5/site-packages/ $ sudo /sbin/ldconfig
Install Trac :
$ wget http://ftp.edgewall.com/pub/trac/trac-0.10.3.tar.gz $ tar xvzf trac-0.10.3.tar.gz $ cd trac-0.10.3 $ sudo python ./setup.py install $ sudo mkdir /home/svn/trac/my_project $ sudo trac-admin /home/svn/trac/my_project initenv Project Name [My Project]> My Project Database connection string [sqlite:db/trac.db]> (just hit enter) Path to repository [/var/svn/test]> /home/svn/repositories/my_project $ sudo chmod -R a+rw /home/svn/trac/my_project/db
Configure Apache :
Add something similar to the following to httpd.conf :
<virtualHost xxx.xxx.xxx.xxx> DocumentRoot /usr/local/apache-2.2.4/trac ServerName trac.domain.name.here RewriteEngine on RewriteRule ^/+$ /index.html [L] RewriteCond /home/svn/trac/$1 -d RewriteRule ^/([[:alnum:]_]+)(/?.*) /trac.cgi$2 [S=1,E=TRAC_ENV:/home/svn/trac/$1] RewriteRule ^/(.*) /index.html Alias /trac/ /usr/share/trac/htdocs/ #or where you installed the trac htdocs #You have to allow people to read the files in htdocs <directory "/usr/share/trac/htdocs"> Options Indexes MultiViews AllowOverride All order deny,allow Allow from all </directory> <directory "/usr/local/apache-2.2.4/trac"> AllowOverride All Options Indexes FollowSymLinks Options ExecCGI -MultiViews +SymLinksIfOwnerMatch AddHandler cgi-script .cgi order deny,allow Allow from all AuthType Basic AuthName "Private Repository" AuthUserFile /usr/local/apache-2.2.4/passwd/passwords Require valid-user </directory> <locationMatch "/[[:alnum:]_]+"> AuthType Basic AuthName "Private Repository" AuthUserFile /usr/local/apache-2.2.4/passwd/passwords Require valid-user </locationMatch> </virtualHost>
Swap the xxx.xxx.xxx.xxx with your server’s IP address, and the trac.domain.name.here with your domain. Also make sure that httpd.conf is setup to run apache as the ‘svn’ user.
If you have trouble getting the svn-python bindings to work (if this is the case you will get an unsupported repository type “svn” or something similar in trac), check the subversion Makefile and make sure the python binary and library paths are correct. I had to do the following when building subversion (after ./configure) to fix them:
sed -ri "s|PYTHON = /usr/bin/python2|PYTHON = /usr/local/bin/python|" Makefile sed -ri "s|/usr/include/python2.2|/usr/local/include/python2.5|" Makefile sed -ri "s|SVN_APR_LIBS = /usr/local/apache-2.2.4/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl|SVN_APR_LIBS = /usr/local/apache-2.2.4/lib/libapr-1.la -luuid -lrt -lcrypt -lpthread -ldl -L/usr/kerberos/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lexpat|" Makefile
The extra _SVN_APR_LIBS_ arguments (-L/usr/kerberos/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err -lexpat) were obtained using the output of :
$ /usr/local/bin/neon-config --libs
No Responses to “Installing Trac”
Leave a Reply