|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!本文将具体引见centos5若何搭建svn办事器。包含apache,subversion的装置和一些简略的设置装备摆设。
apache下载地址:http://www.apache.org/dist//httpd/httpd-2.2.20.tar.gz
经由过程tar-zxvfhttpd-2.2.20.tar.gz解压,进入解压后的文件夹,履行- ./configure--enable-dav--enable-so--prefix=/usr/local/apache2
复制代码 个中,Cenable-dav许可Apache供给DAV协定支撑;Cenable-so许可运转时加载DSO模块,前两个参数是必需要加的,Cprefix是装置的地位。假如configure经由过程,接着履行数分钟后就完事了,经由过程/usr/local/apache2/bin/apachectl-kstart来启动,在阅读器中拜访127.0.0.1,假如涌现It’sWorks!,那末解释装置胜利。
Subversion须要须要下载两个文件subversion-1.6.17.tar.bz2和subversion-deps-1.6.17.tar.bz2,它们的下载地址是
http://subversion.tigris.org/downloads/subversion-1.6.17.tar.bz2
http://subversion.tigris.org/downloads/subversion-deps-1.6.17.tar.bz2
分离解压subversion-1.6.17.tar.bz2和subversion-deps-1.6.17.tar.bz2,解压后他们都在subversion-1.6.17这个文件夹下,然后履行configure,敕令以下- ./configure--with-apxs=/opt/apache2/bin/apxs--with-apr=/usr/local/apache2--with-apr-util=/usr/local/apache2--prefix=/usr/local/subversion-1.6.7
复制代码 个中,Cwith-apxs用于生成apachehttpd的mod_dav_svn和mod_authz_svn模块;Cwith-apr和Cwith-apr-util=参数指向Apache的装置根目次,而不是应用缺省的SVN装置包中自带的apr,不然假如你装置的Apache版本分歧有能够招致APR库不婚配,涌现相似Can’tsetpositionpointerinfile‘/svn/test/db/revs/1′:Invalidargument的毛病,Cprefix是装置的地位。中央能够会涌现某些库找不到的情形,依据提醒用yum来弄定。configure胜利后,履行编译和装置,即假如没有报错,svn就胜利装置好了。
假定我们把版本库树立在/opt/svnroot目次下,那末在/opt/svnroot目次下履行mkdirrepository新建版本库文件夹,经由过程svnadmincreaterepository/test敕令可创立名为test的版本库。若创立胜利,则subversion的装置便已胜利完成。应用mkdir-pimport/{trunk,branches,tags}敕令在/opt/svnroot目次下树立一个名为import的新文件夹,包括trunk、branches、tags三个子目次。上面这条语句将把路径/opt/svnroot/import下的目次和文件导入到你创立的Subversion仓库中去,提交后的修订版为1。- svnimport/opt/svnroot/importfile:///opt/svnroot/repository/test-m"Initrepository"
复制代码 这里/opt/svnroot/import可使用绝对路径,但file:///opt/svnroot/repository/test必需以相对路径表现。
- 应用htpasswd生成身份认证文件,详细敕令以下
- htpasswd-m-c/opt/svnroot/repository/pwdfileuser1(-c是生成pwdfile文件,假如文件存在就不消带-c参数)htpasswd-m/opt/svnroot/repository/pwdfileuser2htpasswd-m/opt/svnroot/repository/pwdfileuser3
复制代码 受权文件用于肯定每一个用户对特定目次的操作权限,格局可参考版本库下的conf/authz(conf目次下的authz文件用于svnserve的受权,与我们所应用的mod_authz_svn的受权文件具有雷同的格局)。因此我们可以直接把conf下的authz复制到我们想要的/opt/svnroot/repository目次下,然后加以修正。修正后的文件也许是以下:- [groups]g_pm=user1g_dev=user2,user1[test:/]@g_pm=rw@g_dev=r[test:/trunk]@g_pm=rw@g_dev=r[test:/branches]@g_pm=rw@g_dev=rw[test:/tags]@g_pm=rw@g_dev=rw
复制代码 g_pm和g_dev是界说两个用户组,用户属于用户组,在每一个目次下分离设置用户组的对应的权限,r只读、w可修正,即用户可以修正svn版本库的代码。
修正目次的owner及权限- chown-Rapache:apache/opt/svnrootchmod700/opt/svnrootchmod-R700/opt/svnroot/repository
复制代码 修正apache的httpd.conf文件,把User和Group都为apache,别的在文件的最初加上以下代码- <location/svn>DAVsvnSVNParentPath/opt/svnroot/repository/AuthTypeBasicAuthName"SubversionRepository"AuthUserFile/opt/svnroot/repository/pwdfileAuthzSVNAccessFile/opt/svnroot/repository/authzSatisfyAnyRequirevalid-user</Location>
复制代码 个中/svn表现一个url的形式,婚配形如http://host/svn的url;SVNParentPath指定的目次下的一切项目都被subversion以为是正当的版本库;AuthzSVNAccessFile为受权文件;AuthType则制订了客户端身份认证机制,Basic表现http根本认证机制;AuthUserFile就是先前创立的暗码文件;SatisfyAny和Requirevalid-user告知apache一切用户先应用匿名方法拜访版本库,只要当拜访掌握战略请求一个真实的用户名时,apache才会对客户端停止身份验证,这是应用得最多的一种受权方法。
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们! |
|