本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

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来升级数据库


阅读全文(3386) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.961 second(s), page refreshed 144765634 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号