SVN之版本管理系统安装及svnadmin编码问题-yellowcong

4 篇文章 0 订阅

Centso+Apache+Subversion+Jsvnadmin的管理环境搭建,我以前还做过Github的环境GitLab之安装-yellowcong

1、Apache安装

1.1安装

# 安装 httpd
yum install httpd httpd-devel

#启动服务
service httpd start 

#设置开机启动
chkconfig httpd on

#查看是否开机启动
systemctl list-unit-files |grep httpd

这里写图片描述

1.2配置端口和ServerName

设定端口号、配置ServerName,因为没有dns服务配置 ,所以需要修改 这个ServerName

#修改配置文件
vi /etc/httpd/conf/httpd.conf

#配置ServerName
Servername localhost:80

这里写图片描述

修改后
这里写图片描述

1.3开启80端口

如果发现没有iptables这个文件,就说明iptables没有安装,可以查看我的iptables安装的教程,http://blog.csdn.net/yelllowcong/article/details/78229862,安装完了,在执行下面的操作

#编辑iptables
vim /etc/sysconfig/iptables

#开放80端口
-A INPUT -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

#重启服务
restart  iptables.service

#查看80端口是否开放
iptables -L -n

这里写图片描述

1.4服务器查

在浏览器中,输入ip地址,查看apache服务是否启动
这里写图片描述

2、SVN安装

2.1安装 subversion

subversion,需要安装依赖的模块 mod、dev、sun

#安装subversion
yum install mod_dav_svn subversion

#安装完成后,需要重启 apache服务
service httpd restart 

这里写图片描述

2.2查看subversion是否安装(有问题)

#查看是否安装好了这些模块
ls /etc/httpd/modules/ | grep svn

#查看svn的版本
svn --version  

/etc/httpd/modules/目录下的svn模块
这里写图片描述

版本信息
这里写图片描述

2.3创建库

创建svn的库,用于存放代码,这个库在配置过程中会用到

mkdir /svn

2.4配置subversion.conf

#进入到配置文件目录 
vim /etc/httpd/conf.d/subversion.conf

#添加下面的到subversion.conf  文件中
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn/> //多库的模式
        DAV svn
        SVNListParentPath on
        SVNParentPath /svn  //这个表示 存储的地址
        AuthType Basic
        AuthName "Authorization"
        AuthUserFile /svn/passwd.http  //用户授权
        AuthzSVNAccessFile /svn/authz //访问控制
        Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/

#创建用户授权和访问控制空文件
touch /svn/passwd.http
touch /svn/authz

##重启apache服务
service httpd restart

通过“http://localhost/svn/” 来访问仓库列表,如果想让“http://localhost/svn”也起作用的话,需要在的后面增加重定向的设置:RedirectMatch ^(/svn) <script type="math/tex" id="MathJax-Element-6"> </script>1/ ,当然也可以采用RewriteEngine之类的办法。

这里写图片描述

服务启动成功
这里写图片描述

3、jsvnadmin安装

安装jsvadmin前,需要安装tomcat,如果不会的,可以查看教程:http://blog.csdn.net/yelllowcong/article/details/75944304

3.1下载安装包

#下载安装包, 这个安装包是我从外国网站下的,真不容易啊
wget http://yellowcong.qiniudn.com/svnadmin-3.0.5.zip

#解压到指定的文件夹
unzip svnadmin-3.0.5.zip -d svnadmin

#删除包
rm svnadmin-3.0.5.zip

这里写图片描述

解压后的目录结构,我们需要里面的svnadmin.war包
这里写图片描述

3.2安装war包


#停止tomcat,然后解压war包
unzip  svnadmin.war -d svnadmin

#删除war包
rm svnadmin.war

这里写图片描述

war包解压后的目录结构,我们需要修改的是WEB-INF目录下的jdbc.properties这个文件
这里写图片描述

3.3配置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=root

这里写图片描述

3.4导入表

Mysql如果不会安装,可以查看我的教程,http://blog.csdn.net/yelllowcong/article/details/75934201

需要导入脚本db/mysql5.sql 和db/lang/en.sql

这里写图片描述

#创建数据库,一定要是utf8的,不然,会后悔的,会遇后面的错误
create database if not exists svnadmin default character set utf8;

#使用数据库
use svnadmin

#导入数据
source /usr/local/svnadmin/db/mysql5.sql
source /usr/local/svnadmin/db/lang/en.sql

#查看表
show tables 

导入数据
这里写图片描述

查看表数据
这里写图片描述

4、启动Tomcat

#启动服务
./startup.sh

#查看日志信息
tail -f -n 100 logs/catalina.out

这里写图片描述

常见错误

服务器打开xx:port/svnadmin,居然报错了,尴尬了

发生错误,请联系 QQ 56099823 或 报告一个Issue,以下是错误信息:
org.apache.jasper.JasperException: An exception occurred processing JSP page /login.jsp at line 28 25: } 26: %&gt; 27: 28: 29:

这里写图片描述

查看tomcat的日志文件,发现,大概可以定位成,是数据库的编码问题导致的。

java.sql.SQLException: Incorrect string value: '\xE4\xB8\xAD\xE6\x96\x87' for column 'lbl' at row 1

这里写图片描述

解决方法

重新导入数据库,使用utf8的编码,问题就解决了

#创建数据库,一定要是utf8的,不然,会后悔的,会遇后面的错误
create database if not exists svnadmin default character set utf8;

#使用数据库
use svnadmin

#导入数据
source /usr/local/svnadmin/db/mysql5.sql
source /usr/local/svnadmin/db/lang/en.sql

问题完美解决
这里写图片描述

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
发出的红包

打赏作者

狂飙的yellowcong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值