finux 发表于 2013-1-15 14:04:38

linux环境搭建svn服务器

可以选择Apache + SVN搭建该环境. (假设测试机器装有Ubuntu)
 

1. 安装Apache:

apt-get install apache2 

2. 安装Apache的SVN插件模块:
软件包在各版本中名称可能不一样, 先搜索下

apt-cache search apache | grep svnlibapache2-svn - Subversion server modules for Apacheapt-get install libapache2-svn 

3. 建立SVN资源库:

cd /mkdir svncd svnsvnadmin create srcdemo 

4. 配置Apache的SVN配置文档:

cd /etc/apache2/mods-availablevi dav_svn.conf 做适当的修改, 举例设置如下:

# dav_svn.conf - Example Subversion/Apache configuration## For details and further options see the Apache user manual and# the Subversion book.## NOTE: for a setup with multiple vhosts, you will want to do this# configuration in /etc/apache2/sites-available/*, not here.# <Location URL> ... </Location># URL controls how the repository appears to the outside world.# In this example clients access the repository as http://hostname/svn/# Note, a literal /svn should NOT exist in your document root.<Location /svn># Uncomment this to enable the repositoryDAV svn# Set this to the path to your repository#SVNPath /var/lib/svn# Alternatively, use SVNParentPath if you have multiple repositories under# under a single directory (/var/lib/svn/repo1, /var/lib/svn/repo2, ...).# You need either SVNPath and SVNParentPath, but not both.SVNParentPath /svn# Access control is done at 3 levels: (1) Apache authentication, via# any of several methods.A "Basic Auth" section is commented out# below.(2) Apache <Limit> and <LimitExcept>, also commented out# below.(3) mod_authz_svn is a svn-specific authorization module# which offers fine-grained read/write access control for paths# within a repository.(The first two layers are coarse-grained; you# can only enable/disable access to an entire repository.)Note that# mod_authz_svn is noticeably slower than the other two layers, so if# you don't need the fine-grained control, don't configure it.# Basic Authentication is repository-wide.It is not secure unless# you are using https.See the 'htpasswd' command to create and# manage the password file - and the documentation for the# 'auth_basic' and 'authn_file' modules, which you will need for this# (enable them with 'a2enmod').AuthType BasicAuthName "Subversion Repository"AuthUserFile /etc/apache2/dav_svn.passwd# To enable authorization via mod_authz_svnAuthzSVNAccessFile /etc/apache2/dav_svn.authz# The following three lines allow anonymous read, but make# committers authenticate themselves.It requires the 'authz_user'# module (enable it with 'a2enmod').#<LimitExcept GET PROPFIND OPTIONS REPORT>    Require valid-user#</LimitExcept></Location> 
5. 添加SVN账号:

cd /etc/apache2htpasswd dav_svn.passwd svnuser1 

6. 设置SVN资源库访问规则:

vi /etc/apache2/dav_svn.authz[/]* = radmin=svnuser1@admin=rw*=r 
7. 除此之外, 个人比较喜欢webmin这个管理工具, 建议安装, URL链接如下:
http://www.webmin.com/
页: [1]
查看完整版本: linux环境搭建svn服务器