CentOS/RHEL 5.x安装Subversion(SVN)版本控制服务器
版本控制对很多项目都是非常重要,有一个可以通过Internet访问的版本控制服务器,无论在家还是在单位都可以访问,在很多时候还是很方便的。即使是一个人的小项目,有版本控制的优点也是明显的。
自己习惯用Subversion(SVN),SVN是近年才流行的免费开源版本管理工具,大有取代CVS之势。目前,很多开源软件都使用SVN作为代码版本控制管理工具。
今天在VPS上安装了SVN了,并且从以前的备份恢复了Repository。SVN服务器有2种运行方式:独立服务器和借助apacherr的HTTP方式,各种利弊,因人而异吧,自己选择了独立服务方式。
下面记录一下快速安装的过程。
1. 安装Subversion(SVN),CentOS/RHEL 5.x中带的SVN版本是1.4.2
yum install subversion
2. 创建一个运行svn服务的用户,可以用现有用户,单独的svn用户会容易管理些。
useradd svnuser
3. 创建 svn repository
mkidr -p /var/svn
cd /var/svn
svnadmin create repos
chown -R svnuser.svnuser repos
4. 恢复以前的备份
svnadmin load repos < repos.dump
(备份命令是: svnadmin dump /var/svn/repos > repos.dump )
5. 配置安全及用户。因为是自己用,只配置了一个用户,也没有使用基于路径的授权
# /etc/svn/repos/conf/svnserve.conf
anon-access = none #不允许匿名用户访问,必须登录
auth-access = write #登录用户授权可读写
password-db = passwd #用户密码文件
realm = My Repository
#password 配置可访问用户
svnuser = secret #用户名=密码
6. 启动SVN服务
su – svnuser
svnserve -d -r /var/svn/repos
这时客户端就可以使用了,repos路径为svn://xxx.xxx.xxx.xxx/,需要使用所配置的用户登录(例子是中svnuser)
也可以把SVN配置成xinetd服务,这样在reboot时可以自动启动svn服务:
在/etc/xinetd.d/下面新建svn文件
service svn
{
disable = no
port = 3690
socket_type = stream
protocol = tcp
wait = no
user = svnuser
server = /usr/bin/svnserve
server_args = -i -r /var/svn/repos
}
重启xinetd:
service xinetd restart
7. 新建项目时,建议的项目目录结构
projectx
–trunk #存放主线
–branches #存放分支,可修改
–tags #存放标记,不可修改
svn import projectx file:///var/svn/repos -m “project initial import”
相关文章:
