SVN之版本管理系统安装及svnadmin编码问题-yellowcong
2017-10-18 19:13
706 查看
Centso+Apache+Subversion+Jsvnadmin的管理环境搭建,我以前还做过Github的环境GitLab之安装-yellowcong
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/8cdfa128c6e6b85cd00e505f35cca3f4)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/41b8d1ee4e199901d5f75940c440bc4b)
修改后
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/fc04f9b5453836163e13bdf7c7a7ef88)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/6f7d226b29446f63ba6e7b83f389cb25)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/941e45871112c61867347660f09e8e65)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/6f95ddfe53c21a202ed53b03ef3c561f)
/etc/httpd/modules/目录下的svn模块
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/08683a47fd49d7fc3e3316afae691a9a)
版本信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/6780a821ebd6b17087b68fb0646e93ff)
通过“http://localhost/svn/” 来访问仓库列表,如果想让“http://localhost/svn”也起作用的话,需要在的后面增加重定向的设置:RedirectMatch ^(/svn)1/ ,当然也可以采用RewriteEngine之类的办法。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/0ddeaf8bd254a21ba57e3e90cbe87838)
服务启动成功
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/f3fde7f476ca40d8a77b2b3ea07ed60e)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/ef869238104c20a2bd41347c99c7f455)
解压后的目录结构,我们需要里面的svnadmin.war包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/c5c23448a95d5f192aea90c27359df76)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/6f160acd8d0e19e79725219fe7dec263)
war包解压后的目录结构,我们需要修改的是WEB-INF目录下的jdbc.properties这个文件
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/ae12e3e9217ac94f510c34bfa193e7a4)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/b07ec8cc1a3c83e98948b166e05ffbb3)
需要导入脚本db/mysql5.sql 和db/lang/en.sql
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/7962b453a8f9a041ffedd5b020390dd3)
导入数据
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/5b04c58d61eefb96778edcd7edf2d5eb)
查看表数据
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/f2d6ea6a36af21959370be6eb6713f0f)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/3ae1a2e0b646c510b1c97c63018e9ca8)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/39a762928f74d17618669fcae9949e8d)
查看tomcat的日志文件,发现,大概可以定位成,是数据库的编码问题导致的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201908/31/4e1cf9932e7e46ef201862ea04d15d56)
问题完美解决
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/759443043.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: %> 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
问题完美解决
相关文章推荐
- SVN之——SVN 版本管理系统的安装(基于CentOS6.5 + Subversion + Apache + Jsvnadmin)
- 分布式架构学习之持续集成:009--SVN版本管理系统的安装和使用(CentOS+Subversion+Apache+Jsvnadmin)
- 持续集成篇之SVN版本管理系统的安装(CentOS+Subversion+Apache+Jsvnadmin)
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- svn版本管理系统的安装 centos+subversion+apache+jsvnadmin
- linux上安装svn版本管理系统(subversion+apache+jsvnadmin)
- SVN 版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- SVN版本管理系统的安装 CentOS + Subversion + Apache + Jsvnadmin
- ubuntu14.04下svn版本管理系统的安装及常用命令的使用整理
- 5、SVN版本管理系统的安装
- SVN版本管理系统的安装
- SVN版本管理系统的使用(CentOS+Subversion+Apache+Jsvnadmin+TortoiseSVN)
- 持续集成篇_03_svn版本管理系统的使用(centos+subversion+apache+jsvnadmin+tortoisesvn)
- SVN版本管理系统的安装
- 持续集成-SVN版本管理系统的安装
- SVN 版本管理系统的安装
- linux学习:持续集成篇--svn版本管理系统的安装与使用-02