linux(centeros)svn的安装

SVN

linux搭建svn服务器
参考:http://www.cnblogs.com/chaichuan/p/3758173.html
Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理随着时间改变的数据。 这些数据放置在一个中央资料档案库 (repository) 中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变更。 这样你就能够把档案恢复到旧的版本, 或是浏览文件的变更历史。html


SVN中的一些概念

(1). repository(源代码库)

       源代码统一存放的地方

(2). Checkout (提取)

       下载代码,客户端经过checkout从服务器(Subversion)端下载源代码

(3). Commit (提交)

       从服务器下载的代码,若是作了变动则须要提交到服务器端

(4). Update (更新)

       本地已经checkout了一份代码,若是别人对代码作了更改而且已经提交,那么update能够更新别人更改后的代码,通常在提交代码前都须要更新一下代码,防止本身的代码覆盖了别人更改了的代码
       
SVN管理源代码是以行为单位的,若是两个程序员修改的不是同一行代码,SVN都会自动合并两种修改。若是是同一行,SVN会提示文件Confict, 冲突,若是发生冲突则须要手动的解决冲突,切不可直接提交。


windows经常使用的客户端软件:TortoiseSVN

SVN 服务器搭建(centeros linux)linux

yum install -y subversion

或者程序员

yum -y install svn

验证是否安装成功apache

svnserve --version

建立SVN 版本库windows

mkdir svn
svnadmin create svn/rep01

rep01为版本库的名称,rep01的结构以下 bash

$ ls svn/rep01/
conf  db  format  hooks  locks  README.txt

svn配置文件服务器

$ ls svn/rep01/conf/
authz  passwd  svnserve.conf

(1)svnserve.conf:  svn服务配置文件下。
(2)passwd: 用户名口令文件。
(3)authz: 权限配置文件。

svnserve.conf 文件, 该文件配置项分为如下5项:
anon-access: 控制非鉴权用户访问版本库的权限。
auth-access:  控制鉴权用户访问版本库的权限。
password-db: 指定用户名口令文件名。取消注释使用默认文件,也就是conf同级的那个passwd文件,取消注释前面不能有任何空格,否则会报错
authz-db:指定权限配置文件名,经过该文件能够实现以路径为基础的访问控制。取消注释使用默认文件,也就是conf同级的那个authz文件,取消注释前面不能有任何空格,否则会报错
realm:指定版本库的认证域,即在登陆时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

当指定 password-db 和  authz-db 时链接svn才提示输入密码
       
passwd文件svn

[users]
# harry = harryssecret
# sally = sallyssecret    

username = password

#表明注释
authz文件测试

[aliases]  #在这个组下面定义别名
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]  #定义组的概念,好比harry,sally是一组
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe

# [/foo/bar] #指定配置库
# harry = rw # 用户harry有读写权限
# &joe = r # &joe表明别名joe
# * =

# [repository:/baz/fuz] #指定配置库 repository配置库名称  /baz/fuz配置库repository下的路径
# @harry_and_sally = rw  # @harry_and_sally表明组harry_and_sally
# * = r    # *通配符,表明全部人  $anonymous 匿名用户  $authenticated非匿名用户

启动和中止SVN服务

启动SVN服务:ui

svnserve -d -r svn/rep01

-d表示后台运行
-r 指定配置库路径

命令行测试

mkdir test
cd  test
svn co svn://localhost/rep01


中止SVN服务:

ps -aux | grep svn
kill -9 进程杀掉

或者

 killall svnserve

注意以下配置

[/]
* = rw

[rep01:/]
test = rw

则启动配置库的时候须要svnserve -d -r svn,否则会找不到配置库rep01

客户端链接SVN 服务器
地址:svn://ip/repository  如:svn://192.168.19.100/rep01

http访问svn

参考:http://www.cnblogs.com/ayanmw/archive/2011/12/19/2294054.html

安装apache相关组件

yum -y install mod_dav_svn httpd 

/etc/httpd/conf.d/目录下会存在文件subversion.conf,其配置内容以下

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be both:
#
#   a) readable and writable by the 'apache' user, and
#
#   b) labelled with the 'httpd_sys_content_t' context if using
#   SELinux
#

#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff   
#   # chown -R apache.apache stuff
#   # chcon -R -t httpd_sys_content_t stuff
#

#<Location /repos>
#   DAV svn
#   SVNParentPath /var/www/svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
#</Location>  

<Location /repos>:/repos为虚拟目录,对应SVNParentPath指定的实际目录

AuthUserFile:指定用户名密码文件,该文件使用htpasswd命令建立

SVNParentPath:指定了SVN配置库的父目录

AuthUserFile 用户添加

htpasswd -h查看命令帮助
第一次添加用户 

htpasswd -c passwd test

passwd:文件的名称
test:用户名
再次添加用户

htpasswd  passwd test

启动apache服务

sudo service httpd restart 

注意修改配置库目录的权限,否则会一直报权限问题的

chown -R apache:apache rep01   
chcon -R -t httpd_sys_content_t rep01 

 此刻就可使用http://localhost/repos/stuff   repos为映射的虚拟路径,stuff为配置库

相关文章
相关标签/搜索