subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。

svn服务器有2种运行方式:

1. 独立服务器

2. 借助apache。

二种方式各有利弊,可以根据自己的需要进行配置,我不需要Http进行访问,只需要客户端可以Commit & update 就可以,所以我选择了第一种方式-独立的SVN服务器。

svn存储版本数据也有2种方式:

1. BDB

2. FSFS。

因为BDB方式在服务器中断时,有可能锁住数据(朋友在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点,我也选择这种方式。

我的环境:

1. svn服务器安装操作系统: Centos 5.3,安装步骤:

获取svn安装包:

# wget “http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz”

# wget “http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz”

编译svn以root用户登录:

# tar xfvz subversion-1.6.6.tar.gz

# tar xfvz subversion-deps-1.6.6.tar.gz

# cd subversion-1.6.6

# ./configure –prefix=/opt/svn –without-berkeley-db

(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)

# make && make install

在/etc/profile最后加入 SVN Path 以方便操作:

# vi /etc/profile

PATH=$PATH:/opt/svn/bin

export PATH

测试是否安装成功:

# svnserve –-version

# /opt/svn/bin/svnserve –version

[root@hexu softs]# svnserve –version

如果显示如下,svn安装成功:

svnserve, version 1.6.6 (r40053)

compiled Dec 2 2009, 22:37:15

Copyright (C) 2000-2009 CollabNet.

Subversion is open source software, see http://subversion.tigris.org/

This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

Cyrus SASL authentication is available.

2. svn配置建立svn版本库目录可建多个:

新建文件夹:

# mkdir -p /opt/svndata/repos

建立svn版本库:

# svnadmin create /opt/svndata/repos

修改svn版本库配置文件版本库:

# vi /opt/svndata/repos/conf/svnserve.conf

内容修改为:

[general]

anon-access = none

auth-access = write

password-db = /opt/svn/conf/passwd.conf

authz-db = /opt/svn/conf/authz.conf

realm = repos

注意:对用户配置文件的修改立即生效,不必重启svn。

passwk.conf [users]是必须的,文件格式如下:

[users]

= = 下面列出要访问svn的用户,每个用户一行,示例:

[users]

username = password

配置svn用户访问权限:

# vi /opt/svn/conf/authz.conf

注意:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]

= ,

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:

[:/项目/目录]

@ =

=

其中,方框号内部分可以有多种写法:

[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。

[repos:/] 表示对版本库repos设置权限

[repos2:/abc] 表示对版本库repos2中的abc项目设置权限

[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]

admin = alan

[/]

@admin = rw

[repos1:/abc/aaa]

king = rw

[repos2:/pass]

king =

svn配置完毕。

3. 启动svn建立启动svn的用户

# useradd svn

# passwd svn

根据提示为用户svn设置密码

允许用户svn访问版本库:

# chown -R svn:svn /opt/svndata

启动svn

# su - svn -c “svnserve -d –listen-port 9999 -r /opt/svndata”

其中:

su - svn表示以用户svn的身份启动svn

-d表示以daemon方式(后台运行)运行

–listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限

-r /opt/svndata指定根目录是/opt/svndata

检查:

ps -ef|grep svnserve

如果显示如下,即为启动成功:

svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata

通过web方式访问svn有很多方法,请参阅配置websvn或配置bsSvnBrowser的方法。

好了所有配置完成,可以使用客户端SVN进行操作了。

服务器测试:

# cd /tmp

# mkdir test

# touch test.txt

# svn import /tmp/test/ file:///opt/svndata/repos -m “this is thie first import”

# mkdir -p /tmp/test2

# cd /tmp/test2

# svn co file:///opt/svndata/repos /tmp/test2/

或者:

# svn co svn://{your-server-ip}:9999/repos/

这时应该可以看到文件test.txt.

另外的测试方法:

# telnet {your-server-ip} 9999 检查端口是不是通的

如果 上面检查不通,有可能是iptables中没有打开,设置iptables就可以:

# vi /etc/sysconfig/iptables

添加:

-A RH-Firewall-1-INPUT -p tcp –dport 9999 -j ACCEPT

websvn mysql_Centos 5.3 Nginx+php+mysql配置 独立的 Subversion (SVN)服务器相关推荐

  1. Centos 5.3 Nginx+php+mysql配置 独立的 Subversion (SVN)服务器

    subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人. svn服务器有2种运行方式: 1. 独立服务器 2. 借助apache. 二种方式各有利弊,可以根据自己的需要进行 ...

  2. dovecot MySQL配置_dovecot+mysql配置及搭建邮件云服务器方法

    dovecot+mysql配置及搭建邮件云服务器方法 发布时间:2020-05-12 11:31:26 来源:亿速云 阅读:195 作者:三月 下面一起来了解下dovecot+mysql配置及搭建邮件 ...

  3. 【Nginx】Docker配置ngnix,实现同服务器ip多站点多域名

    Docker配置ngnix,实现同服务器ip,多域名映射多站点 本文首发于 慕雪的寒舍 1.说明 一般情况下,我们的域名映射到ip后,默认访问的是80端口.如果你的服务器只部署了一个服务,这样也是够用 ...

  4. Linux下Nginx+PHP+MySQL配置(图)

    Nginx是一个高性能的HTTP和反向代理服务器,同时还是 IMAP/POP3/SMTP代理服务器,该程序由俄罗斯Rambler.ru 站点开发,Nginx因为性能稳定.低系统资源消耗而闻名,近几年N ...

  5. nginx php mysql 配置及启动

    目录结构: D:\wnmp\nginx :nginx的解压目录(包含nginx.exe)版本:nginx-1.10.1网址:http://nginx.org/ 找最新的stable版本 D:\wnmp ...

  6. nginx trac mysql svn_TRAC 整合已有的SVN目录

    这次TRAC安装配置是在另外一个项目的服务器上.偷了个懒,在安装好所有必备软件后(关于如何安装TRAC,请自行谷歌百度,教程太多了..),将以前配置好的一个初版trac直接拷贝了过去.哈哈.简单方便粗 ...

  7. 修改了svn服务器配置,配置http方式访问svn服务器

    本文讲述如何利用Apache配置实现http的方式访问Subversion,本文的目录如下: 配置http匿名访问 增加用户名和密码控制 增加文件目录控制 [前提要求] 安装apache httpd, ...

  8. mac搭建svn服务器文件被锁定,MAC搭建SVN服务器并配置Cornerstone

    搭建SVN服务器 Mac默认已经安装了svn,我们只需要进行配置并开启 我们可以验证一下是否安装了svn,打开终端,输入命令 svnserve --version 查看svn版本 svn上的文件不是以 ...

  9. RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程(转)

    RHEL5(CentOS)下nginx+php+mysql+tomcat+memchached配置全过程 一.准备工作:SSH,telnet终端中文显示乱码解决办法vi /etc/sysconfig/ ...

最新文章

  1. 【iOS】NSDate分类,获得中国农历
  2. JZOJ 5438. 【NOIP2017提高A组集训10.31】Tree
  3. linux上验证cudnn是否安装成功_deepin15.7中安装tensorflow+cuda9.0+cudnn7的步骤
  4. 手把手带你手写SpringMVC,剑指优秀开源框架灵魂
  5. MarkDown总结(适合初学者快速入门)
  6. python 关闭 定时开启_Python爬虫邮箱定时自动发送
  7. 计算机通识/14:算法常识/算法常识-01
  8. 【恋上数据结构】计数排序
  9. [转载] 【Python进阶】4-2 多态 | 什么是多态 / 静态语言vs动态语言 / python中多态
  10. tomcat日志按天分割
  11. T检验、F检验、Z检验、卡方检验
  12. python3的print()函数的用法图文讲解
  13. Unity中的AI算法和实现1-Waypoint
  14. 【51单片机】汇编语言程序设计练习(实验报告)
  15. C++期末考试选择题题库100道
  16. 静下心来好好看书,好好学习。
  17. 【ML】线性回归 [单因子](LinearRegression)实践(基于sklearn)
  18. JZOJ 6305. 最小值
  19. 华南师大软件学院软件工程专硕机试(2019年考研)
  20. 如何下载全球航拍影像地图

热门文章

  1. 二十个CSS经典技巧
  2. GPS系统误差的主要来源
  3. MySQL修改数据表(ALTER TABLE语句)
  4. 八条是阿里6万工程师正在重点攻克的难关
  5. 机器学习:一种新的编程范式
  6. Fedora 31 将被“砍掉”或推迟更久发布,但和 IBM 无关
  7. matlab计算运行时间方法
  8. pacman安装ubuntu_Ubuntu如何安装pacman
  9. python舵机控制程序_树莓派PWM控制舵机的两种方式
  10. Jquery validate验证表单只验证第一个input元素