这周开始上班了,因为临时的工作场所离家比较远,就在朋友那里暂住了几天。博客也一周多没更新了,周末这两天才想起最近买了台xen架构的vps,256的,仅仅做测试用,所以这两天就一直折腾这机器了。这里要说的就是折腾中总结的东西,希望有用。

因为做开发,希望搞个自己的私人svn,第三方的服务又不大信任,于是打算在vps上搭建svn试试,正常情况下我一般使用lnmp跑网站,有些情况也可能再加一个apache来处理后端。

众所周知,svn可以以独立服务器形式安装,也可以以apache为基础安装,为了便于web方式的定位查看,某个文件,决定搭建apache+svn的服务器。但vps上装了lnmp,于是就继续增加了lnmp一键包的兼容apache包,本以为可以顺利,没想到安装后遇到各种问题,这里就不再讨论了,据说是因为我使用的军哥的lnmp在apache的端口上做了更改,监听的不是默认端口,需要转发。这对于linux知识几乎空白的我,似乎很难实现,搜索很多文章测试无果,最终放弃了,并选择了svn独立服务器。下面是在网上搜集整理的linux下安装独立svn服务器的简明步骤。发出来填补一下博客一周没更新的空白吧。

系统环境:CentOS 5.8 32bit
内存:256 MB

直接

yum install subversion

很快就完成了,结束后配置SVN服务器端的版本库

一般在/usr/local下建立SVN文件夹并赋予777

chmod -R 777 /usr/local/svn

然后直接执行命令

svnadmin create /usr/local/svn/project

其中project等文件夹都可以随意命名。
这样,独立的svn服务器端就建立好了。

现在需要的是用户能访问这个SVN,那就要对SVN进行一些配置,默认情况下是针对单个版本库有独立的用户密码等权限控制的。所以,在版本库中(即版本库目录下)会有svnserve.conf、authz、passwd等文件,我们只需修改三个文件。

1、修改svnserve.conf
命令如下:
vi svnserve.conf
内容中有如下已注释部分
# anon-access = read
# auth-access = write
# password-db = passwd
把前面的#号和空格去掉,如下
anon-access = none
auth-access = write
password-db = passwd
2、修改authz
[groups]
poorren = poorren //创建一个poorren的组,并制定一个用户poorren
[/]
//制定根目录下的权限
@poorren = rw //poorren组用户权限为读写
*= r //其他用户只有读权限
3、修改passwd
//创建或修改用户密码
[users]
poorren = 123456 //用户名为poorren的用户的密码为123456
到这里就配置结束了,然后启动svn服务
svnserve -d -r /usr/local/svn
如果想开机就启动的话,就
vi /etc/rc.local
直接把上面命令放到这个文件里保存后退出。

全部工作做好了就可以使用客户端来同步数据了,这里安装的是独立的svn服务器,所以不能使用http形式的访问方式,需要使用svn://server ip/poorren来访问。

剩下的就是客户端的具体使用了,不在本文讨论范围内,这里不做赘述了。另外,小子也仍在学习linux的使用,目前一直折腾CentOS,如果有对CentOS比较了解的朋友,欢迎指点。