在Ubuntu Linux中使用Apache2管理Subversion版本控制系统
上次我们讲了Subversion的基本使用,但还只是单机操作,如果要在网络中进行多人协作开发,我们就要使用Web服务器来管理Subversion资源库了。在这里我们选用Apache这个业内最著名服务器的下一代版本Apache 2。
参考资料:Debian-Reference
除安装过程只适用Ubuntu外,别的步骤在其他Linux发行版中都差不多。
(andyluo是我的用户名,请做相应修改)
1、安装Apache2和Subversion模块
在Synaptic里搜索“apache2”, 安装apache2, apache2-common, apache2-utils, apache2-doc(apache文档,推荐安装), libapache2-svn(Apache2的Subversion模块)。
2、创建Subversion库
创建目录:
$ sudo mkdir -p /var/local/repos
创建Subversion库:
$ sudo svnadmin create /var/local/repos
将所有权授予Apache(www-data), 使之能对库文件进行读写操作:
$ sudo chown -R www-data:www-data /var/local/repos
3、配置Apache2(使用基本验证方式,即用户名和密码)
修改/etc/apache2/mods-available/dav_svn.conf, 将对应行改为:
<Location /repos>
DAV svn
SVNPath /var/local/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>
可选步骤:添加用户验证文件(添加后,andyluo使用Subversion就不用输入密码了):
# sudo htpasswd2 -c /etc/subversion/passwd andyluo
4、重启Apache2:
# sudo /etc/init.d/apache2 restart
5、打开浏览器,访问http://localhost/repos, 就可以看到Subversion库的网页。(当然,现在还没有任何东东,下面我们要导入一些文件)
6、添加/home/andyluo/workspace中的文件到http://localhost/repos下的workspace目录
$ svn import -m "操作注释" /home/andyluo/workspace http://localhost/repos/workspace
7、checkout http://localhost/repos/workspace 中的文件到/home/andyluo/test
$ svn checkout http://localhost/repos/workspace /home/andyluo/test
有关Subversion方面的技术,欢迎回复讨论。