Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7593768 建立时间:2006年5月29日 |

| |
[Subversion]在Debian Apache2/FastCGI下配置Trac 软件技术
lhwork 发表于 2007/1/15 16:28:36 |
前提是已经安装好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 $ apt-get install trac 先让你的SubVersion跑起来如果不先为你的代码建立一个代码仓库(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_svn3. 虚拟主机目录你还需要修改 dav_svn.conf,将下面这些行前的注释去掉 ,使之类似于<Location /svn> 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> 4.为代码仓库(repository)修正文件权限, 将仓库的写权限赋给 WWW server # 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/svn5.添加SubVersion 用户。注意:建立第1个用户与添加后续用户的命令是不一样的cd /etc/apache2 htpasswd2 -c dav_svn.passwd user1 (会提示你设置密码) htpasswd2 dav_svn.passwd user2 (会提示你设置密码) 因为首先必须创建一个access文件才行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 dwhedon7.重启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.db2.编辑/etc/apache2/sites-available/defaultDefaultInitEnvAlias /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来升级数据库 |
|
|