Chinaunix首页 | 论坛 | 博客
  • 博客访问: 410520
  • 博文数量: 59
  • 博客积分: 1510
  • 博客等级: 上尉
  • 技术积分: 857
  • 用 户 组: 普通用户
  • 注册时间: 2009-06-03 11:50
文章分类

全部博文(59)

文章存档

2011年(1)

2010年(36)

2009年(22)

我的朋友

分类: 嵌入式

2009-10-29 11:11:45

Subversion是一个非常优秀的源代码管理控制系统,它的支持独立启动使用和结合Apache使用两种服务方式。
 
一、安装Subversion
1.从 下载最新版本的安装程序
2.如果是Windows平台,直接运行Exe的安装程序即可
3.如果是一般的Linux平台:
   1)执行 -zxvf subversion.xxx.tar.gz进行解压
   2)执行cd subversion.xxx切换到解压后的目录
   3)执行./configure --prefix=/opt/subversion进行配置设定,并指明安装目录
   4)执行make进行编译
   5)执行make install 进行安装
4.如果是Fedora Linux,可以直接执行yum install subversion进行自动安装(Fedora7以上的版本已自带
5.如果是Ubuntu Linux,可以直接执行sudo apt-get install subversion进行自动安装
 
二、安装Apache
1.从 下载最新版本的安装程序
2.如果是Windows平台,直接运行安装程序
3.如果是一般的Linux平台:
   1)执行tar -zxvf httpd.xxx.tar.gz进行解压
   2)执行cd httpd.xxx切换到解压后的目录
   3)执行./configure --prefix=/opt/httpd进行配置设定,并指明安装目录
   4)执行make进行编译
   5)执行make install 进行安装
4.如果是Fedora Linux,可以直接执行yum install httpd进行自动安装(Fedora7以上的版本已自带
5.如果是Ubuntu Linux,可以直接执行sudo apt-get install apache2进行自动安装
 
三、创建数据仓库
1.执行mkdir /var/gftech/subversion/repos创建数据仓库的目录
2.执行svnadmin create /var/gftech/subversion/repos创建数据仓库,将自动生成几个文件和目录:
   /conf
   /db
   /hooks
   ...
 
四、独立启动方式
独立启动方式是做为一个单独的服务程序,默认情况下通过本地端口3690来对外提供服务。
 
启动步骤:
1.执行svnserve -d -r /var/gftech/subversion/repos以Daemon方式运行,默认情况下匿名访问
2.在Fedora中,可以用chkconfig把Subversion做一个服务程序,随系统自动启动:
   1)以root帐号登录
   2)执行cd /etc/rc.d/init.d切换到服务程序所在目录
   3)执行vi svnd进行文件编辑
   4)添加下面的内容到svnd文件当中:
 
   5)保存退出
   6)执行chmod a+x svnd 使之可执行
   7)执行chkconfig --add svnd添加该服务到系统当中
   8)执行chkconfig --list svnd查看该服务
   9)执行service svnd start可以启动该服务
   10)执行service svnd stop可以停止该服务
 
在进行源代码管理时,为了安全起见,需要对用户的权限进行控制,主要通过三个配置文件来实 现,svnservice.conf、passwd、authz,第一个文件指明是否需要进行访问控制以及第二、三个文件的位置,第二个文件存放用户帐号 信息,第三个文件存放用户的访问权限,具体配置如下:
1.打开svnserve.conf文件,把auth-access=write前面的#号去掉,使受权用户可以进行写操作
2.把password-db=passwd前面的#号去掉,表明密码文件为当前目录下的passwd文件
3.把auth-db=authz前面的#号去掉,表明用户访问权限文件为当前目录下的authz文件
4.打开passwd文件,在末行添加需要的帐号,比如:test=123456
5.打开authz文件,在[/]一行下面添加test=rw,表明数据仓库的根目录下的所有目录,test都可进行读写操作
6.再添加一行*=r,表明其他帐号可以进行只读操作
7.在该文件中还可以为用户分组,添加到[groups]下面,比如:admin=sinboy,others=u1,u2
8.还可以对根目录下的子目录进行具体的权限控制,只需要添加相应目录,比如:
    [/web]
    u1=rw
    *=
    表明web子目录只允许u1帐号进行读写操作,禁止其他帐号访问
 
它的缺点是:
1.对外提供服务时,有可能受到防火墙的阻隔,造成服务无法访问
2.并且它的密码文件是明文显示,没有进行MD5加密,存在安全隐患
3.只能启动一个数据仓库,如果想要创建多个数据仓库,必须启动多个svnserve服务进程
 
五、结合Apache方式
结合Apache使用的方式,克服了svnserve方式的缺点,用户可以直接通过浏览器浏览源代码,还可以对浏览器访问进行SSL加密控制,更好的提高安全性
1.Apache本身不支持SVN,需要先安装mod_dav_svn模块
2.在Fedora下,执行yum install mod_dav_svn进行自动安装
3.确保/etc/httpd/moudles目录下有mod_dav_svn.so和mod_authz_svn.so
4.打开/etc/httpd/conf/httpd.conf文件,在LoadModule dav_module modules/mod_dav.so
一行下面添加下面两行内容:
   LoadModule dav_svn_module modules/mod_dav_svn.so
   LoadModule authz_svn_module modules/mod_authz_svn.so

5.再添加如下内容:

DAV svn
SVNPath /var/gftech/subversion/repos

AuthzSVNAccessFile /var/gftech/subversion/repos/conf/access.auth
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion repositories"

AuthUserFile  /var/gftech/subversion/repos/conf/users.auth
Require valid-user
6.切换到/var/gftech/subversion/repos/conf目录下
7.执行htpasswd -cb users.auth test 123456创建帐号文件
8.再次添加用户,去掉参数c即可:htpasswd -b users.auth test2 123456
9.执行service httpd restart启动Apache
10.在浏览器中输入打开SVN仓库,输入用户名密码进行访问
 
六、SVN客户端
推荐使用
 
七、其他文章推荐
1.Apache和Subversion集成安装与配置

http://blog.csdn.net/sinboy/archive/2009/03/18/4000524.aspx
阅读(1915) | 评论(0) | 转发(0) |
0

上一篇:Linux系统中密码破解大全

下一篇:gdb调试

给主人留下些什么吧!~~