centos 6 64位服务器搭建svn服务器
本文详细的介绍了在centos 6 64位服务器上搭建svn服务器的详细过程。
工具/原料
环境linode vps centos6 64bit
svn是版本管理控制工具 安装简单方便;
svn独立服务器安装方式
svn独立服务器的搭建
1、环境准备yum groupinstall "X Software Development" "Development Libraries" "Development Tools"
2、下载所需的源码包subversion-deps-1.6.17.tar.gz svn 的支持库之类的文件wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gzsubversion-1.6.17.tar.gz svn 的主程序wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz
3、源码编译安装这两个要解压在同一个目录下tar zxvf subversion-deps-1.6.17.tar.gztar xvf subversion-1.6.17.tar.gzcd subversion-1.6.17./configure --prefix=/opt/svnmake && make install
4、修改环境变量
5、vi /etc/profile , 在/etc/profile 最后加入:PATH=$PATH:/opt/svn/binexport PATH检测是否安装成功svnserve --version显示如下信息则表示安装成功。svnserve, version 1.6.17 (r1128011)compiled Mar 23 2012, 16:57:41
配置svn
1、系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在版本库的conf 目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息。
2、创建svn库testsvnmkdir /var/svncd /var/svnsvnadmin create testsvcd testsv[root@nagios testsv]# lsconf db format hooks locks README.txt[root@nagios testsv]# cd conf/[root@nagios conf]# lsauthz passwd svnserve.conf
3、配置版本库信息[root@nagios conf]# vi svnserve.conf[general]anon-access = noneauth-access = writepassword-db = passwdauthzauthz-db = authzrealm = testsv(库的名字)[sasl]# use-sasl = true# min-encryption = 0# max-encryption = 256
4、定义版本库访问权限[root@nagios conf]拭貉强跳# vi authz[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/晦倘佳鳎O=Snake Oil, Ltd./OU=Research Institute/CN=JoeAverage[groups]# harryharry_and_sally = harry,sally# harryharry_sally_and_joe = harry,sally,&joe# [/foo/bar]# harry = rw# &joe = r# * =# [repository:/baz/fuz]# @harry_and_sally = rw# * = r#添加下面两句[/]testuser = rw[testsv]testuser = rw
5、定义用户密码[root@nagios conf]# cat passwd[users]# harry = harryssecret# sally = sallyssecrettestuser = testsv123456
启动svn服务
1、建立启动svn 的用户useradd svnpassw蟠校盯昂d svn根据提示为用户svn 设置密码允许用户sv荏鱿胫协n 访问版本库chown -R svn:svn /var/svn启动svn(1)用设定帐户启动su svn -c "svnserve -d --listen-port 9999 -r /var/svn"其中:su svn 表示以用户svn 的身份启动svn-d 表示以daemon 方式(后台运行)运行–listen-port 9999表示使用9999 端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root 权限-r /var/svn 指定根目录是/var/svn(2)对于单个代码仓库:
2、启动命令:svnserve -d -r 文件夹路径--listen-host 192.168.100.131其中-d 表示在后台运行, -r 指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip 来访问了。如果服务器有多ip 的话–listen-host 来指定监听的ip 地址.我们可以在svn 客户端中通过svn://192.168.100.131 来访问svn 服务器(3)对于多个代码仓库:我们在启动时也可以用-r 选项来指定服务器根目录, 但访问时需要写上每个仓库相对于svn根目录的相对路径.比如, 我们有两个代码仓库/var/svn/testsvsvnserve -d -r /var/svn --listen-host 192.168.1.100来启动,那么在客户端访问时可以用svn://192.168.100.100/testsv 来分别访问两个项目启动完成以后我启动的方法:[root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131注意:svn 默认端口是3690 ,你需要在防火墙上开放这个端口。也可以通过svnserve 的–listen-port选项来指定一个已经开放的其他端口, 不过这样的话客户端使用也必须家上端口, 如svn://192.168.100.200:8888/
3、检查是否启动成功(查看是否存在svnserve 进程)ps -ef莽炭克假|grep svnserve如果显示如下,即为启动成功:svn 6941 1 0 15:07 ? 00:00:00 svnserve -d –listen-port 9999 -r /var/svn我是用root 帐户启动的:[root@austit fabian]# svnserve -d -r /var/svn --listen-host 192.168.100.131[root@austit fabian]# ps -ef|grep svnserveroot 4513 1 0 21:07 ? 00:00:00 svnserve -d -r /var/svn --listen-host 192.168.100.131root 4515 4409 0 21:07 pts/1 00:00:00 grep svnserve
svn使用
1、然后用户下载客户端访问即可,推荐使用TortoiseSVN。