`

搭建SVN服务器

    博客分类:
  • Svn
svn 
阅读更多

近期实验室开了新项目,由于实验室的服务器(呵呵,其实也就是拿普通PC做的服务器)换了,所以需要重新搭建一个SVN服务器,操作系统是Ubuntu 12.04.4。

 

1. 下载安装subversion:

$ sudo apt-get install subversion

 

2. 创建svn仓库

$ sudo mkdir ~/svn

$ sudo svnadmin create ~/svn/projects

$ sudo chmod -R 777 ~/svn/projects

然后会在projects目录下生成一些文件

 

3. 设置用户、密码和权限

在projects/conf下面有三个文件:svnserve.conf 基本配置文件、passwd 用户名和密码文件、authz权限配置文件

$vim ~/svn/projects/svnserve.conf

anon-access = read 匿名用户可以看

auth-access = write 验证用户可以写

password-db = passwd 用户名、密码文件所在位置

authz-db = authz 权限配置文件所在位置

 

$vim ~/svn/projects/passwd

kobe = xxxx 设置用户名密码(竟然是明文。。。)

 

$vim ~/svn/projects/authz

[groups]

admin = kobe  把用户kobe加入admin组

 

[projects:/]

@admin = rw 表示在库projects根目录下,admin组都可以读写

*=r 表示任何用户都可以读

 

4. 启动svn服务器

$ svnserve -d -r ~/svn

-d 表示以守护进程运行

-r 指定了文件的根路径,也就是我们可以以svn://IP/projects方式访问我们的库

 

搭建Http访问

1. 安装apache2及相关软件

$ sudo apt-get install apache2

$ sudo apt-get install libapache2-svn

 

2. 创建版本仓库

同上,但要把这个目录授权给apache2读写

$sudo chown -R xxx:xxx /库目录

 

3. 修改配置

$vim /etc/apache2/mods-available/dav_svn.conf

我的配置:

<Location /svn>   //定义http访问路径

DAV svn              //启用库

SVNPath /var/www/svn/projects  //库位置

AuthType Basic                         //验证类型

AuthName 'Kobe Repository'       

AuthorUserFile "/var/www/svn/projects/conf/svn_passwd"  //用户名密码文件位置(这个是密文的,需要生成)

<IfModule mod_authz_svn.c>

 AuthzSVNAccessFile "/var/www/svn/projects/conf/authz"   //权限文件所在位置

</IfModule>

Require valid-user                                         

</Location>

 

根据上面配置需要创建访问用户

$sudo htpasswd -c /var/www/svn/projects/conf/svn_passwd kobe

输入密码:xxxx

(这个是加密的)

 

4. 重启apache

$ sudo /etc/init.d/apache2 restart

就可以在http://IP/svn访问

 

 

svn常用命令:

$svn import -m 'xxx' 库  文件    [导入项目]

$svn checkout 地址  --username xx --password xx 本地位置 [导出项目]

$svn add 文件  [添加文件]

$svn update [更新]

$svn delete [删除]

$svn move [移动]

$svn copy [拷贝,开分支的时候可以用]

$svn ci -m 'xxxx' [提交,上面的一些操作需要在提交后才能生效]

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics