在RHEL6中安装和使用Subversion服务器
一、安装
1.下载:
subversion-1.6.11.tar.gz及subversion-deps-1.6.11.tar.gz
eg:
wget http://subversion.tigris.org/downloads/subversion-1.6.11.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.11.tar.gz
2.安装:
tar zxvf subversion-1.6.11.tar.gz
tar zxvf subversion-deps-1.6.11.tar.gz
cd subversion-1.6.11/
./configure --prefix=/usr/local/svn
make && make install
3.设置环境变量:
su -
PATH=$PATH:/usr/local/svn/bin
export PATH
svnserve --version
二、仓库及权限配置
1.建立svn根目录,以及一个仓库目录
mkdir -p /home/svnadmin/svnroot #-p create parent dir, if not exists.
cd /home/svnadmin/svnroot
mkdir javasource
svnadmin create /home/svnadmin/svnroot/javasource #创建一个仓库
2.准备测试数据
mkdir -p /home/svnadmin/svndataroot
cd /home/svnadmin/svndataroot
mkdir javasource
cd javasource
mkdir trunk
mkdir final
cd trunk
mkdir helloworld
cd helloworld
mkdir src
cd src
vi HelloWorld.java
cd /home/svnadmin/svndataroot/javasource
3.导入测试数据到仓库中
svn import ./ file:///home/svnadmin/svnroot/javasource -m "some info"
说明:导入数据后,源数据就没用了,可以删除。
4.权限配置
vi /home/svnadmin/svnroot/javasource/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
vi /home/svnadmin/svnroot/javasource/conf/authz
[groups]
admin=svnadmin
pms=hymer,howard
[javasource:/trunk]
@admin = rw
@pms = rw
* =
[javasource:/final]
@admin = rw
@pms = r
* =
vi /home/svnadmin/svnroot/javasource/conf/passwd
[users]
svnadmin=svnadmin
hymer=hymer
howard=howard
三、启动及停止svn服务器
1.启动服务器
svnserve -d -r /home/svnadmin/svnroot
2.停止服务器
su -
killall svnserve
四、建议及参考
通常,一个SVN被当作一个大仓库,不仅仅用来存放code,也经常用来存放doc等资料,当然,最好是文档资料。在此,我们将code和doc都统称为仓库。
用同一个用户及权限管理文件来管理整个svn系统是比较合理和方便的,所以,建议的作法是:
1.将authz及passwd文件放在svnroot下,并改名为隐藏文件.authz和.passwd;
2.在.authz和.passwd文件中做统一的权限及用户密码配置;
3.在各仓库下的conf/svnserve.conf文件中,将
password-db = passwd
authz-db = authz
修改为:
password-db = ../../.passwd
authz-db = ../../.authz
4.重新启动svn:
su -
killall svnserve
svnserve -d -r /home/svnadmin/svnroot