• Moges
  • 2012-08-13

CentOS 6.3 64位安装svn服务器方法

本文详细的介绍了在CentOS 6.3 64位安装svn服务器方法

工具/原料

环境linode vps centos6 64bit

 

svn是版本管理控制工具 安装简单方便;

 

svn独立服务器安装方式

 

 

svn独立服务器的搭建

环境准备

 

 

yum groupinstall "X Software Development" "Development Libraries" "Development Tools"

 

下载所需的源码包

 

 

subversion-deps-1.6.17.tar.gz svn 的支持库之类的文件

wget http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.gz

subversion-1.6.17.tar.gz svn 的主程序

wget http://subversion.tigris.org/downloads/subversion-1.6.17.tar.gz

 

 

 

源码编译安装

 

 

 

这两个要解压在同一个目录下

tar zxvf subversion-deps-1.6.17.tar.gz

tar xvf subversion-1.6.17.tar.gz

cd subversion-1.6.17

./configure --prefix=/opt/svn

make && make install

 

修改环境变量

 

vi /etc/profile , 在/etc/profile 最后加入:

PATH=$PATH:/opt/svn/bin

export PATH

检测是否安装成功

svnserve --version

显示如下信息则表示安装成功。

svnserve, version 1.6.17 (r1128011)

compiled Mar 23 2012, 16:57:41

 

配置svn

系统采用为每个项目单独建一版本库的策略。配置文件,密码文件,访问控制文件等都放在

版本库的conf 目录下。所以每次开始一个新项目都必须新建一个版本库,并重新配置各配

置文件。还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路

径等信息。

 

创建svn库testsvn

 

 

mkdir /var/svn

cd /var/svn

svnadmin create testsv

cd testsv

[root@nagios testsv]# ls

conf db format hooks locks README.txt

[root@nagios testsv]# cd conf/

[root@nagios conf]# ls

authz passwd svnserve.conf

 

配置版本库信息

 

 

[root@nagios conf]# vi svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = passwd

authzauthz-db = authz

realm = testsv(库的名字)

[sasl]

# use-sasl = true

# min-encryption = 0

# max-encryption = 256

 

定义版本库访问权限

 

 

[root@nagios conf]# vi authz

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe

Average

[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

 

定义用户密码

 

 

[root@nagios conf]# cat passwd

[users]

# harry = harryssecret

# sally = sallyssecret

testuser = testsv123456

 

启动svn服务

建立启动svn 的用户

 

 

useradd svn

passwd svn

根据提示为用户svn 设置密码

允许用户svn 访问版本库

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)对于单个代码仓库:

 

启动命令:

 

 

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/testsv

svnserve -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/

 

检查是否启动成功

 

 

(查看是否存在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 svnserve

root 4513 1 0 21:07 ? 00:00:00 svnserve -d -r /var/svn --listen-host 192.168.100.131

root 4515 4409 0 21:07 pts/1 00:00:00 grep svnserve

 

 

 

svn使用

 

 

然后用户下载客户端访问即可,推荐使用TortoiseSVN。

 

 

 

注意事项

尽量不要使用centos自带的svn版本服务器

 

安装过程不要断掉ssh链接,否则容易出现未知错误。可以使用screen来避免ssh断线的问题。

 

  •  

Professional mold, automation parts manufacturing industry management software
Small and Medium-sized Enterprise ERP, MES, and MRP Solutions
Trade Inventory SaaS Management System, Linux Email Server Solution

Tel: 18625220688

Solutions

Mold Manufacturing Digitalization
Focused on mold shop production management, significantly shortening delivery cycles
ERP Systems for the Sheet Metal Industry
End-to-end management of laser cutting, bending, and welding
Custom Automation Equipment Management
Integrated quotes, production progress, and cost accounting
Tooling & Fixture Management Systems
Fully digital control of the inspection fixture production process

Resource Downloads

MES Whitepaper

In-depth Guide to Mold Manufacturing Execution Systems

Product Documentation

Moges PMS System Feature Guide

FAQ

Answers to all your questions

Contact Us

Now
Talk to Us

14 years of industry experience, focused on the digital transformation of mold, sheet metal, and custom automation equipment manufacturing

186 2522 0688

Headquartered in Kunshan, with on-site service within a 2-hour radius

Contact
Product & Service Inquiry

Free Online Consultation on Products & Solutions

Get a Quote

FAQ

Q:CentOS 6.3安装SVN必须用源码编译吗?
A:是的,官方yum源中CentOS 6.3默认不提供SVN 1.6+版本,需手动编译安装以获得稳定支持。

Q:subversion-deps和subversion主包为何要解压到同一目录?
A:因configure脚本会自动查找同级目录下的deps源码,否则编译时提示apr/apr-util等库缺失。

Q:安装后如何验证SVN服务是否就绪?
A:执行svnserve --version,显示1.6.17版本号即表示二进制已正确安装并加入PATH。

Q:为何推荐安装路径为/opt/svn?
A:/opt适用于第三方独立软件,避免与系统包冲突,且便于权限隔离和后续升级维护。

Latest News

Online Subscription