安装了一下SVN服务器,本文没有与Apache整合,过程如下:
一,下载相关软件:
[root@localhost ~]# wgethttp://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
[root@localhost ~]# wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
二,安装及配置:
1,解压,要在同一个目录下:
[root@localhost ~]# tar -zxvfsubversion-1.6.1.tar.gz
[root@localhost ~]# tar -zxvfsubversion-deps-1.6.1.tar.gz
2,编译及安装:
[root@localhost ~]# cd subversion-1.6.1
[root@localhost subversion-1.6.1]#./configure 先编译,不指定路径,看是否报错
报错一:
configure: error: in`/root/subversion-1.6.1':
configure: error: no acceptable C compilerfound in $PATH 此错误的意思是没有安装gcc语言
解决方法:yuminstall gcc ,安装后再次执行./configure看是否报错
报错二:
configure: error: We requireOpenSSL; try --with-openssl 没有安openssl openssl-devel
解决方法:yuminstall openssl openssl-devel, 安装后再次执行./configure看是否报错
报错三:
configure: error: no XML parser was found: expat or libxml 2.x required
解决方法:yuminstall expat, 如果装不上就源码装安装后再次执行./configure看是否报错,
如果还有错误就根据提示一直解决,不会的百度,直到出现下列正确提示:
Berkeley DB here:
http://www.Oracle.com/technology/software/products/berkeley-db/index.html
成功后执行下列操作
[root@localhost subversion-1.6.1]#./configure --prefix=/usr/local/svn/
[root@localhost subversion-1.6.1]# make&& make install
3,把svn相关的命令添加到环境变量中:
[root@localhost subversion-1.6.1]# echo"export PATH=$PATH:/usr/local/svn/bin/" >> /etc/profile
[root@localhost subversion-1.6.1]#source /etc/profile
[root@localhost subversion-1.6.1]# cd /usr/local/svn/
[root@localhost svn]# ls 看到下面有内容,说明安装成功
bin build-1 include lib share
[root@localhost ~]# /usr/local/svn/bin/svnserve --version 查看SVN版本信息,出现版本信息为正确
三,建立测试仓库:
1,建立SVN的根目录,研发中心有多个项目部:
[root@youxia201 subversion-1.6.1]# mkdir-p /opt/svn/
2,建立一个测试仓库:
[root@localhost subversion-1.6.1]# mkdir-p /opt/svn/svntest/
[root@localhost subversion-1.6.1]#svnadmin create /opt/svn/svntest/
3,修改配置文件:
[root@localhost ~]# cd /opt/svn/svntest/
[root@localhost svntest]# ls
conf db format hooks locks README.txt
[root@localhost svntest]# cd /opt/svn/svntest/conf/
[root@localhost conf]# ll
总计 24
-rw-r--r-- 1 root root 710 08-25 09:40 authz
-rw-r--r-- 1 root root 325 08-25 09:38 passwd
-rw-r--r-- 1 root root 1449 08-25 09:36svnserve.conf
[root@localhost conf]# vi svnserve.conf 修改svn配置文件
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password
authz-db = authz # 访问控制文件
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@localhost conf]# vi authz 指定svn用户拥有的目录权限
[svntest:/]
hello = rw
意思是hello用户对svntest测试库所有的目录有读写权限,当然也可以限定。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@localhost conf]# vi passwd 指定svn用户名和密码
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
用户名=密码
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@localhost conf]# svnserve -d -r /opt/svn/svntest/ 启动SVN测试库
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391
四,启服务器及测试:
1,启SVN服务,并指定SVN的根目录:
[root@localhost test]# svnserve -d -r/opt/svn/
在这里特别的要注意,/opt/svn是仓库的根目录,不要和[svntest:/]目录重叠了。如果重叠是会提示错误
[root@localhost conf]# svn co svn://127.0.0.1 在本机上测试svn是否生效
认证领域: <svn://127.0.0.1:3690>ed4c06a0-3c8f-11e3-b7ad-e704fa0b2aec
用户名: hello
“hello”的密码:
注意! 你的密码,对于认证域:
<svn://127.0.0.1:3690> ed4c06a0-3c8f-11e3-b7ad-e704fa0b2aec
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
保存未加密的密码(yes/no)?y
请输入 'yes' 或'no': yes
不让它每次输入都提示yes/on的办法
编辑vim /root/.subversion/servers 找到下行去掉#号将on改为yes,上面绿色部分已提示# store-plaintext-passwords = no
2,服务已经正常起来:
[root@localhost conf]# netstat -anpl |grep svn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 318/svnserve
创建版本库:
终端输入: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"导入文件"
从版本库导出:
导入后原文件并未被纳入版本管理,若想获得受版本控制的文件,就需要从版本库导出
终端输入:svn co [版本库路径] [导出目标路径]
例如将myproject库中的文件导出到当前目录:svn cofile:///home/user/svn/myproject .
五,在WindowsXP上安装svn客户端:
1,下载地址:http://tortoisesvn.net/downloads.html
2,下载完成后,直接next安装即可,安装完成后需要重启生效。
3,测试:
在桌面上新建一个名称为svntest的目录,在此目录上点击右键,选择Checkout,在首行填写svn服务器的IP地址及仓库名称
输入相应的用户名称及密码后就可以使用了。
相关文章:
CentOS中SVN服务器的配置过程:http://www.linuxdiyf.com/linux/11473.html
Ubuntu 14.04下搭建SVN服务器svn://:http://www.linuxdiyf.com/linux/10214.html
CentOS 6.3 64位SVN服务器搭建&Win7 32位SVN客户端连接:http://www.linuxdiyf.com/linux/10371.html