aptitude install subversion
接着在本地创建svn仓库。假设所有的svn项目都放在/var/local/svn下,每个项目单独一个目录。
mkdir -p /var/local/svn/proj1
mkdir -p /var/local/svn/proj2
svnadmin create /var/local/svn/proj1
svnadmin create /var/local/svn/proj2
svn服务器有很多种连接方法,以往我都是用ssh连接,这样的话不需要特别的配置,只要设置好目录的读写权限即可使用,对单用户使用来说非常方便。但是,如果多个用户协作工作时,使用ssh的话只能依靠操作系统进行权限控制,因此用户管理非常麻烦。所以这次尝试使用http连接方式,这样可以依赖web服务器进行用户权限管理。
使用http方式,先需要装apache,这个不用多说:
aptitude install apache2
接下来还要装相应的svn组件:
aptitude install libapache2-svn
然后需要让apache有权限读写svn仓库:
chown -R www-data:www-data /var/local/svn
还需要修改配置文件/etc/apache2/mods-available/dav_svn.conf:
引用:
DAV svn
SVNParentPath /var/local/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
这里我配置成只有合法用户(注意这里的合法用户并不是本机上的用户,而是密码文件/etc/subversion/passwd中存在的用户)才能使用svn。svn的url为 http://(my.domain.name)/svn/proj1这种形式。如果需要匿名读权限,可以参照原配置文件自行改动。
最后,创建密码文件,以及用户。
htpasswd -c /etc/subversion/passwd UserA
以后如果要添加用户,也使用同样的命令
htpasswd /etc/subversion/passwd UserB
因为我是内网使用svn,所以就不考虑安全性了。以后有机会再看如何配置https 连接。