当前位置: 首页 > Linux

linux上搭建svn服务

时间:2023-04-06 20:16:09 Linux

最近帮朋友做一个项目。为了方便维护,我在服务器上架设了一个svn服务。之前没有设置过,所以记录一下。首先svn安装检查是否安装了svn#rpm-qasubversion如果出现已安装的svn信息,则无需再次安装。如果没有安装,使用yum安装。#yuminstallsubversion创建新的版本库先创建一个存放仓库数据的文件夹,然后使用svnadmin创建一个版本库。例如#mkdir/home/svn#svnadmincreate/home/svn/project项目创建后,项目下应该有如下文件:confdbformathookslocksREADME.txt修改配置文件共有三个文件在需要配置的conf文件夹下。修改svnserve.conf文件#vimconf/sevserve.conf找到如下配置,去掉配置前面的注释(#)#anon-access=read#auth-access=write#password-db=passwd#authz-db=authz每个配置项都有它们的作用。比如anon-access=read表示所有人都有读权限,无需认证。如果不允许,可以改成anon-access=none,其他功能可以百度一下,这个也不难理解。注意:删除后#前不要留空格,否则会报错。而且配置项和值之间的=号两端需要有空格,passwd和authz文件后面修改passwd文件,也就是管理用户账户密码的文件#vimconf/passwd###该文件是svnserve的示例密码文件。###其格式类似于svnserve.conf的格式。如下面的###示例所示,它包含一个标记为[users]的部分。###随后是每个用户的名称和密码,每行一个帐户。[users]#harry=harryssecret#sally=sallyssecretadmin=123456非常简单,我新增了一个用户admin,密码为123456。修改authz文件,这个文件是管理用户权限的#vimconf/authz先创建一个用户组[group]admin=admin#第一个admin是名字用户组,其次是我们刚刚创建的用户,然后分配权限[/]#作用范围/应该代表当前版本库的所有目录@admin=rw#@后面是组名,rw读和写权限。就是给admin组的所有成员读写权限*=#除了上面配置的用户,所有用户都没有权限先做这些配置,保存并启动svn服务#svnserve-d-r/home/svnok,to至此,大功告成,版本库创建成功。可以找个目录运行svncheckoutsvn://localhost/project查看是否正常。首次运行时,会有如下信息:Authenticationrealm:3f7faa7c-c914-4840-bc5e-1ed0def587cePasswordfor'root':Authenticationrealm:3f7faa7c-c914-4840-bc5e-1ed0def587ce用户名:“管理员”的管理员密码:----------------------------------------------------注意力!您用于身份验证领域的密码:3f7faa7c-c914-4840-bc5e-1ed0def587ce只能以未加密的方式存储到磁盘!建议您配置您的系统,以便Subversion可以存储加密的密码,如果可能的话。有关详细信息,请参阅文档。您可以避免将来在“/root/.subversion/servers”中将“store-plaintext-passwords”选项的磨损值设置为“yes”或“no”。-------------------------------------------------------------------未加密存储密码(是/否)?这里设置了root密码,应该是存放在硬盘里的,我没研究。设置一个自己记住,以备后用。导入文件新建的版本库没有文件。如果要将服务器上的一些文件添加到版本库中,可以使用import命令。比如my/home/myporject/下的所有文件都需要添加到版本库中,作为主分支可以这样#cd/home/myproject/#svnimport。file:///usr/local/svn/project/trunk-m"Initialimport"注意:如果需要在版本中添加库文件中文名的话,可能会报编码错误。这时,需要进一步处理。当然你也可以直接checkout刚刚在Windows电脑上搭建的版本库,把需要的文件放进去commit,也是一样的。.完成以上步骤,就基本大功告成了,玩得开心吧!