在Debian Apache2/FastCGI下配置Trac
前提是已经安装好Python,Apache2,SubVersion和FastCGI,如果没有配置好,请参照 Debian/etch下为Apache2配置FastCGI(mod-fcgid),PHP5,Perl,Python
或者直接安装这些模块
apt-get install apache2 python python-clearsilver subversion python-subversion libapache2-mod-fcgid libsqlite3-0 python-pysqlite2 enscript python-setuptools python-docutils
0.安装trac和libapache2-svn
$ apt-get install libapache2-svn先让你的SubVersion跑起来
$ apt-get install trac
如果不先为你的代码建立一个代码仓库(repository),是不能安装Trac的
推荐用--fs-type fsfs这个参数:
svnadmin create /var/lib/svn --fs-type fsfs
这样就告诉SubVersion将repository database建立在FSFS文件系统上
因为 如果svnserver同Apache服务器一起使用的话,Berkeley DB文件系统有一些烦人锁闭问题
1.建立一个subversion项目到/var/lib/svn(这个目录组织方式,是符合FHS规范的,也是libapache2-svn模块默认的仓库位置)
$ mkdir /var/lib/svn
$ mkdir /tmp/webftp
$ mkdir /tmp/webftp/branches
$ mkdir /tmp/webftp/tags
$ mkdir /tmp/webftp/trunk
$ svnadmin create /var/lib/svn --fs-type fsfs
$ svn import /tmp/webftp file:///var/lib/svn/webftp -m "initial import"
$ rm -rf /tmp/webftp
(上面假设我的第一个项目叫webftp)
2.检查Apache模块是否启用安装libapache2-mod后, /etc/apache2/mods-available/dav_svn.conf等几个配置文件就会出现
一般也应该enable了,如果你看不到/etc/apache2/mods-enabled/dav_svn.conf的话,才需要运行下面的命令 $ a2enmod dav
$ a2enmod dav_fs
$ a2enmod dav_svn
3. 虚拟主机目录
你还需要修改 dav_svn.conf,将下面这些行前的注释去掉 ,使之类似于
<Location /svn>4.为代码仓库(repository)修正文件权限, 将仓库的写权限赋给 WWW server
DAV svn
SVNPath /var/lib/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
# find /var/lib/svn -type f -exec chmod 660 {} \;
# find /var/lib/svn -type d -exec chmod 2770 {} \;
# chown -R root.www-data /var/lib/svn
5.添加SubVersion 用户。注意:建立第1个用户与添加后续用户的命令是不一样的cd /etc/apache2因为首先必须创建一个access文件才行
htpasswd2 -c dav_svn.passwd user1 (会提示你设置密码)
htpasswd2 dav_svn.passwd user2 (会提示你设置密码)
htpasswd2 -c /etc/apache2/dav_svn.passwd user1也可这样为用户dwhedon添加授权,这是debian介绍的方法
# rm -f /etc/apache2/dav_svn.passwd
# htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
New password:
Re-type new password:
Adding password for user dwhedon
7.重启Apache2.
访问 http://projects.upsdn.net/svn/project
看看是否有一个空的工程
可以开始配置你的Trac了
Trac必须使用SubVersion中的SWIG绑定,而不是PySVN
1.安装到 /var/lib/trac 目录,不使用mod_python扩展
安装trac环境
$ trac-admin /var/lib/trac 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
运行trac-admin命令建立trac环境时,会提示你输入 项目的名称, trac环境的路径,trac模板的路径
存在的源码仓库(source code repository)的类型和路径
如果你不能确定,就留空好了,它会使用默认值,并且这些配置以后都可以编辑<projectenv>/conf/trac.ini(/etc/trac.ini)配置文件来改变
一般项目名称可任意,源码仓库就根据上面的安装填/var/lib/svn(如果将repository留空,那么版本控制功能是不能使用的)
模板的路径用默认的
如果你使用SQLite数据库,还需要一个数据库连接字符串,比如
sqlite:db/trac.db
2.编辑/etc/apache2/sites-available/default
DefaultInitEnv
Alias /trac "/usr/share/trac/htdocs"
ScriptAlias /proj /usr/share/trac/cgi-bin/trac.cgi
DefaultInitEnv TRAC_ENV "/var/trac/project"
<Directory "/usr/share/trac/htdocs">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
# You need something like this to authenticate users
<Location "/proj/login">
AuthType Basic
AuthName "project"
AuthUserFile /etc/apache2/dav_svn.htpasswd
Require valid-user
</Location>
/etc/apache2/svn.passwd 这个文件让trac和svn使用同样的帐号和密码3.如果设置为
/etc/trac/trac.htpasswd
可使用不同的帐号密码$ cd /etc/trac
$ htpasswd2 -c trac.htpasswd user1 (你将提示输入密码)
$ htpasswd2 trac.htpasswd bar user2 (你将提示输入密码)
$ apache2 -k restart
好了,检查trac是否已经正常工作了
http://projetcts.upsdn.net/proj/
注意:
安装后,如果你使用apt升级了trac
需要以root运行
trac-admin /var/lib/trac upgrade
来升级数据库
作者:Gavin.Shaw 更新日期:2006-10-08
来源:upsdn.net
浏览次数:
相关文章
相关评论 发表评论
- No Comments