linux下svn安装+配置(一)

1、安装svn

cd /usr/local

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

tar zxvf subversion-1.6.1.tar.gz
tar zxvf subversion-deps-1.6.1.tar.gz

cd subversion-1.6.1
./configure --prefix=/usr/local/svn
make && make install

2、检测SVN是否安装完整

/usr/local/svn/bin/svn -- 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目录添加至环境变量中取

PATH=$PATH:/usr/local/svn/bin
export PATH

4、创建一个SVN仓库

mkdir -p /home/happy/www/project
svnadmin create /home/happy/www/project

5、配置SVN仓库信息

cd /wwww/happy/www/project/


// 配置仓库配置文件
vim conf/svnserve.conf


[general]
anon-access = read
auth-access = write
password-db = passwd                                   // 可写绝对路径,多个仓库可共用
authz-db = authz<span style="white-space:pre">         // 可写绝对路径,多个仓库可共用


// 配置仓库用户文件
vim conf/authz


// 配置组
[groups]
pm = pm1,pm2                   // 组名=用户名1,用户名2
server = server1,server2
client = client1,client2


// 配置目录权限
[/]                                              // 也可写成[project:/] 前者在多个项目共用文件的时候比较实用
@pm = rw                                         // pm 组有可读写权限
test = rw                                        // test 用户有可读写权限
server = r                                       // 如果设置账号只有子目录的写权限,那么该子目录的上级目录,必须要对该账号有可读权限
client = r                                       // 如果设置账号只有子目录的写权限,那么该子目录的上级目录,必须要对该账号有可读权限
* =                                              // 未登陆用户无权限


// 配置子目录权限
[/server]                                       // 也可以写成[project:/server]
@pm = rw                                        // pm 组有可读写权限
test = rw                                       // test 用户有可读写权限
@server = rw                                    // server 组用户有可读写权限
* =                                             // 未登陆用户无权限


// 配置子目录权限
[/client]                                      // 也可以写成[project:/client]
@pm = rw                                       // pm 组有可读写权限
test = rw                                      // test 用户有可读写权限
@client = rw                                   // client 组用户有可读写权限
* =                                            // 未登陆用户无权限


// 配置密码文件
vim conf/passwd
[users]
pm1 = pwd
pm2 = pwd
test = pwd
server1 = pwd
server2 = pwd
client1 = pwd
client2 = pwd

6、开启svn进程

svnserve -d -r /home/happy/www        // 注意:是仓库的根目录,不能写/home/happy/www/project

7、开启服务器防火墙(如需要)

vim /etc/sysconfig/iptables

// 添加一行
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

// 重启iptables
/etc/init.d/iptables reload

8、检出项目

svn://192.168.0.106/project

然后在根目录下面建立两个文件夹

server

client

提交至svn

通过测试证明 

pm组和test用户在所有文件夹均拥有读写权限

server组只在server目录具有写权限

client组只在client目录具有写权限

至此,svn配置完毕

你可能感兴趣的:(linux下svn安装+配置(一))