Linux 安装svn服务器
下载Subversion
尽管Subversion是apache的一个项目,然而Apache没有为任何系统单独开发安装的二进制文件,下面的链接是任何版本的Linux安装svn的方式。
Linux安装Subversion链接 ,使用包管理命令例如,YUM和APT包管理安装软件。
windows安装链接 ,下载之后直接点击安装即可(需要记住安装路径)。
安装Subversion
Linux 安装使用以下命令进行安装:
sudo yum install subversion
apt-get install subversion
windows安装,点击下载的安装包,并设置相应的安装路径。
检验subversion是否成功,输入以下命令就可以看到安装的svn版本。
svnserve --version
windows安装之后检测是否安装成功,需要在环境变量配置中添加相应的安装包的路径。
开启Subversion服务
Linux安装Subversion的时候就自动创建了一个启动服务的文件脚本,路径为 /etc/init.d/svnserve。这个脚本可以用来开启Subversion服务。Linux环境下开启Subversion服务的命令如下:
sudo /etc/init.d/svnserve start
windows的话直接在控制面板中进行该服务的开启。
创建SVN版本库目录
在linux中创建版本库目录的命令如下:
mkdir -p REPOS_PATH
REPOS_PATH 代表的是创建版本库目录的路径。
比如:
mkdir –p /ciroot/subversion/repository
在windows 下创建版本库目录的命令如下:
mkdir REPOS_PATH
比如:
mkdir C:\ciroot\subversion\repository
创建SVN版本库
接着通过上一步创建的版本库目录进行SVN版本库创建。在linux下创建版本库的命令如下:
svnadmin create /ciroot/subversion/repository
在windows下创建版本库的命令如下:
svnadmin create C:\ciroot\subversion\repository
执行后,自动建立repositories库,查看/opt/svn/repositories文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。
通过svn客户端访问svn版本是有文件权限以及用户访问权限控制的,下面通过配置文件来配置访问权限。默认用户具有只读权限。
配置SVN版本库
下面为了能够通过SVN客户端进行版本库的访问,通过进入REPOS_PATH
/conf/目录下的文件来进行配置,配置方式如下。注:REPOS_PATH 是上面创建版本库目录。
进入到conf目录下:
cd /ciroot/subversion/repository/conf
进入该目录,发现有authz、 passwd、svnserve.conf 。
authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件
进入配置文件中设置账号密码
输入如下命令进入账号密码设置。
vi passwd
在[users]块中添加用户和密码,格式:帐号=密码,如test=123456
设置权限
输入如下命令进行权限的配置。
vi authz
设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[/] test=rw //给该用户访问所有库的权限
或
[repository:/project] //repository库的根目录权限
test=rw
/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/ciroot/subversion;/ 就是指对全部版本库都具有权限
repository:/ 表示对库repository的根目录设置权限
PS:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
svnserve.conf文件配置
输入如下命令,对svnserve.conf进行配置
vi svnserve.conf
[general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm=/ciroot/subversion/repository
这里注意各标签不能错,也不能有重复,不然无法连接。
启动svn版本库
# svnserve -d -r /ciroot/subversion/repository
输入如下命令检查svn是否启动成功。
ps -ef|grep svn|grep -v grep
停止和启动svn
# killall svnserve //停止 # svnserve -d -r /opt/svn/repositories // 启动
最后通过安装tortoisesvn 客户端进行验证。
出处:http://www.cnblogs.com/Hackerman/