第二个灵魂 发表于 2015-1-14 20:45:58

CentOS教程之编译装置SVN办事的搭建和设置装备摆设

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!先对svn(subversion)做个简略的引见:
运转方法
自力办事器(例如:svn://xxx.com/xxx);借助apache(例如:http://svn.xxx.com/xxx);
数据存储
svn存储版本数据也有2种方法:BDB(一种事务平安型表类型)和FSFS(一种不须要数据库的存储体系)。由于BDB方法在办事器中止时,有能够锁住数据,所以照样FSFS方法更平安一点
更具体的引见(任务道理等)请点击http://baike.百度.com/view/183128.htm
我采取的是自力办事器的搭建,步调以下:
情况:centos5.6体系
1.下载subversion-1.6.21.tar.gz和subversion-deps-1.6.21.tar.gz,如果雷同的版本,不然装置过程当中会报错(下载的软件都在/root/soft目次下)
#cd/root/soft
#ls
#tarxfvzsubversion-1.6.21.tar.gz
#tarxfvzsubversion-deps-1.6.21.tar.gz
#cdsubversion-1.6.21
#


2.编译svn
起首检测体系有无装置SSL:
#find/-nameopensslv.h
#
找不到,就履行以下敕令停止装置:(装置过程当中若提醒少依附包,就应用yum装置或下载装置)
#yuminstallopenssl
#yuminstallopenssl-devel
装置以后用find/-nameopensslv.h敕令找到opensslv.h地点的目次,即以下--with-openssl=前面的路径,编译:
#find/-nameopensslv.h
/usr/include/openssl/opensslv.h
/root/soft/mysql-5.5.24/extra/yassl/include/openssl/opensslv.h
#./configure--prefix=/usr/local/svn--with-openssl=/usr/include/openssl--without-berkeley-db
注:以svnserve方法运转,不加apache编译参数。以fsfs格局存储版本库,不编译berkeley-db。
此时编译报以下毛病:
configure:WARNING:unrecognizedoptions:--with-openssl
configure:ConfiguringSubversion1.6.6
configure:creatingconfig.nice
checkingforgcc...no
checkingforcc...no
checkingforcl.exe...no
configure:error:in`/usr/local/src/subversion-1.6.6:
configure:error:noacceptableCcompilerfoundin$PATH
See`config.logformoredetails.
解释没有装置gcc相干库,应用以下敕令装置gcc后再编译:
#yum-yinstallgcc
#./configure--prefix=/usr/local/svn--with-openssl=/usr/include/openssl--without-berkeley-db
最初涌现上面WARNING,直接疏忽便可,由于不应用BDB存储。configure:WARNING:wehaveconfiguredwithoutBDBfilesystemsupport
YoudontseemtohaveBerkeleyDBversion4.0.14ornewer
installedandlinkedtoAPR-UTIL.WehavecreatedMakefileswhich
willbuildwithouttheBerkeleyDBback-end;yourrepositorieswill
useFSFSasthedefaultback-end.Youcanfindthelatestversionof
BerkeleyDBhere:
http://www.sleepycat.com/download/index.shtml



3.装置SVN
为防止涌现以下毛病
errorwhileloadingsharedlibraries:libiconv.so.2:cannotopensharedobjectfile:Nosuchfileordirectory
先履行以下操作:
1)、编纂/etc/ld.so.conf文件,添加上面一行:
/usr/local/lib
2)、保留后运转ldconfig:
/sbin/ldconfig
注:ld.so.conf和ldconfig用于保护体系静态链接库。
装置
#make&&makeinstall
装置完成后履行以下敕令测试:
#/usr/local/svn/bin/svnserve--version
svnserve,version1.6.21(r1462351)
compiledJun92013,14:25:58
Copyright(C)2000-2009CollabNet.
Subversionisopensourcesoftware,seehttp://subversion.apache.org/
ThisproductincludessoftwaredevelopedbyCollabNet(http://www.Collab.Net/).
Thefollowingrepositoryback-end(FS)modulesareavailable:
*fs_fs:Moduleforworkingwithaplainfile(FSFS)repository.
为了便利下操作,上面将SVN的BIN添加到PATH,编纂/etc/profile,添加:
PATH=/usr/local/svn/bin:$PATH
保留后,使其立刻失效:
source/etc/profile


4.设置装备摆设SVN
树立版本库目次,可建多个:
#mkdir-p/home/svndata/test#树立版本库
#/usr/local/svn/bin/svnadmincreate/home/svndata/test#修正版本库设置装备摆设文件
编纂/home/svndata/test/conf/svnserve.conf,内容修正为:(留意:后面的正文符号和空格都要去失落,否则在衔接时没法辨认会报错)

anon-access=none
auth-access=write
password-db=/usr/local/svn/conf/passwd.conf
authz-db=/usr/local/svn/conf/authz.conf
realm=test
留意:对用户设置装备摆设文件的修正立刻失效,不用重启svn。
在/usr/local/svn/上面新建conf目次,并在/usr/local/svn/conf内新建passwd.conf和authz.conf文件:
mkdirconf
cdconf/
touchpasswd.conf
touchauthz.conf
添加用户及暗码:
#useradduser
#passwduser
编纂/usr/local/svn/conf/passwd.conf,添加以下代码并保留

user=pwd123!@#
设置装备摆设svn用户拜访权限,编纂usr/local/svn/conf/authz.conf,添加以下代码并保留:

admin=user
[/]@admin=rw

@admin=rw
留意:
*权限设置装备摆设文件中涌现的用户名必需已在用户设置装备摆设文件中界说。
*对权限设置装备摆设文件的修正立刻失效,不用重启svn。
用户组格局:

=,
个中,1个用户组可以包括1个或多个用户,用户间以逗号分隔。
版本库目次格局:
[<版本库>:/项目/目次]
@<用户组名>=<权限>
<用户名>=<权限>
个中,方框号外部分可以有多种写法:
[/],表现根目次及以下,根目次是svnserve启动时指定的,我们指定为/home/svndata,[/]就是表现对全体版本库设置权限。
表现对版本库repos设置权限;
表现对版本库repos中的abc项目设置权限;
表现对版本库repos中的abc项目标aaa目次设置权限;
权限主体可所以用户组、用户或*,用户组在后面加@,*表现全体用户。
权限可所以w、r、wr和空,空表现没有任何权限。


5.启动svn
树立启动svn的用户:
#useraddsvn
#passwdsvn
许可用户svn拜访版本库:
#chown-Rsvn:svn/home/svndata
启动svn:#su-svn-c"svnserve-d--listen-port9999-r/home/svndata"
个中:
su-svn:表现以用户svn的身份启动svn;
-d:表现以daemon方法(后台运转)运转;
--listen-port9999:表现应用9999端口,可以换成你须要的端口。但留意,应用1024以下的端口须要root权限;
-r/home/svndata:指定根目次是/home/svndata。

编纂/etc/rc.d/rc.local文件,参加以下启动敕令:/usr/local/svn/bin/svnserve-d--listen-port9999-r/home/svndata
假如想停滞svn,则应用以下敕令:
killallsvnserve
检查能否启动:
#psCef|grepsvn


6.衔接SVN
装置TortoiseSVN,重启体系。
在资本治理器中空白处右键会涌现SVNCheckout,则证实装置胜利了
启动TortoiseSVN(右击选择SVNCheckout)并在地址栏中输出svn://ip:9999/test
依据提醒输出用户名与暗码后就能够
假如衔接碰到以下报错:
Error:Authorizationfailed
则多是passwd.conf或许authz.conf设置装备摆设文件招致的权限成绩
假如还有其他衔接报错,请检讨/home/svndata/test/conf下的svnserve.conf文件中在修正时后面的#或许空格能否删除


7.svn客户端和办事器端文件的导入导出
在经由过程客户端衔接时默许创立了个当地存储目次(如E:/test)
#svnlistfile:///home/svndata/test//列出书本库中的文件列表
#svncheckoutfile:///home/svndata/test//将版本库中的文件拷贝到当地
默许会在办事器的根下创立test目次,外面寄存了本机的文件
把文件上传到SVN版本库后,上传的文件不再以文件本来的格局存储,而是被svn以它自界说的格局紧缩成版本库数据,寄存在版本库中(/home/svndata/test/db/revs中)。

如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!

老尸 发表于 2015-1-16 22:31:18

CentOS教程之编译装置SVN办事的搭建和设置装备摆设

在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。

谁可相欹 发表于 2015-1-25 19:46:36

任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。

乐观 发表于 2015-2-4 00:06:09

学习Linux应具备的。[书籍+网络资源]

小女巫 发表于 2015-2-9 09:49:16

不同于Windows?系统需要花钱购买,因为Linux的核心是免费的,自由使用的,核心源代码是开放的。

冷月葬花魂 发表于 2015-2-27 07:55:13

Linux操作系统这个名词记得在很早以前就听过,但当时并不知道具体是什么样的操作系统,只知道是一个与嵌入式密切相关的操作系统。

若天明 发表于 2015-3-17 00:07:55

通过一条缓慢的调制解调器线路,它也能操纵几千公里以外的远程系统。

柔情似水 发表于 2015-3-23 10:52:15

随着实验课程的结束,理论课也该结束了,说实话教OS的这两位老师是我们遇到过的不错的老师(这话放这可能不太恰当).
页: [1]
查看完整版本: CentOS教程之编译装置SVN办事的搭建和设置装备摆设