linux svn安装和配置,不结合apache

http://blog.51yip.com/server/901.html

张映 发表于 2010-07-07

分类目录: 服务器相关

今天有个同事在搞SVN服务器,SVN服务器我也算比较熟的了,他在配置的时候遇到了一个问题,就是包函authz这个配置文件老是有问题,以前我装SVN的时候,是和apache结合的http://blog.51yip.com/server/291.html,我那同事装的呢,是单独的没有和apache结合,权限配置有很大的不同。所以晚上回来,我在自己的电脑上装一个。

一,安装要的软件

wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

svn的官方网址是http://subversion.tigris.org

上面二个压缩文件解压后会放到同一个文件下,不要另建文件夹

二,安装独立svn

1,解压安装

  1. tar zxvf subversion-1.6.1.tar.gz
  2. tar zxvf subversion-deps-1.6.1.tar.gz
  3. cd subversion-1.6.1/
  4. ./configure --prefix=/usr/local/svn
  5. make && make install

到这儿就安装好了。安装独立svn,它也考虑到将来有可能会和apache结合,所以安装的时候,它把和apache结合要用到的模块都放到/usr/lib/httpd/modules,部分提示如下
Libraries have been installed in:
/usr/lib/httpd/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and

2,查看svn信息

[root@BlackGhost bin]# /usr/local/svn/bin/svnserve --version
svnserve, version 1.6.1 (r37116)
compiled Jul  7 2010, 23:06:21

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.

3,将svn的bin目录加到环境变量中去

[root@BlackGhost /]# PATH=$PATH:/usr/local/svn/bin
[root@BlackGhost /]# export PATH
[root@BlackGhost /]# svn
svn            svnadmin       svnlook        svnsync
svn2abs        svndumpfilter  svnserve       svnversion

三,建立仓库,配置svn

1,建个svn的根目录,因为项目不只一个

[zhangy@BlackGhost ~]$ mkdir -p /home/zhangy/www    #-p的意思是说如果没有父目录建之

2,建个仓库

[zhangy@BlackGhost ~]$ mkdir -p /home/zhangy/www/repos

[zhangy@BlackGhost www]$ svnadmin create /home/zhangy/www/repos/

3,导入数据

[zhangy@BlackGhost ~]$ svn import ./svntest file:///home/zhangy/www/repos -m "Initial repository test"
Adding         svntest/test.php

Committed revision 1.

4,修改svnserve.conf

[root@BlackGhost conf]# vi svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

5,目录控制文件authz

[root@BlackGhost conf]# vi authz
[groups]

admin= zhangy

[repos:/]
@admin = rw
* = r

6,修改用户密码文件passwd

[root@BlackGhost conf]# vi passwd

[users]
zhangy = *****

四,启动和简单测试

1,启动svn

[root@BlackGhost www]# svnserve -d -r /home/zhangy/www

在这里特别的要注意,/home/zhangy/www是仓库的根目录,不要和[repos:/]目录重叠了。如果重叠是会提示你以下错误

[zhangy@BlackGhost checkout]$ svn co svn://127.0.0.1/
svn: Authorization failed

2,测试svn

a),checkout

[zhangy@BlackGhost checkout]$ svn co svn://127.0.0.1/repos
Authentication realm: <svn://127.0.0.1:3690> 3d0c32b1-3841-4518-b6b1-dcdb6c7ed716
Password for 'zhangy':
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:

<svn://127.0.0.1:3690> 3d0c32b1-3841-4518-b6b1-dcdb6c7ed716

can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/home/zhangy/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
A    repos/test.php
Checked out revision 1.

checkout的时候会出现Store password unencrypted,解决办法

vi /home/zhangy/.subversion/servers

找到以下内容,注释去掉并改成yes就行了

# store-plaintext-passwords = no

b),add 和submit

[zhangy@BlackGhost repos]$ svn add aaa.php
A         aaa.php
[zhangy@BlackGhost repos]$ svn commit aaa.php -m "ok"
Adding         aaa.php
Transmitting file data .
Committed revision 2.

svn的操作有很多,在这儿就不多说了。

随机推荐

  1. js中的变量类型

    js 中输出定义变量的类型  typeof  变量名. var u:  --underfined类型 var s = "你是一个好人":   --string类型 var n = ...

  2. 实时监听输入框值变化:oninput &amp; onpropertychange

    结合 HTML5 标准事件 oninput 和 IE 专属事件 onpropertychange 事件来监听输入框值变化. oninput 是 HTML5 的标准事件,对于检测 textarea, i ...

  3. 美化select下拉框

    直接上干货: 需要的材料: change_select.js (文末会给出下载地址) 使用方法: 1.调用方法:<script type="text/javascript" ...

  4. FreeMarker标签介绍

    转自:http://www.blogjava.net/kxbin/articles/366505.html FreeMarker标签使用 一.FreeMarker模板文件主要有4个部分组成  1.文本 ...

  5. [git]修改commit

    git commit --amend 修改上一个的commit信息. git reset commit_id 修改commit,同时改变commit历史,可用于合并commit. git revert ...

  6. Android 手机卫士13--进程设置

    1.显示隐藏系统进程 修改ProcessManagerActivity的Adapter ..... @Override public int getCount() { if(SpUtil.getBoo ...

  7. 使用JRockit进行性能优化一:环境搭建

    1. jrockit简介   jrockit前身是BA jrockit,后被oracle收购,并免费发布,但并不开源.   jrockit可以看做是兼容标准的JDK基础上的JVM,同原有的JVM相比, ...

  8. Kali linux安装漏洞扫描工具Nessus指南

    引子:Nessus是著名信息安全服务公司tenable推出的一款漏洞扫描与分析软件,号称是"世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它".虽然这个扫描程序能够 ...

  9. 011.Adding Search to an ASP.NET Core MVC app --【给程序添加搜索功能】

    Adding Search to an ASP.NET Core MVC app 给程序添加搜索功能 2017-3-7 7 分钟阅读时长 作者 本文内容 1.Adding Search by genr ...

  10. python深浅copy探究

    引入 在python程序中,如果我们操作一个变量的值去做运算,而又想在下次调用时,仍使用原来的变量的值去做运算,那么我们我们就需要将这个变量去做备份,这就是本文所要探究的问题. 开始 变量-对象-引用 ...