免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 10688 | 回复: 15
打印 上一主题 下一主题

[FreeBSD] SVN简明实施指南[SVN On Apache With Trac] [复制链接]

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-16 22:55 |只看该作者 |倒序浏览
[FreeBSD] SVN简明实施指南[SVN On Apache With Trac]

提前声明:参考各软件官方网站以及众多网页的资料,深表感谢,不一一列出,请见谅!

目的:构建一个通过Apache的DAV扩展实现的SVN版本控制系统,支持Trac在线管理,以及简单的SVN操作
演示:http://trac.edgewall.org/(此处仅仅展示Trac在WEB体现的效果)

项目名称:test
项目目录:/home/www/svn/repository/test
管理用户:admin(读写)
测试用户:test(只读)

一、安装 Apache:
cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db42 install clean;rehash
# SVN 会使用到 bdb4, 所以 apache 在此要一起装起来
# /etc/rc.conf加入apache22_enable=YES

二、安装mod_python
cd /usr/ports/www/mod_python3
make install clean;rehash

三、安装 Subversion
cd /usr/ports/devel/subversion
make WITH_SVNSERVE_WRAPPER=yes WITH_MOD_DAV_SVN=yes WITH_APACHE2_APR=yes install clean ;rehash
# 让 svn 支持 apache22 的 DAV_MODULES

四、安装 Trac
cd /usr/ports/www/trac
make install clean;rehash
cd /usr/ports/www/trac-webadmin/;make install clean;rehash
cd /usr/ports/www/trac-accountmanager;make install clean;rehash

五、初始目录设置:
# 设定 SVN 基本环境目录
mkdir -p /home/www/svn/repository/test                      # 路径自行决定后再更改即可
svnadmin create --fs-type bdb /home/www/svn/repository/test # svn 初始化
chown -R www:www /home/www/svn/repository

# 设定 Trac 基本环境目录
mkdir -p /home/www/trac/test/
trac-admin /home/www/trac/test initenv
chown -R www:www /home/www/trac

六、建立帐号和权限:
htpasswd -cm /etc/svn-auth-file admin           # 建立SVN帐号
htpasswd -m  /etc/svn-auth-file test            # 第二个以后的帐号记得不要 -c
htpasswd -D /etc/svn-auth-file username         # 删除用户

#/etc/svn-access-file:                         # 建立 SVN 权限控制文件
[/]
* = r

[test]
admin = rw
test = r


七、配置:
#/usr/local/etc/apache22/httpd.conf      # 设定 apache Auth 和 DAV
LoadModule authn_file_module libexec/apache22/mod_authn_file.so
LoadModule authn_default_module libexec/apache22/mod_authn_default.so
LoadModule authz_host_module libexec/apache22/mod_authz_host.so
LoadModule authz_user_module libexec/apache22/mod_authz_user.so
LoadModule authz_default_module libexec/apache22/mod_authz_default.so
LoadModule auth_basic_module libexec/apache22/mod_auth_basic.so

LoadModule dav_module         libexec/apache22/mod_dav.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule dav_svn_module     libexec/apache22/mod_dav_svn.so
LoadModule authz_svn_module   libexec/apache22/mod_authz_svn.so

#/usr/local/etc/apache22/Includes/svn.conf      # 设定SVN@Apache
<Location /svn>
    DAV svn
#   SVNPath /home/www/svn/repository/test
    SVNListParentPath On
    SVNParentPath /home/www/svn/repository
    AuthType Basic
    AuthName "Feloo Subversion Repository"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
    AuthzSVNAccessFile /etc/svn-access-file
</Location>
                                       
#/usr/local/etc/apache22/Includes/trac.conf     # 设定Trac@Apache
LoadModule python_module libexec/apache22/mod_python.so
<Location /trac>
    SetHandler mod_python
    PythonHandler trac.web.modpython_frontend
    PythonOption TracEnv /home/www/trac/test
    PythonOption TracUriRoot /trac
</Location>
<Location /trac/login>
    AuthType Basic
    AuthName "Feloo Trac Projects"
    AuthUserFile /etc/svn-auth-file
    Require valid-user
</Location>

#/home/www/trac/test/conf/trac.ini
default_charset = gbk
[components]
acct_mgr.* = enabled
webadmin.* = enabled

七、测试:
1. Trac
trac-admin /home/www/trac/test permission add admin TRAC_ADMIN
tracd --port 8000 /home/www/trac/test
lynx http://ip:8000
中止

2. svn
svn import 本地目录 http://ip/svn/test -m "测试"

3. http
http://ip/svn/
http://ip/trac/    admin登陆设置Accounts: Configuration:HtPasswdStore:/etc/svn-auth-file

八、SVN基础操作:
1. 检出项目作为自己的开发副本 【检出】
目的:将服务器的项目文件拷贝到本地
命令:svn checkout http://server/svn/test/
例如:svn checkout http://ip/svn/test/

2. 更新 【更新】
目的:将服务器上更新的内容同步到本地
命令:svn update
说明:执行后,相关的状态如下:
U 更新成功
A 新增内容
D 已删除内容
R 内容被删除后重新添加过
G 合并服务器和本地更新的内容
C 服务器和本地更新不能自动合并,需要手工处理

3. 修改 【本地文件操作】【添加】【修改】
目的:对本地项目做出一定的修改,再commit时提交到服务端操作
命令:svn add|delete|copy|move 文件1 [文件2]

4. 检查修改 【检查更新】【差异】【还原】
目的:检查本地修改和服务器的差异
命令:
状态报告:svn status [文件] [-v]
差异对比:svn diff [文件]
还原内容:svn revert [文件]

5. 解决冲突【已解决的】
更新:svn update
文件名.mine
文件名.r上一版本号
文件名.r最新版本号
修改完成以后:
解决冲突:svn resolved 文件

6. 提交修改 【提交】
svn commit -m "更新说明"

九、附加信息:
SVN官站:
http://subversion.tigris.org/
SVN中文手册:
http://svnbook.red-bean.com/index.zh.html

TRAC官站
http://trac.edgewall.org/

SVN简介:
http://www.ibm.com/developerworks/cn/java/j-subversion/

TortoiseSVN官站:(Windows系统的与Explorer完美结合的svn客户端工具)
http://tortoisesvn.tigris.org/
TortoiseSVN中文手册:
http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html

其他信息:
http://www.baidu.com/s?wd=svn
http://www.google.cn/search?q=svn
http://search.cn.yahoo.com/search?p=svn
http://search.chinaunix.net/?q=svn
http://bbs.chinaunix.net/forumdisplay.php?fid=99

[ 本帖最后由 HonestQiao 于 2007-10-18 09:47 编辑 ]

评分

参与人数 1可用积分 +3 收起 理由
大大狗 + 3 感谢分享

查看全部评分

论坛徽章:
0
2 [报告]
发表于 2007-10-17 08:54 |只看该作者
还不错

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
3 [报告]
发表于 2007-10-17 09:43 |只看该作者
原帖由 LnBSD 于 2007-10-17 08:54 发表
还不错


哈哈,SVN不错,不过用好还在于人。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2007-10-17 09:49 |只看该作者
win下的已经弄过了 BSD 下的还没试过 有时间试试

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
5 [报告]
发表于 2007-10-17 10:14 |只看该作者
原帖由 大大狗 于 2007-10-17 09:49 发表
win下的已经弄过了 BSD 下的还没试过 有时间试试


通过Trac在线管理更直观,什么人,在什么时候,做了什么,具体改变是什么?他今天和昨天都做了什么?上个月到今天呢?

一切都可以一目了然,在线查看。

贴图抓自官方网站,抱歉,我没有抓取我这边实际的,但是效果是同样的。

Snap1.png (9.56 KB, 下载次数: 90)

Snap1.png

Snap2.png (14.65 KB, 下载次数: 96)

Snap2.png

Snap3.png (14.04 KB, 下载次数: 97)

Snap3.png

Snap4.png (20.05 KB, 下载次数: 101)

Snap4.png

论坛徽章:
0
6 [报告]
发表于 2007-10-17 10:37 |只看该作者
正可口,谢谢~~

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2007-10-17 10:55 |只看该作者
原帖由 HonestQiao 于 2007-10-17 10:14 发表


通过Trac在线管理更直观,什么人,在什么时候,做了什么,具体改变是什么?他今天和昨天都做了什么?上个月到今天呢?

一切都可以一目了然,在线查看。

贴图抓自官方网站,抱歉,我没有抓取我这边实际 ...

噢 功能实用 方便:wink:

论坛徽章:
0
8 [报告]
发表于 2007-10-17 17:30 |只看该作者
正在尝试在dreamhost的服务器上面安装,成功后发出来与大家分享。

论坛徽章:
0
9 [报告]
发表于 2007-10-17 21:20 |只看该作者
唉,总是那么恰到好处。。。

正想实践实践trac

论坛徽章:
1
技术图书徽章
日期:2013-12-05 23:25:45
10 [报告]
发表于 2007-10-18 09:49 |只看该作者
原帖由 pilgrim_kevin 于 2007-10-17 21:20 发表
唉,总是那么恰到好处。。。

正想实践实践trac


修正:

七、测试:
1. Trac
tracd --port 8000 /home/www/trac/test
lynx http://ip:8000
中止

修正为:
七、测试:
1. Trac
trac-admin /home/www/trac/test permission add admin TRAC_ADMIN
tracd --port 8000 /home/www/trac/test
lynx http://ip:8000
中止


修正部分说明:(上次做笔记时忘记这条啦)
给admin用户设置trac的WEBADMIN权限。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP