天天看点

SVNadmin

原文链接:https://blog.csdn.net/yelllowcong/article/details/78276505					
	版权声明:本文为博主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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
SVNadmin

1.2配置端口和ServerName

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

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

#配置ServerName
Servername localhost:           
  • 1
  • 2
  • 3
  • 4
  • 5
SVNadmin

修改后

SVNadmin

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  -m state --state NEW,ESTABLISHED -j ACCEPT

#重启服务
restart  iptables.service

#查看80端口是否开放
iptables -L -n           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
SVNadmin

1.4服务器查

在浏览器中,输入ip地址,查看apache服务是否启动

SVNadmin

2、SVN安装

2.1安装 subversion

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

#安装subversion
yum install mod_dav_svn subversion

#安装完成后,需要重启 apache服务
service httpd restart            
  • 1
  • 2
  • 3
  • 4
  • 5
SVNadmin

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

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

#查看svn的版本
svn --version  
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

/etc/httpd/modules/目录下的svn模块

SVNadmin

版本信息

SVNadmin

2.3创建库

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

mkdir /svn           
  • 1

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

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

##重启apache服务
service httpd restart           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

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

SVNadmin

服务启动成功

SVNadmin

3、jsvnadmin安装

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

3.1下载安装包

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

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

#删除包
rm svnadmin-.zip           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
SVNadmin

解压后的目录结构,我们需要里面的svnadmin.war包

SVNadmin

3.2安装war包

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

#删除war包
rm svnadmin.war           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
SVNadmin

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

SVNadmin

3.3配置jdbc.properties

配置数据库端口,数据库,数据库用户名和密码

db=MySQL

#MySQL
MySQL.jdbc.driver=com.mysql.jdbc.Driver
MySQL.jdbc.url=jdbc:mysql://:/svnadmin?characterEncoding=utf-
MySQL.jdbc.username=root
MySQL.jdbc.password=root
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
SVNadmin

3.4导入表

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

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

SVNadmin
#创建数据库,一定要是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            
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

导入数据

SVNadmin

查看表数据

SVNadmin

4、启动Tomcat

#启动服务
./startup.sh

#查看日志信息
tail -f -n  logs/catalina.out
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
SVNadmin

常见错误

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

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

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

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

解决方法

重新导入数据库,使用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
           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

问题完美解决

SVNadmin

继续阅读