安装了一下SVN服务器,本文没有与Apache整合,过程如下:
检查已安装版本 #检查是否安装了低版本的SVN |
#如果存储旧版本,卸载旧版本SVN [[email protected] modules]# yum remove subversion |
安装SVN [[email protected] modules]# yum install |
验证安装 检验已经安装的SVN版本信息 svnserve,版本 1.6.11 (r934486) 版权所有 (C) 2000-2009 |
代码库创建
SVN软件安装完成后还需要建立SVN库
[[email protected] modules]# mkdir -p /opt/svn/repo [[email protected] modules]# svnadmin create /opt/svn/repo |
执行上面的命令后,自动建立repo测试库,查看/opt/svn/repo 文件夹发现包含了conf,
db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
配置代码库
进入上面生成的文件夹conf下,进行配置 [[email protected] modules]# cd /opt/svn/repo/conf 用户密码passwd配置 [[email protected] password]# cd |
[[email protected] conf]# vim passwd 修改passwd为以下内容: [users] hello=123 用户名=密码 |
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
权限控制authz配置
[[email protected] conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源
[/] 或者写成[repl:/] hello = rw |
意思是hello用户对repo测试库下所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
服务svnserve.conf配置
[[email protected] conf]# vim svnserve.conf
追加以下内容: [general] realm=/opt/svn/repositories |
以上语句都必须顶格写, 左侧不能留空格, 否则会出错. 配置防火墙端口 [[email protected] conf]# vi |
添加以下内容: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT 保存后重启防火墙 [[email protected] conf]# service iptables restart |
启动SVN svnserve -d -r /opt/svn/repo |
查看SVN进程 [[email protected] conf]# ps -ef|grep 检测SVN 端口 [[email protected] conf]# netstat -ln 停止重启SVN [[email protected] password]# killall 如果已经有svn在运行,可以换一个端口运行 |
测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.15.231
用户名/密码: hello/123
测试创建文件夹等操作。
创建版本库:
终端输入:svnadmin create [路径]
该路径可以是相对路径,例如,当前在home/user/svn/目录下,输入svnadmin create myproject,则该版本库会被创建在home/user/svn/目录下,新建一个文件夹名为myproject,其中便是版本库的文件了。
将文件导入版本库:
终端输入:svn import [源路径] [目标版本库路径] -m [日志信息]
源路径可以是相对路径,导入时会递归导入源路径下的所有文件和文件夹,目标版本库路径需要绝对目录(反正我试验是这样的),例如版本库的目录是:home/user/svn/myproject/。则应该这样写:file:///home/user/svn/myproject/
例如将当前目录导入版本库myproject:
svn import . file:///home/user/svn/myproject -m"导入文件"
centos 6.2下的svn服务器的配置(YUM安装)