Debian下安装Subversion版本管理工具

这里,我们采用的安装环境为:
操作系统:Debian
服务器:Apache2
所需软件:subversion subversion-tools libapache2-svn apache2

安装方式为:虚拟主机

一、安装SVN

    apt-get install subversion subversion-tools apache2 libapache2-svn

    启动SVN
    svnserver -d
    此进,可以检出源码了
    svn checkout svn:///var/svn_repos/codes/test

二、建立日志文件
    mkdir /var/log/apache2/subversion/

三、创建Subversion 版本库父目录,以存放版本库
    mkdir -p /var/svn_repos/codes/
    更改文件夹所有者,不然不能被APache2所访问
    chown -R www-data:www-data /var/log/apache2/

四、配置SVN
    cd /etc/apache2/site-available
    创建一个虚拟主机,名为svn,当然,这个虚拟主机的名字可以根据情况自行决定,复制以下内容
    <VirtualHost *:80 >
        DocumentRoot /var/svn_repos/codes/ #版本库的路径
        ServerName svn.jan.tech #虚拟主机的名称
        RedirectMatch ^(/repos)$ $1/ #访问时在虚拟主机名的后面要加上repos
        ErrorLog /var/log/apache2/subversion/error.log #错误日志
        LogLevel warn #日志级别
        CustomLog /var/log/apache2/subversion/access.log combined #访问日志

        <Location /repos>
                DAV svn
                AuthType Basic 
                AuthName "welcome to subversion repository" 
                AuthUserFile /var/svn_repos/passwd 
                #<LimitExcept GET PROPFIND OPTIONS REPORT> 
                    Require valid-user 
                #</LimitExcept> 
                SVNParentPath /var/svn_repos/codes/ #如果只有一个版本库,则用SVNPath
                SVNListParentPath On
                SVNAutoversioning On
                SVNReposName "捷安科技 代码版本库"
                AuthzSVNAccessFile /var/svn_repos/codes/svnaccess.authz #具体目录权限设定
        </Location>

    </VirtualHost>

五、建立版本库库
    svnadmin create --fs-type fsfs /var/svn_repos/codes/test
    其中,test为版本库的名称。
    更改版本库的所有者,否则,不能读取。
    chown -R www-data:www-data /var/svn_repos/codes/test

六、进入/var/svn_repos/codes/目录下,编辑svnaccess.authz文件,该文件为权限访问控制,可以控制用户访问哪个目录。

[groups]
elec = zhangsan,lisi
est = wangwu,maliu
finance = zhaoqi,hujiu

### End generated content: LDAP Groups to Subversion Authz Groups Bridge ###
[/]
* = r
hujiu = rw

[test:/]
* = r
zhangsan = rw
@est = rw

七、创建密码文件/var/svn_repos/passwd,该文件控制用户能否登陆apache2。

使用命令:htpasswd -c /var/svn_repos/passwd zhangsan 然后会提示输入密码。

再建立用户时把-c参数去了就行。
htpasswd /var/svn_repos/passwd lisi

八、重启下apache2
/etc/init.d/apache2 restart

如果我们没有DNS服务器(DNS服务器的架设,请参照Debian下DNS服务器的架设),可以直接修改hosts文件,加入
IP          域名
如:
10.0.0.230         svn.jan.tech
注:windows 的Hosts文件在c:\windows\system32\driver\etc目录下
Linux的hosts文件在/etc/hosts

然后打开浏览器,输入 http://svn.jan.tech/test

相关推荐