在RedHat下安装配置SVN

相关软件包

httpd-.tar.gz

subversion-.tar.gz

TortoiseSVN-.7501-win32-svn-1.4.0.msi

服务器端安装

以root身份执行

# tar xzvf httpd-.tar.gz

# cd httpd-

安装apr

# cd srclib/apr

# ./configure --prefix=/usr/local/apr

# make

# make install

安装apr-util

# cd ../apr-util/

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make

# make install

# cd ../../

安装apache

#./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --enable-mods-shared=most --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

# make

# make install

安装Subversion

#tar zxvf subversion-.tar.gz

#cd subversion-

#./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

#make clean

#make

#make install

SVN服务器安装结束,确认httpd.conf文件中有以下内容(安装SVN后自动加的):

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

安装window客户机端

直接安装TortoiseSVN--UNICODE_svn-1.1.1.msi,方法同一般软件安装相同。

创建SVN中央仓储与test仓库

# ./svnadmin create /usr/local/svnrepo

# chown –R nobody /usr/local/svnrepo(与apache的httpd.conf的用户一致)

进入/usr/local/svnrepo看看是否多了如下文件:conf/ dav/ db/ format hooks/ locks/ README.txt,如果是说明Subversion安装成功了

# ./svnadmin create /usr/local/svnrepo/test

# chown –R nobody /usr/local/svnrepo/test

建立认证文件

# htpasswd –c /etc/.htpasswd usename

然后系统会提示输入两次用户密码,该用户名和密码会保存在.htpasswd文件中

接着在/usr/local/apache2/httpd.conf中加入(认证文件和权限文件):

<Location /svn >

DAV svn

SVNParentPath /usr/local/svnrepo

AuthType Basic

AuthName “Subversion repository”

AuthUserFile /etc/.htpasswd

#for access

AuthzSVNAccessFile /usr/local/svnrepo/conf/svnserve.conf

#Satisfy Any

Require valid-user

</Location>

设置访问权限

# cd /usr/local/svn/conf

vi svnserve.conf

[/]      //所有仓库的根目录下

admin = rw

[test:/]        //test仓库的根目录下的访问权限

user1 = rw     //test仓库user1用户具有读和写的权限

user2 = r      // test仓库user2用户具有读的权限

[test:/src]         // test仓库下目录src下的访问权限

user2 = rw      //test仓库user2用户具有读和写的权限

user1 =    //test仓库user1没有任何权限

#[/] // 这个表示在所有仓库的根目录下
#* = r // 这个表示对所有的用户都具有读权限
#[groups] // 这个表示群组设置
#developers = harry, sally // 这个表示某群组里的成员
#[svn1:/]
#@ developers = rw // 如果在前面加上@符号,则表示这是个群组权限设置

设置完成后,重启apache,就可以通过http://IP/svn/test来访问test仓库。

原文地址:https://www.cnblogs.com/danghuijian/p/4400376.html