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

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) 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

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

猜你喜欢

转载自my.oschina.net/u/1987703/blog/1617653