CentOS下SVN 搭建(源码编译安装)
时间:2014-03-04 00:08 来源:linux.it.net.cn 作者:IT网
安装说明
系统环境:CentOS-6.2
安装了一下SVN服务器,本文没有与Apache整合,过程如下:
一,下载相关软件:
[root@youxia201 test]# wgethttp://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
[root@youxia201 test]# wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
二,安装及配置:
1,解压,要在同一个目录下:
[root@youxia201 opt]# tar-zxvf subversion-1.6.1.tar.gz
[root@youxia201 opt]# tar-zxvf subversion-deps-1.6.1.tar.gz
2,编译及安装:
[root@localhost ~]# cdsubversion-1.6.1
[root@localhostsubversion-1.6.1]# ./configure 先编译,不指定路径,看是否报错
报错一:
configure: error: in`/root/subversion-1.6.1':
configure: error: no acceptable C compilerfound in $PATH 此错误的意思是没有安装gcc语言
解决方法:yum install gcc ,安装后再次执行./configure看是否报错
报错二:
configure: error: We requireOpenSSL; try --with-openssl 没有安openssl openssl-devel
解决方法:yum install opensslopenssl-devel, 安装后再次执行./configure看是否报错
报错三:
configure: error: no XML parser was found: expat or libxml 2.x required
解决方法:yum install expat, 如果装不上就源码装安装后再次执行./configure看是否报错,
如果还有错误就根据提示一直解决,不会的百度,直到出现下列正确提示:
Berkeley DB here:
http://www.oracle.com/technology/software/products/berkeley-db/index.html
成功后执行下列操作
[root@youxia201subversion-1.6.1]# ./configure --prefix=/usr/local/svn/
[root@youxia201subversion-1.6.1]# make && make install
3,把svn相关的命令添加到环境变量中:
[root@youxia201subversion-1.6.1]# echo "export PATH=$PATH:/usr/local/svn/bin/">> /etc/profile
[root@youxia201subversion-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@youxia201subversion-1.6.1]# mkdir -p /opt/svn/
2,建立一个测试仓库:
[root@youxia201subversion-1.6.1]# mkdir -p /opt/svn/svntest/
[root@youxia201subversion-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@youxia201 svntest]# cd /opt/svn/svntest/conf/
[root@youxia201 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 144908-25 09:36 svnserve.conf
[root@youxia201 conf]# visvnserve.conf 修改svn配置文件
[general]
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password#密码数据库的路径
authz-db = authz # 访问控制文件
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@admin conf]# vim passwd
修改passwd为以下内容:
[users]
# harry = harryssecret
# sally = sallyssecret
hello=123
aaa = 123
www = 123
用户名=密码
这样我们就建立了hello用户, 123密码
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@youxia201 conf]# viauthz 指定svn用户拥有的目录权限
[groups]
admin = hello,www
[svntest:/]
@admin = rw
aaa = r
将用户添加到组,利用组来设置权限,也可以不需要租,直接在版本库下设置用户,例如
aaa = r ,意思是aaa用户对svntest测试库下所有的目录有读权限,而hello和www有读写权限。
如果是自己用,就直接是读写吧。
以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@localhost conf]# svnserve -d -r /opt/svn/svntest/ 启动SVN测试库
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/ --listen-port 3391
四,启服务器及测试:
1,启SVN服务,并指定SVN的根目录:
[root@youxia201 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
取出版本 1。
不让它每次输入都提示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
---------------------------------------------------------------------------------------------------------------------
到此,SVN服务端就配置完成了
Linux svn客户端配置
检查已安装版本
#检查是否安装了低版本的SVN
[root@localhost /]#rpm -qa subversion
#如果存储旧版本,卸载旧版本SVN
[root@localhost modules]#yum remove subversion
安装SVN
[root@localhost modules]#yum install subversion
验证安装
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03
版权所有 (C) 2000-2009 CollabNet。
Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。
此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。
下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
Cyrus SASL 认证可用。
SVN客户端下载文件
[root@localhost ~]# mkdir /svn
[root@localhost ~]# cd /svn/ #将svn服务上提取的文件放在此目录下
[root@localhost svn]# svn checkoutsvn://192.168.233.203/repo #svn服务器地址
输入用户名密码:hello/123
注:可以使用带用户名和密码的访问:
svn co --username hello --password 123svn://192.168.233.203/repo
SVN版本库更新
svn up /svn/repo
上传文件到服务器
[root@localhost ]# touch /svn/repo/test.php #所有的动作必须在repo版本库中完成
[root@localhost ]# svn add /svn/repo/test.php #上传test.php文件到svn服务器
删除服务器上的文件
[root@localhost ]# svn rm /svn/repo/test.php --force
查看版本库内容
[root@localhost ~]# svn list /svn/repo/
------------------------------------------------------------------------------------------------------------------------
到此,SVN客户端就配置完成了
创建版本库:
终端输入: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 co file:///home/user/svn/myproject .
五,在WindowsXP上安装svn客户端:TortoiseSVN(SVN客户端)
1,英文版下载地址:
http://tortoisesvn.net/downloads.html
2,中文版安装
下载完成后,直接next安装即可,安装完成后需要重启生效(自行选择32位于64位版本)。,
安装中文汉化包后会出现中文版选择项,进行下面设置成中文版
3,测试:
在桌面上新建一个名称为svntest的目录,在此目录上点击右键,选择Checkout,在首行填写svn服务器的IP地址及仓库名称
输入svn服务器ip地址和要连接的版本库,输出目录可以根据自己的爱好更改路径
输入连接服务器端的用户名称及密码后就可以使用了
检查后的文件夹样子
将windows上要添加的文件移动至repo文件夹进行上传,上传哪个文件就点击右键—添加
添加完成后,再次右键—提交
提交后可以查看一下这个文件都可以进行哪些操作
Windows svn客户端到此就结束了,其余功能自己去摸索吧,再次不在赘述了
(责任编辑:IT)
安装说明
系统环境:CentOS-6.2 安装了一下SVN服务器,本文没有与Apache整合,过程如下: 一,下载相关软件: [root@youxia201 test]# wgethttp://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz [root@youxia201 test]# wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
二,安装及配置: 1,解压,要在同一个目录下: [root@youxia201 opt]# tar-zxvf subversion-1.6.1.tar.gz [root@youxia201 opt]# tar-zxvf subversion-deps-1.6.1.tar.gz
2,编译及安装: [root@localhost ~]# cdsubversion-1.6.1 [root@localhostsubversion-1.6.1]# ./configure 先编译,不指定路径,看是否报错 报错一: configure: error: in`/root/subversion-1.6.1': configure: error: no acceptable C compilerfound in $PATH 此错误的意思是没有安装gcc语言 解决方法:yum install gcc ,安装后再次执行./configure看是否报错
报错二: configure: error: We requireOpenSSL; try --with-openssl 没有安openssl openssl-devel 解决方法:yum install opensslopenssl-devel, 安装后再次执行./configure看是否报错
报错三: configure: error: no XML parser was found: expat or libxml 2.x required 解决方法:yum install expat, 如果装不上就源码装安装后再次执行./configure看是否报错, 如果还有错误就根据提示一直解决,不会的百度,直到出现下列正确提示: Berkeley DB here: http://www.oracle.com/technology/software/products/berkeley-db/index.html 成功后执行下列操作 [root@youxia201subversion-1.6.1]# ./configure --prefix=/usr/local/svn/ [root@youxia201subversion-1.6.1]# make && make install
3,把svn相关的命令添加到环境变量中: [root@youxia201subversion-1.6.1]# echo "export PATH=$PATH:/usr/local/svn/bin/">> /etc/profile [root@youxia201subversion-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@youxia201subversion-1.6.1]# mkdir -p /opt/svn/
2,建立一个测试仓库: [root@youxia201subversion-1.6.1]# mkdir -p /opt/svn/svntest/
[root@youxia201subversion-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@youxia201 svntest]# cd /opt/svn/svntest/conf/ [root@youxia201 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 144908-25 09:36 svnserve.conf
[root@youxia201 conf]# visvnserve.conf 修改svn配置文件 [general]
anon-access = none # 使非授权用户无法访问
[root@admin conf]# vim passwd
[users] hello=123 aaa = 123 www = 123 用户名=密码 这样我们就建立了hello用户, 123密码 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@youxia201 conf]# viauthz 指定svn用户拥有的目录权限 [groups] admin = hello,www [svntest:/] @admin = rw aaa = r 将用户添加到组,利用组来设置权限,也可以不需要租,直接在版本库下设置用户,例如
aaa = r ,意思是aaa用户对svntest测试库下所有的目录有读权限,而hello和www有读写权限。 以上语句都必须顶格写, 左侧不能留空格, 否则会出错.
[root@localhost conf]# svnserve -d -r /opt/svn/svntest/ 启动SVN测试库
如果已经有svn在运行,可以换一个端口运行
四,启服务器及测试: 1,启SVN服务,并指定SVN的根目录: [root@youxia201 test]#svnserve -d -r /opt/svn/
在这里特别的要注意,/opt/svn是仓库的根目录,不要和[svntest:/]目录重叠了。如果重叠是会提示错误 [root@localhost conf]# svn co svn://127.0.0.1 在本机上测试svn是否生效
不让它每次输入都提示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 --------------------------------------------------------------------------------------------------------------------- 到此,SVN服务端就配置完成了
Linux svn客户端配置 检查已安装版本
#检查是否安装了低版本的SVN
#如果存储旧版本,卸载旧版本SVN 安装SVN [root@localhost modules]#yum install subversion 验证安装
检验已经安装的SVN版本信息
svnserve,版本 1.6.11 (r934486)
版权所有 (C) 2000-2009 CollabNet。 下列版本库后端(FS) 模块可用:
* fs_base : 模块只能操作BDB版本库。 Cyrus SASL 认证可用。 SVN客户端下载文件 [root@localhost ~]# mkdir /svn [root@localhost ~]# cd /svn/ #将svn服务上提取的文件放在此目录下 [root@localhost svn]# svn checkoutsvn://192.168.233.203/repo #svn服务器地址 输入用户名密码:hello/123
注:可以使用带用户名和密码的访问: svn co --username hello --password 123svn://192.168.233.203/repo
SVN版本库更新 svn up /svn/repo 上传文件到服务器 [root@localhost ]# touch /svn/repo/test.php #所有的动作必须在repo版本库中完成 [root@localhost ]# svn add /svn/repo/test.php #上传test.php文件到svn服务器 删除服务器上的文件 [root@localhost ]# svn rm /svn/repo/test.php --force 查看版本库内容 [root@localhost ~]# svn list /svn/repo/
------------------------------------------------------------------------------------------------------------------------ 到此,SVN客户端就配置完成了
创建版本库:
五,在WindowsXP上安装svn客户端:TortoiseSVN(SVN客户端) 1,英文版下载地址: http://tortoisesvn.net/downloads.html
2,中文版安装 下载完成后,直接next安装即可,安装完成后需要重启生效(自行选择32位于64位版本)。,
安装中文汉化包后会出现中文版选择项,进行下面设置成中文版
3,测试: 在桌面上新建一个名称为svntest的目录,在此目录上点击右键,选择Checkout,在首行填写svn服务器的IP地址及仓库名称
输入svn服务器ip地址和要连接的版本库,输出目录可以根据自己的爱好更改路径
输入连接服务器端的用户名称及密码后就可以使用了
检查后的文件夹样子
将windows上要添加的文件移动至repo文件夹进行上传,上传哪个文件就点击右键—添加
添加完成后,再次右键—提交
提交后可以查看一下这个文件都可以进行哪些操作
Windows svn客户端到此就结束了,其余功能自己去摸索吧,再次不在赘述了 (责任编辑:IT) |