SVN版本管理系统的安装(CentOS + Subversion + Apache + Jsvnadmin)

建议安装前更新操作系统

# yum update

更新完成后重启

# reboot

 

安装apache

# yum install httpd httpd-devel

启动apache

# service httpd start

设置apache开机启动

# chkconfig httpd on

修改apache配置信息

# vim /etc/httpd/conf/httpd.conf

找到ServerName并修改成

ServerName localhost:80

防火墙中打开80端口

# vim /etc/sysconfig/iptables

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

重启防火墙

# service iptables restart

添加阿里云入方向安全组规则

测试是否安装成功

http://xxx.xxx.xxx.xxx/

 

安装svn服务

cd /etc/httpd/conf

安装mod_dav_svn模块

# yum install mod_dav_svn subversion

安装完成后可以在/etc/httpd/conf.modules.d/下可以看到有一个10-subversion.conf文件

安装完svn后需要重启apache

# service httpd restart

查看测试是否安装svn模块

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

如果出现mod_authz_svn.so和mod_dav_svn.so两个文件,说明安装成功

查看svn安装版本

# svn --version

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

# mkdir /svn/

编辑上面安装mod_dav_svn模块时生成的/etc/httpd/conf.modules.d/10-subversion.conf文件

添加如下内容:

#Include /svn/httpd.conf
<Location /svn/>
DAV svn
SVNListParentPath on
SVNParentPath /svn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /svn/passwd.http
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

创建/svn/passwd.http和/svn/authz

# touch /svn/passwd.http

# touch /svn/authz

重启apache

# service httpd restart

 

使用tomcat部署svnadmin

我这里已经下载好了tomcat

# tar -zxvf apache-tomcat-8.0.53.tar.gz

更名

mv apache-tomcat-8.0.53 svnadmin-tomcat

修改tomcat端口

删除掉webapps下无用的文件

/root/tengjs/svnadmin-tomcat/webapps

# rm -rf *

防火墙中打开9000端口

# vim /etc/sysconfig/iptables

添加

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

重启防火墙,使端口生效

# service iptables restart

配置阿里云服务器入方向安全组规则

我这里使用的是svnadmin-3.0.5,解压后如下图所示

将svnadmin.war拷贝到svnadmin-tomcat/webapps

解压

# unzip svnadmin.war -d svnadmin

war这时就可以删除了

# rm svnadmin.war

进入cd svnadmin/WEB-INF

编辑jdbc.properties

# vim jdbc.properties

内容修改为

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

在db文件夹下有一个mysql5.sql脚本文件,以及在db/lang/下有一个en.sql脚本文件

将这两个脚本文件在svnadmin数据库中执行

ok,进入/root/tengjs/svnadmin-tomcat/bin目录下执行startup.sh,在浏览器中输入http://xxx.xxx.xxx.xxx:9000/svnadmin

第一次需要设置管理员账号和密码

进入之后就可以看到如下界面

创建库

点击提交后

这时进入到/svn/目录下可以看到创建了一个名为dubbo_study的svn库目录,同时也会多出一个httpd.conf文件,内容和/etc/httpd/conf.modules.d/10-subversion.conf文件一样

进入dubbo_study目录

进入conf

如果svn配置的是单库的话,理论上用户以及权限等都是使用上面三个文件来控制的,现在我们在apache中安装了svn模块,那么apache接管了这些控制。

另外/svn/下的authz文件多出了如下内容

以上过程其实是调用了svn对应的命令做了相应的操作

配置库目录权限

点击URL对应的连接

可以看到这里为认证失败的状态

设置用户组

选择admin,点击增加用户

设置完成之后返现这里依然是认证失败的状态

这就涉及到库目录权限的问题

进入/svn/

可以看到dubbo_study库的拥有者为root用户,但是现在我们已经用apache将svn进行了整合,那么当前的操作都是通过apache来操作的

vim vim /etc/httpd/conf/httpd.conf

可以看到apache的用户为apache,用户组也是apache

那么我们需要将dubbo_study库的操作用户从root用户改为apache用户

# chown -R apache.apache dubbo_study

授权(所有用户都有读写的权限)

# chmod -R 777 dubbo_study

如果以后创建新库,需要对新建的库目录执行以上两步操作

除了权限问题,还需要关闭SELinux(Linux的访问控制),否则会和svn的目录访问有冲突

修改/etc/selinux/config

# vim /etc/selinux/config

将SELINUX=enforcing改为SELINUX=disabled

重启机器即可

重启之后重新进入svn管控台

ok,大功告成!

可以参照我之前的文章《linux环境安装dubbo管控台》将svn管控台设置为开机启动

 

 

 

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后重启。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值