前言:

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。当然也可用于文件文档类型的共享。

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

一:环境介绍

1.操作系统:CentOS 6.* ( 双核4G、硬盘至少20G)

2.应用软件:

apr、apr-util、apache subversion、sqlite-amalgamation、jdk、apache-tomcat、svnadmin、mysql

二:软件下载

(下载最新版本即可)

apr-1.5.2.tar.gz

apr-util-1.5.4.tar.gz

subversion-1.9.5.tar.gz

sqlite-amalgamation-3190300.zip

jdk-8u131-linux-x64.tar.gz

apache-tomcat-7.0.78.tar.gz

svnadmin-3.0.5.zip

二:安装subversion

1.yum 安装依赖库

yum install unzip openssh-clients zlib zlib-devel gcc-c++ -y

2.编译安装 apr 和 apr-util

tar -zxf apr-1.5.2.tar.gz

cd /root/apr-1.5.2

./configure --prefix=/usr/local/apr && make && make install

tar -zxf apr-util-1.5.4.tar.gz

cd /root/apr-util-1.5.4

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr && make && make install

3.编译安装subversion

tar -zxf subversion-1.9.5.tar.gz

unzip sqlite-amalgamation-3071501.zip

mv sqlite-amalgamation-3071501 subversion-1.9.5/sqlite-amalgamation

cd subversion-1.9.5

./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-zlib --enable-maintainer-mode

make

make install

4.将subversion 加入系统环境变量

echo "export SVN_HOME=\"/usr/local/subversion\"

export PATH=\"\$PATH:\$SVN_HOME/bin\"" >> /etc/profile

source /etc/profile

5.创建subversion库

mkdir /opt/subversion/svn/test -p

svnadmin create /opt/subversion/svn/test

6.指定库 指定端口 启动subversion

svnserve -d -r /opt/subversion/svn --listen-port=3690

查看svn端口3690是否存在

netstat -ntpl

防火墙打开3690端口

vim /etc/sysconfig/iptables

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

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

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

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

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

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

重启防火墙

/etc/init.d/iptables restart

查看防火墙

iptables -L -n

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3690

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

target prot opt source destination

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

二:部署svnadmin

1.安装jdk,将jdk的tar包解压,然后加入系统环境变量即可

tar -zxf jdk-8u131-linux-x64.tar.gz -C /usr/local

编辑/etc/profile文件在末尾加入下列语句

vim /etc/profile

JAVA_HOME=/usr/local/jdk1.8.0_131

JRE_HOME=/usr/local/jdk1.8.0_131/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HOME/bin:/sbin:/usr/bin:/usr/sbinexport:/usr/local/sbin:/usr/local/bin:/bin:/usr/sbin:/root/bin

CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

source /etc/profile

[root@localhost ~]#java -version

java version "1.8.0_131"

Java(TM) SE Runtime Environment (build 1.8.0_131-b11)

Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

至此jdk安装完毕

配置mysql用户并创建svnadmin库即可

mysql> create database svnadmin;

3.解压tomcat,删除webapps下的文件

tar -zxf apache-tomcat-7.0.78.tar.gz -C /opt

rm -rf /opt/apache-tomcat-7.0.78/webapps/*

4.配置svnadmin

解压svnadmin-3.0.5.zip将svnadmin.war 移动到/opt/apache-tomcat-7.0.78/webapps/

unzip svnadmin-3.0.5.zip

mv svnadmin.war /opt/apache-tomcat-7.0.78/webapps/

启动tomcat,让tomcat自行解压war包,然后编辑数据库配置文件的#mysql段,使其可以正常连接数据库

/opt/apache-tomcat-7.0.78/bin/startup.sh

vim /opt/apache-tomcat-7.0.78/webapps/svnadmin/WEB-INF/jdbc.properties

#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=root

导入svnadmin项目mysql数据库和语言包

mysql -uroot -p svnadmin < db/mysql5.sql

mysql -uroot -p svnadmin < db/lang/en.sql

再重启tomcat

/opt/apache-tomcat-7.0.78/bin/shutdown.sh

/opt/apache-tomcat-7.0.78/bin/startup.sh

此时svnadmin已经配置启动完毕

防火墙开通8080端口

[root@localhost opt]# iptables -L -n

Chain INPUT (policy ACCEPT)

target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3690

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3306

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:8080

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)

target prot opt source destination

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

5.进入svnadmin的web界面进行配置

浏览器输入地址访问tomcat,提示第一次使用请设置管理员帐号和密码,这里设置一个admin

http://IP:8080/svnadmin/

linux svn web管理,CentOS 6.x 部署Subversion 集成 SvnAdmin Web管理界面相关推荐

  1. linux svn 可视化工具,CentOS 安装SVN以及可视化管理工具iF.SVNAdmin

    一.安装Apache和PHP 由于iF.SVNAdmin使用php写的,因此我们需要安装php yum install httpd php 二.安装SVN服务器 subversion即SVN,mod_ ...

  2. 专题篇四:Linux企业级CICD持续集成交付发布(终极实战部署:gitlab++jenkins+web(tomcat)+webbook自动发布)

    4,企业级CI/CD 持续集成/交付/发布 实验一:github+jenkins+web(tomcat) 构建的时候 网络连接超时(正常现象) githud仓库地址1.安装对应的插件(jenkins) ...

  3. linux svn拒绝,Linux SVN的安装以及配置

    装.Linux SVN的安装以及配置 step 1 安装subversion yum install subversion step 2 安装apache的Linux SVN模块 yum instal ...

  4. SpringBoot系列 - 集成Shiro权限管理

    Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,相比Spring Security而言相当简单, 可能没有Spring Security做的功能强大, ...

  5. Linux安装svn服务端及iF.SVNAdmin可视化管理

    目录 安装apache.PHP服务 安装SVN服务器及mod_dav_svn模块 安装iF.SVNAdmin 在apache服务配置文件下,进行svn的相关配置 在浏览器上可以访问 安装apache. ...

  6. Linux系统工程师--(1)Vsftpd服务的部署及优化与linux中内核级加强型火墙的管理

    Linux系统工程师 实验所用系统为Redhat-rhel8.2. 目录 Linux系统工程师 Linux的系统工程师--Vsftpd服务的部署及优化 一.ftp介绍 二.vsftpd安装及启用 三. ...

  7. Linux/Centos Mondo 一键部署、镜像恢复,快速部署

    转自 小白系统工程师 的文章 <Linux/Centos Mondo 一键部署.镜像恢复,快速部署> ---------------- 版权声明:本文为CSDN博主「小白系统工程师」的原创 ...

  8. 卸载人人影视linux,人人影视Web版CentOS一键安装脚本

    人人影视Web版CentOS一键安装脚本 此脚本来自全球主机交流论坛920c大佬制作.目前只支持CentOS6/7系统, 亲测CentOS 7系统顺利安装. 更新: 上网查了下人人影视自己建立了一个区 ...

  9. Linux CentOS 8(用户与组相关权限管理实验)

    Linux CentOS 8(用户与组相关权限管理实验) 目录 一.项目介绍 二.相关概念 2.1 用户管理简介 2.2 在 Linux 中每个文件的所有者.所在组.其它组的概念 三.任务操作 任务1 ...

最新文章

  1. java编写最大公约数_Java编写最大公约数和最小公倍数
  2. 吴琦:AI研究一路走到“黑”, 从VQA到VLN
  3. java4_Java 4
  4. DES算法C语言实现
  5. React Native Android端多环境自动打包
  6. linux lsof/netstat查看进程和端口号相关命令:
  7. clob字段怎么导出_Oracle 11g及12c+版本下为啥有些表不能exp导出?
  8. 1.枚举类型、声明指针、常量、存储类型、运算符优先级记忆
  9. sqlilte 判断当天日期_18个Java8处理日期的新花样,肯定没用过!
  10. 小米路由器mini无线连接HP1010打印机
  11. win10 下 acdsee7 在普通账户下无法运行并崩溃的 BUG
  12. oracle sql 查询全年日期,oracle下sql创建指定年份全年日期表(区分工作日)
  13. 【猥琐流】制作一个隐藏在黑页下的大马并且添加后门
  14. PMP笔记:Line Manager与Functional Manager
  15. LabVIEW编程LabVIEW开发Fluke8858A/8588A万用表 例程与相关资料
  16. SGD平行算法 - Downpour SGD (单机python多线程版)
  17. Win10安装Kali子系统
  18. 大数据------维度表,事实表
  19. get 到的html代码如何转码,爬虫网页转码逻辑
  20. wd移动硬盘插电脑没反应_西部数据移动硬盘插电脑上不显示?

热门文章

  1. 利用canvas制作进度条实践
  2. python HZK16字库使用
  3. 解决Failed to start component [StandardEngine[Catalina].StandardHost[localhost].错误的方法
  4. ptv服务器系统,红狮PTV安灯管理服务器系统有效提升国内某知名车企生产效率
  5. Vb汇编语言书籍推荐
  6. Python超详细基础教程,从入门到实践
  7. bar.bind.bind_JavaScript中的function.prototype.bind和function.prototype.length解释
  8. 卡爾·史瓦西-那个解出黑洞的人
  9. java刷算法题总结
  10. python读取哨兵卫星数据_SARscape5.2哨兵1A数据的读取