借助apache运行的svn服务器
一:安装Apache HTTP Server
1、安装Apache HTTP Server
yum install httpd httpd-devel -y
2、修改配置文件
命令:vi /etc/httpd/conf/httpd.conf
找到ServerName配置文件,修改内容如下
ServerName localhost:80
3、增加防火墙使之外部可以访问80端口
4、启动Apache HTTP Server 服务
service httpd start
5、测试访问
http://ip
二:安装svn服务
1、停止Apache HTTP Server服务
service httpd stop
2、安装svn模块
yum install mod-dav-svn subversion
3、检查svn模块安装结果
ls /etc/httpd/modules | grep svn
结果如下:
mod_authz_svn.so
mod_dav_svn.so
查看svn 版本信息: svn --version
4、为svn创建主目录
mkdir /svn
5、修改svn配置文件
vi /etc/httpd/conf.d/subversion.conf
#include /svn/httpd.conf
<Location /svn/> # 本地仓库目录位置 刚才创建的svn目录
DAV svn #模型简述
SVNListParentPath on #开启上级目录列表能力
SVNParentPath /svn #上级目录列表根目录 刚才创建的svn目录
AuthType Basic #授权类型
AuthName "Subversion repositories" #拥有者名称
AuthUserFile /svn/passwd.http #拥有者文件命名
AuthzSVNAccessFile /svn/authz #拥有者授权文件命名
Require valid-user
</Location>
RedirectMatch ^(/svn)$ $1/
6、创建密码文件和授权文件
touch /svn/passwd.http
touch /svn/authz
三:安装mysql数据库(此数据库专为SVN服务器提供数据存储。与业务系统数据库分类)
1、检查当前系统中是否安装了MySql
rpm -qa | grep mysql
mysql-libs-5.1.71-1.el6.x86_64
2、安装mysql
yum install mysql-server mysql mysql-devel
3、启动MySql服务
service mysqld start
4、检查MySql服务状态
service mysqld status
5、防火墙配置中增加3306端口访问
6、设置MySQL数据库root的用户初始密码
mysqladmin -uroot password 'root'
7、为MySQL数据库root用户授权(默认智能本地访问)
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
8、查看授权信息
select user,host from mysql.user;
其中user为MySQL数据库用户名,host为可访问的地址(%代表所有位置都可以访问)
三:安装svnadmin
1、简介
Svn Admin 是一个 Java 开发的管理 Svn 服务器的项目用户的 web 应用。安装好 Svn 服务
器端好,把 Svn Admin 部署好,就可以通过 web 浏览器管理 Svn 的项目,管理项目的用户,
管理项目的权限。使得管理配置 Svn 简便,再也不需要每次都到服务器手工修改配置文件
2、svnamdin的优点
多数据库: Svn 项目配置数据保存在数据库,支持所有数据库(默认 MySQL/Oracle/SQLServer)。
多操作系统:支持 Window,Linux 等操作系统。
权限控制:管理员可以随意分配权限、项目管理员可以管理项目成员、成员只能查看和
修改自己的密码。
支持多项目、多用户、多用户组 Group(默认带有“项目管理组”、 “项目开发组”、 “项目测试组”)。
安全:密码加密保存。
多协议:支持 svn 协议和 http 协议(从 2.0 开始支持 Apache 服务器单库方式,从 3.0 开始支持 Apache 多库方式)
仓库浏览(从 3.0.2 开始)
多语言(从 3.0.2 开始)
3、安装tomcat
svnadmin 是使用 java 编写的一个 WAR 应用,需要提供一个 Java WEB 中间件才能正常使用
4、上传svnadmin到webapps中
5、修改svnadmin应用配置
vi svnadmin/WEB-INF/jdbc.properties
数据库信息进行修改
6、创建database&导入sql脚本
6.1、create database svnadmin default charset utf8 collate utf8_general_ci;
6.2、use svnadmin
6.3、执行脚本文件
source /.../svnadmin/db/mysql5.sql
source /../svnadmin/db/lang/en.sql
7、启动httpd服务
8、启动tomcat服务
四:访问svnadmin
1、访问
http://ip:port/svnadmin
系统默认首次进去的时候输入管理员用户名和密码
2、创建版本库
创建的版本仓库任意信息包含中文,必须要求, 数据库的对应 database 字符集支持中
文,数据库导入的 sql 文件必须有 en.sql 数据, tomcat 中的 server.xml 配置文件中必须增加
URIEncoding=”UTF-8”信息
项目:库名,自定义
类型:http多库 类型为http协议多库
路径:服务器系统中的目录信息,在系统中寻找路径从根目录"/"开始
URL:http协议访问SVN所在主机,后序地址为库路劲(http://192.168.1.12/svn/svn_test)
3、用户权限问题
创建库以后,点击进入svn会提示认证失败
1、用户组的manager里面添加当前用户
2、/svn下面的目录访问的用户是root用户,svn系统访问的用户是apache(/etc/httpd/conf/httpd.conf中 User和Group)
修改创建库目录访问用户:chown -R apache.apache svn_test
每次增加svn库时都需要修改目录拥有者
3、关闭seLinux(高级防火墙)
修改前SELINUX=enforcing 修改后 SELINUX=disabled
4、重启服务器