SVN jsvnadmin 安装与基本使用

1. jsvnadmin  介绍 
https://code.google.com/p/jsvnadmin/

Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装好Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。

  • 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。
  • 多操作系统:支持Window,Linux等操作系统。
  • 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。
  • 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。
  • 安全:密码加密保存。
  • 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式)
  • 仓库浏览(从3.0.2开始)
  • 多语言(从3.0.2开始)

2.svnadmin下载地址 
https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip  ,解压后有svnadmin.war和db数据库文件

3.安装MySQL,JDK,Tomcat,SVN

安装Mysql   http://blog.csdn.net/zsg88/article/details/75269457

安装JDK   http://blog.csdn.net/zsg88/article/details/75208710

安装TOMCAT   http://blog.csdn.net/zsg88/article/details/74906718 

安装SVN   http://blog.csdn.net/zsg88/article/details/75269156

4. 安装Apache

# yum install httpd httpd-devel

# service httpd start 

# chkconfig httpd on  

# vi /etc/httpd/conf/httpd.conf 

找到 ServerName 并修改成 

ServerName localhost:80

防火墙中打开 80 端口: 

# vi /etc/sysconfig/iptables 

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 

# service iptables restart



5.安装mod_dav_svn模块,使用http协议访问svn

# yum install mod_dav_svn

重启apache

# service httpd restart

查看测试是否安装 svn 模块 

# ls /etc/httpd/modules/ | grep svn


6.创建 svn 库主目录(多库模式,一份配置文件管理多个库) 

# mkdir /svn/  

 编辑 /etc/httpd/conf/httpd.conf 文件 

# vi  /etc/httpd/conf/httpd.conf

添加以下内容

<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "subversion repository"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
<Location /svn>中的"/svn"表示我们的svn的访问URL为"http://ip/svn"

"DAV svn"表示使用"mod_dav_svn"模块,dav是一种http 1.1扩展协议,mod_dav_svn只是该协议的一种应用。

SVNListParentPath on  多库特有

SVNParentPath /svn  多版本库时的共同目录,与单版本的不同

AuthName 表示输入用户名和密码时的提示信息

AuthType 认证类型,这里我们使用基本的认证类型

AuthUserFile 表示认证文件的位置,我们待会创建它。 passwd.http 和 jsvnadmin中使用的文件保持一致

AuthzSVNAccessFile是权限控制文件,单个版本库可要可不要,多个版本库要设置不同版本库的权限。authz 和 jsvnadmin中使用的文件保持一致

创建/svn/passwd.http和/svn/authz
# touch /svn/passwd.http
# touch /svn/authz
重启apache
# service httpd restart

7.创建svnadmin数据库并导入相应数据(UTF-8编码)

执行db/mysql5.sql 和db/lang/en.sql

8 解压svnadmin.war 

cd /usr/local/program/tomcat8/webapps

unzip /home/zsg/Downloads/svnadmin.war -d svnadmin

9.编辑jdbc配置文件

# cd svnadmin/WEB-INF
# vi jdbc.properties

db=MySQL
#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://127.0.0.1:3306/svnadmin?characterEncoding=utf-8
MySQL.jdbc.username=root
MySQL.jdbc.password=123456

10.启动tomcat

浏览器中打开:http://ip:端口/svnadmin/




11 创建项目


/svn/目录下会创建一个abc的SVN库目录。
同时也会多出一个httpd.conf文件,内容就是我们步骤6中添加的内容。

/svn/authz 授权文件中会多出如下内容:

[aliases]
[groups]
abc_developer=
abc_manager=admin
abc_tester=

[abc:/]
@abc_manager=rw
以上过程其实是调用了svn对应的命令做了相应的操作。


12 配置库目录权限

查看vi /etc/httpd/conf/httpd.conf

我们发现,apache的用户是apache,用户组是apache

我们需要给新建的工程目录给apache用户授予权限。

# cd /svn
# chown -R apache.apache abc
# chmod -R 777 abc
(如创建新库,需要对新建的库目录执行以上两步授权操作)
关闭SELinux(Linux的访问控制)
修改/etc/selinux/config 文件
# vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
# reboot



13 先安装SVN管理客户端TortoiseSVN

http://tortoisesvn.net/downloads.html  (注意64位系统要安装64位版)

安装后输入项目库地址,输入帐号密码



14接下来可以对wusc_edu库进行相应的操作


(1)
用户组


(2)
用户


(3)
授权


(4)
导入项目


Java实现的SVN远程管理WEB应用 源码地址:http://code.google.com/p/jsvnadmin Svn Admin是一个Java开发的管理Svn服务器的项目用户的web应用。安装Svn服务器端好,把Svn Admin部署好,就可以通过web浏览器管理Svn的项目,管理项目的用户,管理项目的权限。使得管理配置Svn简便,再也不需要每次都到服务器手工修改配置文件。 有什么优点 多数据库:Svn项目配置数据保存在数据库,支持所有数据库(默认MySQL/Oracle/SQL Server)。 多操作系统:支持Window,Linux等操作系统。 权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和修改自己的密码。 支持多项目、多用户、多用户组Group(默认带有“项目管理组”、“项目开发组”、“项目测试组”)。 安全:密码加密保存。 多协议:支持svn协议和http协议(从2.0开始支持Apache服务器单库方式,从3.0开始支持Apache多库方式) Svnadmin在Java 1.6、Tomcat 6、Subversion 1.6、MySQL 5.1、Apache 2.2、Windows 7上开发测试通过,同时支持其他操作系统和数据库。 支持svn协议 Svn的配置信息都在仓库目录的conf下的authz,passwd,svnserve.conf三个文件中,配置用户和权限都是通过修改passwd和authz,立刻就生效。Svn Admin的本质是对这3个文件进行管理,所有成员、权限的数据都保存在数据库中,一旦在Svn Admin的页面上修改,就会把配置信息输出到conf下的那3个配置文件中。 支持http协议 Apache+SVN配置成功后可以有两种方式: 多库方式:SVNParentPath 指定一个父目录,所有仓库在这个父目录下,使用一个密码文件和一个权限配置文件。优点是增加删除仓库不需要改apache的httpd.conf,不需要重启Apache。缺点是项目多会很混乱。 单库方式:SVNPath 每个仓库单独配置各自的密码和权限文件。优点是各自分开,互相不影响,维护方便。缺点是增加或删除仓库需要修改apache的httpd.conf后重启。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值