linux svn apache

Posted 译林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux svn apache相关的知识,希望对你有一定的参考价值。

借助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、重启服务器

 


































以上是关于linux svn apache的主要内容,如果未能解决你的问题,请参考以下文章

linux12.04怎么安装高版本的svn

怎么查看linux服务器的svn地址

linux下svn客户端访问windows下的svn服务器

linux设置svn开机启动

linux下怎么查看svn目录

linux svn客户端的日志编码怎么修改