我最喜欢使用的OS就是FreeBSD,而且现在刚好有一台FreeBSD服务器,所以我想把我的SVN服务器迁移到FreeBSD上,再配合hudson和ant就可以自动编译了。

第一步:安装svn:

在安装它之前先使用命令pkg_delete -f libtool\*  把libtool里的东西去掉让它自动更新到最新的,否则安装时会出错的。

使用ports安装:

cd /usr/ports/devel/subversion/

#make install WITHOUT_BDB=yes WITH_MOD_DAV_SVN=yes APXS=/usr/local/sbin/apxs
说明:WITHOUT_BDB=yes
这是不使用BerkleyDB才加上的,你愿意使用可以去掉,WITH_MOD_DAV_SVN=yes
APXS=/usr/local/sbin/apxs
两个参数是为了支持Apache的WebDAV方式
如果不使用apache的话就可以把对它的支持选项全部去掉。

第二步:建库:
mkdir
/usr/svn        
#把它做为svn的要目录
svnadmin create
/usr/svn/projectOne     
#projectOne就是建的第一个库
第三步:配置权限:
在projectOne下的conf文件夹下有一个conf文件夹,要修改它下面的三个文件:

1、增加一个用户,打开passwd文件,加入一个用户名与密码:如

[users]
# harry =
harryssecret
# sally =
sallyssecret
test =
test  
#这里加入一个test用户,并且密码是test
2、修改用户权限:
打开authz文件,配置如下:(只要修改groups节点)

[groups]
admin =
test    
#这里表示有一个admin用户组,这个用户组中用一个叫test的用户
[/]              
#这里是特别需要注意,如果启动时是指定的svn的要目录就用/,比如启动是指定的是
                
#svnserve -r -d
/usr/svn/,       
如果启动时指定的是 -r -d
/usr/svn/projectOne  
这里就要    
用 [/projectOne]b 
@admin =
rw          
#表示admin组中的用户都有读写权限
* =
r
#
[repository:/baz/fuz]
3、修改svnserver.conf文件,配置如下:
anon-access =
none             
#表示不允许匿名用户访问
auth-access =
write    #通过认证的用户可以写
### The password-db
option controls the location of the password
### database
file.  Unless you specify a path starting with a
/,
### the file's
location is relative to the directory
containing
### this configuration
file.
### If SASL is enabled
(see below), this file will NOT be used.
### Uncomment the line
below to use the default password file.
password-db =
passwd      
#指定密码文件
### The authz-db
option controls the location of the
authorization
### rules for
path-based access control.  Unless you specify a
path
### starting with a /,
the file's location is relative to the the
### directory
containing this file.  If you don't specify
an
### authz-db, no
path-based access control is done.
### Uncomment the line
below to use the default authorization file.
authz-db =
authz                
#指写权限分配文件
第三步:启动svn服务:
svn默认启动的是IPV6的,所以在启动时需要加一些参数:

svnserve -d -r
/usr/svn/ --listen-host=0.0.0.0
--listen-port=3690
这样就可以了。

好了,开始使用吧,先建立数据库文件存放位置。我这里建立/usr/local/svn_data文件夹,然后输入:

  svnadmin create /usr/local/svn_data .
编辑/etc/inetd.conf文件,在后面追加:
   svn stream tcp nowait root /usr/local/bin/svnserve sveserve -i
编辑/etc/rc.conf,增加:
   inetd_enable="YES"
重新启动后,这样服务就会自动启动了。可以用netstat -an检查3690端口是否启动。
  
 
每个数据库的权限的管理:
  打开/usr/local/svn_data/conf文件夹
 编辑snvserve.conf, 去掉下列#号:
 [general]
 non-access = read    // 非认证用户允许读
 auth-access = write  // 认证用户允许写
 password-db = passwd // 密码记录文件
  authz-db = authz     // 权限认证文件
 realm = svn_data     // 区域标志,随便填
添加用户,编辑passwd:
  去掉[users]前#号,添加用户如: 
  [users]
   admin = 123
   user1 = a
权限设置,编辑authz,去掉[groups]前#号,设置如下:
  [groups]
   Manage = admin        // 管理组
  user = user1          // 用户组
 
  [/]                   // 根目录权限
  @Manage = rw          // 管理组权限
  @user = r             // 用户组权限
  * = r                 // 其他用户权限
 
  [/text]
   @Manage = rw
   @user = rw
   * = r
   ...
 
  绿色字体部分不要写入配置里,只供说明!!
 
  客户端我用的是windows,所以装TortoiseSVN,用Visual Studio的话装Ankh插件。
先介绍这么多吧,后面的我还要继续摸索。

FreeBSD搭建SVN服务器的更多相关文章

  1. 如何搭建SVN服务器,详细安装步骤。

    SVN服务器端安装 下载: VisualSVN是一款图形化svn服务器.官网 http://www.visualsvn.com/server/ 下载地址: http://www.visualsvn.c ...

  2. CentOS 7搭建SVN服务器

    安装步骤如下: 1.yum install subversion 2.查看安装版本 svnserve --version 3.创建SVN版本库目录 mkdir -p /var/svn/svnrepos ...

  3. Linux下搭建SVN服务器及自动更新项目文件到web目录(www)的方法

    首先搭建SVN服务器 1,安装SVN服务端 直接用apt-get或yum安装subversion即可(当然也可以自己去官方下载安装) sudo apt-get install subversion   ...

  4. 记录第一次搭建svn服务器

    搭建svn服务器需要另外的软件, 在此以32位的为例: 安装过程非常简单, 一直下一步下一步确定就好了, svn安装完毕再安装中文语言包, 安装完成后可以在设置里面找到中文简体选择就OK了 主要记录一 ...

  5. 如何在win上搭建SVN服务器

    本博文转自:http://www.cnblogs.com/armyfai/p/3985660.html SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本, ...

  6. Ubuntu 14.04 下搭建SVN服务器 svn://

    Ubuntu 14.04 下搭建SVN服务器 svn:// 安装软件包: sudo apt-get install subversion 之后选择SVN服务文件及配置文件的放置位置.我放在了/srv下 ...

  7. Mac 搭建 SVN 服务器环境

    Mac 搭建 SVN 服务器环境 一.创建svn repository svnadmin create /path/svn/pro //仓库位置,svn是svn的目录,pro是一个版本库的目录 PS: ...

  8. Ubuntu 14.04快速搭建SVN服务器及日常使用【转】

    转自:http://www.linuxidc.com/Linux/2015-05/117735.htm 1.介绍  Subversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务 ...

  9. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

随机推荐

  1. matlab使用常犯的错误

    总是在最后关掉的时候忘了保存工作空间 save... 我用的版本R2013a 每次要setpath...!!!!!!!!!!

  2. string、wstring、cstring、 char、 tchar、int、dword转换方法(转)

    string.wstring.cstring. char. tchar.int.dword转换方法(转)   最近编程一直头痛这集中类型的转化,明知都可以转却总是记不住,不断的上网查来查去,在这里小结 ...

  3. CentOS6.3 安装配置 ant

    OS:CentOS6.3 ant版本:apache-ant-1.9.2-bin 第1步:下载ant apache-ant-1.9.2-bin.tar.gz 第2步:解压 tar -zxvf apach ...

  4. 如何使用奥特歌词制作双语LRC字幕

    AutoLyric(奥特歌词)使用常见问题和技巧 1.如何设置桌面歌词字体的大小? 桌面歌词字体的大小由桌面歌词窗口的缩放来条设置,把鼠标放在桌面歌词上稍后就会出现半透明的窗口,对该窗口就可以进行拖动 ...

  5. Linux对文件归档和压缩(学习笔记八)

    一.归档和压缩 压缩命令工具:gzip,bzip2 归档命令工具:tar 二.压缩 2.1.gzip gzip是一种标准的.广泛应用的文件压缩和解压缩实用工具.gzip允许文件并置.用gzip压缩文件 ...

  6. rm 命令(转)

    原文:http://www.cnblogs.com/peida/archive/2012/10/26/2740521.html rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件 ...

  7. html5 canvas类库 实例

    http://threejs.org/examples/ http://ocanvas.org/demos https://processing.org/examples/rotatexy.html ...

  8. TQ2440烧写方法总结

    USB烧写 接线:需要连接串口线.USB下载线和电源线. 软件:USB转串口驱动(因为现在的笔记本上一般都没有串口).USB下载驱动和DNW. 网络烧写 接线:需要连接串口线.网线和电源线. 软件:T ...

  9. webpack 生命周期

    1.插件 可以安装lifecycle-webpack-plugin 插件来查看生命周期信息. 2.webpack流程(生命周期图) 地址:https://img.alicdn.com/tps/TB1G ...

  10. sqlserver 创建对某个存储过程执行情况的跟踪

    有时候需要抓取执行存储过程时某个参数的值,有时候程序调用存储过程执行后结果不太对,不确定是程序的问题还是存储过程的问题,需要单独执行存储过程看结果 即可用下面的方法 --=============== ...