安装Subversion版本控制工具(Subversion + Apache + jsvnadmin)

操作系统:Centos 6.7

建议安装前更新操作系统

# yum update

更新完成后重启

# reboot

1: 安装 Apache

# yum install httpd httpd-devel

# service httpd start

# chkconfig httpd on 

2: 修改httpd.conf 配置文件:

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

找到 ServiceName 并修改成:

ServiceName localhost:80

3: 防火墙中配置80端口:

# vi /etc/sysconfig/iptables

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

4: 重启防火墙:

# service iptables restart

5: 访问 Apache : http://10.0.210.112 :

115950_qNeG_2843487.png

 

6: 安装 SVN 服务:

# yum install mod_dav_svn subversion (必须安装mod_dav_svn模块)

# cd /etc/httpd/conf.d

# ls

此时你可以看到一个subversion.conf配置文件,svn安装完成后重启 Apache

# service httpd restart

7:查看模块是否安装成功:

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

mod_authz_svn.so
mod_dav_svn.so

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

# mkdir /svn/

9:修改subversion.conf 配置文件:

# vi /etc/httpd/conf.d/subversion.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/

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

# touch /svn/passwd.http

# touch /svn/authz

11: 重启 Apache

# service httpd restart

12: 下载 jsvnadmin (需要FQ),第21步需要用到 :

https://code.google.com/p/jsvnadmin/

https://jsvnadmin.googlecode.com/files/svnadmin-3.0.5.zip

13: 安装 Mysql (单独安装,与业务系统的数据库分开)

# rpm -qa | grep mysql  (查看该操作系统上是否已经安装了mysql数据库)

有的话,可以通过 rpm -e 命令或者 rpm -e  --nodeps 命令来卸掉

# yum install mysql-server mysql mysql-devel

# service mysqld start

14: 用chkconfig --list | grep mysqld 查看Mysql是否开机启动

# chkconfig --list | grep mysqld

# mysqld         0:off    1:off    2:off    3:off    4:off    5:off    6:off

# chkconfig mysqld on

方便远程管理,防火墙打开3306端口

# vi  /etc/sysconfig/iptables 增加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
# service iptables restart

15: 设置 Mysql数据库root用户的密码:

# mysqladmin -u root password 'wangfajun'

16:登录数据库:

mysql -u root -p

17: Mysql授权远程访问(先用root登录Mysql)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'wangfajun' WITH GRANT OPTION;

mysql>FLUSH PRIVILEGES;

18: 使用Tomcat7部署svnadmin(我的Tomcat放置在/root下):

# cd /root

# tar -zxvf apache-tomcat-7.0.61.tar.gz  (解压)

# mv apache-tomcat-7.0.61 svnadmin-tomcat (重命名)
19: 修改Tomcat 的端口为9000,容器编码为UTF-8:

# vi /root/svnadmin-tomcat/conf/server.xml 修改以下内容:

<Server port="9005" shutdown="SHUTDOWN">

<Connector port="9000" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443"

   URIEncoding="UTF-8"/>
 

20:防火墙配置9000端口:

# vi /etc/sysconfig/iptables

增加以下内容:

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

#service iptables restart

21: 上传svnadmin.war 到 /root/svnadmin-tomcat/webapps 目录:

# cd /root/svnadmin-tomcat/webapps

解压

# unzip svnadmin.war -d svnadmin

# 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  注:127.0.0.1也可以是你的主机地址:10.0.210.112
MySQL.jdbc.username=root
MySQL.jdbc.password=wangfajun
22:创建数据库svnadmin并导入响应数据(utf-8编码)

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

23:启动svnadmin-tomcat:

# /root/svnadmin-tomcat/bin/startup.sh

浏览器中打开: http://10.0.210.112:9000/svnadmin

115950_c189_2843487.png

输入:admin wangfajun

115950_eZSF_2843487.png

24: 配置库目录权限:

# cd /svn

# chown -R apache.apache  meeting_study

# chmod -R 777 meeting_study

(如果创建了新的库,都要执行上面两步授权 )

原因:当前http访问的发起者是Apache(/etc/httpd/conf/httpd.conf 中配置了),而访问的目录(/svn/meeting_study)拥有者为root)

25: 关闭SELinux(Linux的访问控制):

点击URL链接进去,会显示认证失败,原因是当前登录用户admin没有所属的一个用户组,并且linux自带的selinux访问控制跟svn目录访问有冲突

将SELINUX=enforcing 改为 SELINUX=disabled

重启生效:

# reboot

115950_VE6P_2843487.png

转载于:https://my.oschina.net/zhangzexing/blog/907235

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多库方式) SvnadminJava 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、付费专栏及课程。

余额充值