Centos Svn服务器搭建

浏览: 108 发布日期: 2016-08-18 分类: svn

系统环境:

uname -a
cat /proc/version
lsb_release -a 

CentOS release 6.4 

检查已安装版本

# rpm -qa subversion 

卸载旧版本SVN

# yum remove subversion 

安装svn

# yum install subversion // yum方式安装SVN 
# mkdir -p /opt/svn/repos // 创建SVN库 
# svnadmin create /opt/svn/repos // SVN库文件分别是conf, db,format,hooks, locks, README.txt。 

配置:

上面的操作很简单,几个命令就搞定, 下面的操作也不难。
进入上面生成的文件夹conf下,进行配置, 有以下几个文件authz, passwd, svnserve.conf
其中authz 是权限控制,可以设置哪些用户可以访问哪些目录, passwd是设置用户和密码的, > svnserve是设置svn相关的操作。

# 配置用户名和密码
# vim /opt/svn/repos/conf/passwd
[users]
# harry = harryssecret
# sally = sallyssecret
xzdesk = woshishui          # 用户名 = 密码




# 配置权限authz
# vim /opt/svn/repos/conf/authz
[/]
xzdesk = rw             # 表示xzdesk用户对所有的目录有读写权限,当然也可以限定。




# 设定svnserv.conf
# vim /opt/svn/repos/conf/svnserv.conf
[general]
anon-access = none     # 使非授权用户无法访问
auth-access = write    # 使授权用户有写权限
password-db = password   # 用户密码文件
authz-db = authz       # 访问控制文件
realm = /opt/svn/repos # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
采用默认配置. 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.



# 配置防火墙端口( 或直接关闭防护墙)
# vim /etc/sysconfig/iptables

添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
#service iptables restart

查看SVN进程和端口

# ps -ef|grep svnserve         // 查看进程
# netstat -ln |grep 3690       // 查看端口

常用命令

# 导入版本库
svn import /myobj svn://127.0.0.1/myobj -m "说明信息"

# 显示项目列表 
svn list svn://127.0.0.1/myobj


# 常用SVN命令 
剪出版本库中的可用的工作目录
svn co svn://127.0.0.1/myobj

添加文件到版本库
svn add *.php

删除文件( delete rm remove)
svn del Test.java

更新SVN版本库
svn up *.php

提交到版本库
svn ci -m “commit dir and file” test

移动或者重命名SVN工作目录
svn move Test.java Test2.java

打印SVN工作目录和文件状态
svn status -v *(可以使用通配符) 

连接测试

启动svn: 
# svnserve -d -r /opt/svn/repos

如果已经有svn在运行,可以换一个端口运行
# svnserve -d -r /opt/svn/repos --listen-port 3391

这样同一台服务器可以运行多个svnserver
好了,启动成功后,就可以使用了。
建议采用TortoiseSVN, 连接地址为: svn://127.0.0.1:3391/ (如果指定端口需要添加端口  :端口号)
连接后可以上传本地的文件,有效的管理你的代码。
返回顶部