SVN的安装和配置
1、安装SVN包括用apache2浏览SVN的插件
$sudo apt-get install subversion
$sudo apt-get install libapache2-svn //这个是安装apache部分,一旦不使用http协议可以不必装这个.
2、配置svn服务器端
首先,创建subversion用户组,并且将www-data和您自己这两个用户加入该组,并创建代码仓库
$sudo addgroup subversion
$sudo usermod -G subversion -a www-data
$sudo mkdir /opt/svn //创建SVN根位置
$cd /opt/svn //进入SVN根位置
$sudo mkdir nginx //创建项目代码库
$sudo svnadmin create /home/svn/npmonitor//创建一个新的代码库
//一旦不能访问请再执行接下来两句授权
$sudo chown -R root:subversion nginx//这里要给www-data添加权限,因为大家后面要用apache
$sudo chmod -R g+rws nginx//这个是为了赋予组成员对所有新加入文件仓库的文件拥有相应的权限
3、配置SVN访问方式
Subversion 文件仓库可以通过许多不同的方式进行访问(Check Out,签出)——通过本地硬盘,或者通过各种网络协议。
这里通过 WebDAV 协议访问SVN 文件仓库,必须配置您的 Apache 2 Web 服务器。您必须加入接下来的代码片段到您的 /etc/apache2/mods-available/dav_svn.conf中:
<Location /svn/webbase>
DAV svn
SVNPath /opt/svn/webbase
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
# To enable authorization via mod_authz_svn
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-use
</Location>
接下来,您需要创建 /etc/apache2/dav_svn.passwd 文件。该文件包含了用户授权的详细信息。要添加用户,您可以执行接下来的Linux命令:
$sudo htpasswd -c /etc/apache2/dav_svn.passwd user_name
它会提示您输入密码,当您输入了密码,该用户就建立了。
接下来,您需要创建 /etc/apache2/dav_svn.authz 文件。该文件用来配置其访问控制。
如新建dav_svn.authz文件,再输入
user_name=rw
这个是容许用户user_name访问webbase下的文件的读写权限。
详细的配置可以参考/opt/svn/webbase/conf下的authz文件。
当您添加了上面的内容,您必须重新起动 Apache 2 Web 服务器,请输入接下来的Linux命令:
$sudo /etc/init.d/apache2 restart
在webadmin添加完成后会有接下来的提示,照做就可以了
版本库 "webbase" 已添加。
您现在应该运行 trac-admin $ENV repository resync "webbase" 以同步Trac和版本库。
您还应该在版本库上设置一个 post-commit 钩子,对每一提交的变更集调用 trac-admin $ENV changeset added "webbase" $REV。
例:$sudo trac-admin /path/to/env changeset added "$1" "$2"