Linux平台下的SVN服务器的安装及使用小结
一、 Linux的安装
配置网络,获取IP。
二、 环境的搭建
下载匹配的http和Subversion的安装包,然后逐个安装配置。
(1)http的安装
解压http安装包,然后安装到某预定目录下。安装完成后,启动apache服务。
//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。
(2)Subversion的安装
解压subversion安装包,然后安装到某预定目录下。
*安装subversion的时候,可能会提示错误,如sqlite版本太低。
(3)创建一个新用户,作为svn的用户。
#groupadd svn
#useradd svnroot –g svn
#passwd svnroot
*最好不要让root用户参与到svn的权限管理和日常的运行和维护工作中来。
(4)创建svn文件库(必须使用svnroot用户进行下述操作)
# mkdir /home/svnroot/repository1 //创建库repository1
#/usr/local/subversion/bin/svnadmin create /home/svnroot/repository1/test1//创建仓库"test1"
# /usr/local/subversion/bin/svnadmin – –version //查看svn是否安装成功
# chmod 700 /home/svnroot/repository1 //不让其他人有该目录的权限
(svnroot用户操作结束)
*也可通过查看test1中是不是多了些文件,来判断svn是否安装成功。
(5)修改Apache配置文件
创建好svn的文件库后,我们就可以进行apache的配置了。
编辑apache安装目录下的…/conf/httpd.conf
a)设置监听端口
b)修改svn用户名和组(默认的可能是deamon)。Apache进程就会以svnroot的身份运行。
c)在最下面添加如下图所示内容。
其中,authfile是通过“/usr/local/apache2/bin/htpasswd [–c ] /home/svnroot/repository/authfile username”来创建的。
*第一次设置用户时要使用-c,之后都不需要。
每次修改apahce配置文件,要想让他生效,就必须重启apache。
三、 Svn管理
(1)权限分配
添加好所有用户后,首先将其按项目分组,再细化权限的分配。对于权限的分配,我们只要在authz.conf进行统一的管理。
(2)文件导入到项目库
通过import将文件导入到项目库,如:“/usr/local/subversion/bin/svnimport [源项目文件] file:///home/svnroot/reposity1/test1 -m “注释””
(3)用户操作
具有读权限的用户,不仅可以通过web的方式访问,查看项目文件,也可以通过svn客户端软件checkout项目文件,然后read(具有读写权限的用户,不但可以阅读文件,还可以对文件进行修改。如果提交了commit,这时,文件的版本号将增一)。
访问路径:http://192.168.223.131:8080/svn/test*/
建议:希望用户要修改文件之前,先更新到最新版本,再进行修改,以免发生冲突。
(4)svn用户的管理(亦称svn管理员)
svn用户肩负着管理svn文件库的重大责任。不仅要保障用户的正常工作且尽然有序,更重要的是保证文件的安全性。
A)用户工作的管理
对于用户工作的管理,首先,要明确的定义用户的权限。其次,要规范用户的使用。规范化的使用,不但会减少开发过程中带来的麻烦,同时,也会减轻svn管理员的工作量,提高工作效率。
规范:每天工作前更新;每天工作结束提交当天的工作;提交修改的文件必须要用自己的账号;提交修改文件写明备注等等。
B)保证文件的安全性
u 定期备份(本地或远程)
u 基于某客户需求而更改的文件或项目
为了能够在最短的时间获取我们需要的某个版本的文件,特将svn的库设计为如下结构,当然,我们的备份工作也是按照他来执行的。