Installing and Running Trac on Gentoo
Trac is included in Gentoo portage as of 2004/04/29. Installing is as simple as:
Past that, normal Trac configuration should apply. For the instructions below, read the generic TracInstall instructions about the recommended versions of the dependent packages.
A nice guide to setting up Trac on Gentoo here.
There were a couple of things that were required to make Trac on Gentoo work:
- Make sure your berkdb and Python use flags are set.
- If you have any trouble, go down to the bottom and start emerging components this is how I figured out that the svn bindings for Python weren't building, etc. Be sure to run the Python update script if needed.
- Once built, your alias for /trac will be different from the TracInstall doc. It will look something like this:
Alias /trac "/var/www/yourdomainhere/htdocs/trac/"
This makes Trac all pretty, like you're used to seeing! Otherwise it's got essentially no layout.
Install Trac from Source
Of course if you already don't have it there, add to your make.conf:
So, from scratch, add the above to your make.conf and:
mkdir /usr/local/portage/ mkdir /usr/local/portage/www-apps cd /usr/local/portage/www-apps wget http://projects.edgewall.com/trac/attachment/wiki/TracOnGentoo/trac-svn-1.tar tar xvf trac-svn-1.tar rm trac-svn-1.tar mkdir /usr/local/portage/dev-python cd /usr/local/portage/dev-python wget http://projects.edgewall.com/trac/attachment/wiki/TracOnGentoo/pysqlite-2.3.2.tar tar xvf pysqlite-2.3.2.tar rm pysqlite-2.3.2.tar
To build from what Gentoo provides, although I havent tested like this, simply do:
emerge trac-svn -va
If you want to be on the edge like me:
echo =www-apps/trac-svn-1-r1 ~x86 >> /etc/portage/package.keywords echo =dev-python/pysqlite-1.1.6 ~x86 >> /etc/portage/package.keywords echo =dev-lang/swig-1.3.24 ~x86 >> /etc/portage/package.keywords echo =dev-lang/swig-1.3.24 >> /etc/portage/package.unmask echo =dev-util/subversion-1.2.1 ~x86 >> /etc/portage/package.keywords
And you'll probably will also need to do the following:
echo =net-www/apache-2.0.54-r13 ~x86 >> /etc/portage/package.keywords echo =net-www/gentoo-webroot-default-0.2 ~x86 >> /etc/portage/package.keywords echo =dev-libs/apr-0.9.6-r3 ~x86 >> /etc/portage/package.keywords echo =dev-libs/apr-util-0.9.6-r2 ~x86 >> /etc/portage/package.keywords
Note: portage will complain, because this is NOT the right way to do it! You need to use the newer method to unmask masked packages. Please see http://gentoo-wiki.com/Masked for the right way to do this.
These are the ebuilds you can use:
dev-lang/python-2.3.5 dev-lang/swig-1.3.24 dev-util/subversion-1.2.1 dev-db/sqlite-3.2.1-r3 dev-python/pysqlite-2.3.2 [cutom ebuild - see attached] dev-libs/clearsilver-0.9.7 dev-python/docutils-0.3.5 app-text/silvercity-0.9.5-r1
My two cents, 2006-02-24
(I'm fairly good with Gentoo).
I'm not sure berkdb needs to be set as mentioned above by another user. You do need to choose between SQLite and Postgresql though. Newer ebuilds don't assume SQLite. It may be a good idea to set this in /etc/portage/package.use, such as:
www-apps/trac enscript silvercity sqlite vhosts
There may be some instructions in the output from the ebuilds along the way. For instance, you may get this while emerging webapp-config:
* Now that you have upgraded webapp-config, you **must** update your * config files in /etc/vhosts/webapp-config before you emerge any * packages that use webapp-config.
And later, while emerging Trac itself, I got this message because I enabled the vhosts USE flag:
* The 'vhosts' USE flag is switched ON * This means that Portage will not automatically run webapp-config to * complete the installation. * * To install trac-0.9.3 into a virtual host, run the following command: * * webapp-config -I -h <host> -d trac trac 0.9.3 * * For more details, see the webapp-config(8) man page
If you do not want Trac installed into a virtual host, you can remove the 'vhosts' USE flag, and the installation will continue through installing it at /trac on the default host:
* vhosts USE flag not set - auto-installing using webapp-config * This is an installation * trac-0.9.3 is not installed - using install mode * Running //usr/sbin/webapp-config -I -h localhost -u root -d /trac trac 0.9.3 * Creating required directories * Linking in required files * This can take several minutes for larger apps * trac-0.9.3 does not install any files from * /usr/share/webapps/trac/0.9.3/htdocs * trac-0.9.3 does not install any files from * /usr/share/webapps/trac/0.9.3/hostroot * Files and directories installed
Personal use, 2010/08
For Trac-0.12 no Postgres/MySQL, SQLite used:
# emerge -vu apache mod_python trac # webapp-config -I -h localhost -d /trac trac 0.12 # vim /etc/conf.d/apache2 # APACHE2_OPTS += "-D PYTHON" # trac-admin /var/lib/trac/my_trac initenv # echo \ '<LocationMatch "/my_trac"> SetEnv PYTHON_EGG_CACHE /var/lib/trac/egg-cache SetHandler mod_python PythonHandler trac.web.modpython_frontend PythonOption TracEnv /var/lib/trac/my_trac PythonOption TracUriRoot /trac/ </LocationMatch> <Location /my_trac/login> AuthType Basic AuthName "my_trac" AuthUserFile /var/lib/trac/my_trac/.htpasswd Require valid-user </Location> ' >> /etc/apache2/vhosts.d/default_vhost.include #htpasswd /var/lib/trac/my_trac/.htpasswd #chown -R apache:apache /var/lib/trac/* #/etc/init.d/apache2 restart firefox http://127.0.0.1/my_trac