可以选择Apache + SVN搭建该环境. (假设测试机器装有Ubuntu)
1. 安装Apache:
apt-get install apache2
2. 安装Apache的SVN插件模块:
软件包在各版本中名称可能不一样, 先搜索下
apt-cache search apache | grep svn libapache2-svn - Subversion server modules for Apache apt-get install libapache2-svn
3. 建立SVN资源库:
cd / mkdir svn cd svn svnadmin create srcdemo
4. 配置Apache的SVN配置文档:
cd /etc/apache2/mods-available vi 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 repository DAV 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 Basic AuthName "Subversion Repository" AuthUserFile /etc/apache2/dav_svn.passwd # To enable authorization via mod_authz_svn AuthzSVNAccessFile /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/apache2 htpasswd dav_svn.passwd svnuser1
6. 设置SVN资源库访问规则:
vi /etc/apache2/dav_svn.authz [/] * = r [groups] admin=svnuser1 [srcdemo:/] @admin=rw *=r
7. 除此之外, 个人比较喜欢webmin这个管理工具, 建议安装, URL链接如下: