#!/bin/bash        
echo Please enter your trac username:
read USER_NAME
echo Please enter the trac project name:
read PROJECT_NAME

SVN_PROJECT=/var/svn/$PROJECT_NAME
TRAC_PROJECT=/var/www/projects/$PROJECT_NAME

echo "Creating svn project: $SVN_PROJECT" 

svnadmin create $SVN_PROJECT --fs-type fsfs
chown -R svnowner $SVN_PROJECT
chgrp -R svnowner $SVN_PROJECT
chmod 775 -R $SVN_PROJECT

echo [general] >> $SVN_PROJECT/conf/svnserve.conf
echo password-db = passwd >> $SVN_PROJECT/conf/svnserve.conf 
echo realm = escapegoat >> $SVN_PROJECT/conf/svnserve.conf

echo "SVN repo created." 
echo "Creating Trac project: $TRAC_PROJECT" 

trac-admin $TRAC_PROJECT initenv $PROJECT_NAME sqlite:db/trac.db svn $SVN_PROJECT /usr/share/trac/templates

chown -R www-data $TRAC_PROJECT/db
chown -R www-data $TRAC_PROJECT/conf/trac.ini

echo [components] >> $TRAC_PROJECT/conf/trac.ini
echo webadmin.* = enabled >> $TRAC_PROJECT/conf/trac.ini

trac-admin $TRAC_PROJECT permission add $USER_NAME TRAC_ADMIN

echo "Task complete.  You will now need to go set up the proper svn authentication at $SVN_PROJECT/conf/passwd" 

Also available in: HTML TXT