centos系统搭建SVN服务器

th.jpg

@(关键字)[centos|SVN|版本控制系统]


准备工作

  • 操作系统:CentOS 6.4 64位
  • CPU:4核
  • 内 存:4G

动手干起来

一、yum安装svn

操作命令:

yum install -y subversion

二、验证svn

操作命令:

svn --version

注意可能会出现错误svnadmin:error while loading shared libraries: libaprutil1.so.0:cannot open shared object file: No such file or directory
分析:出现这个错误的原因就是svnserver在编译时是加了apache支持的,现在无法找到apr-util库,一般情况下将apr-util的lib目录加入到系统的lib路径中就可以了,比如我服务器的apache的apr和apr-util的安装目录分别如下:

>apr路径:/usr/local/apr
>apr-util路径:/usr/local/apr-util(如果服务器中没有,則需要加上去)
>```
>然后打开`/etc/ld.so.conf`文件,并加入上面两个目录下的**lib**路径到文件中,如下(复制粘贴就行):
>```
># vi /etc/ld.so.conf
>
>...
>/usr/local/apr/lib>/usr/local/apr-util/lib
>```
>在文件的最后加入上面的两行指定路径即可,然后使用以下命令進行更新: 
>```
>ldconfig -v
>```
>以上錯誤解決方案參考于[铁木箱子的mzone][1]

####三、创建svn版本库
命令:
```cmake
mkdir /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理 
svnadmin create /var/svn/repo0 #我这里将svn作为所有版本库的目录,并创建了一个名为repo0的版本库

四、配置当前的版本库

进入刚才创建的repo0版本库的文件夹:cd /var/svn/repo0,可以使用ll命令查看这个文件夹中有哪些文件,之后进入conf文件夹,命令cd conf/说明如下:

  1. svnserve.conf:svn服务综合配置文件。
  2. passwd: 用户名口令文件。
  3. authz: 权限配置文件。
4-1.修改passwd文件

在此文件中可以添加用户和对应的密码;打开passwd文件命令如下

vi passwd

在其中加入如下的配置:

#formatusername=password
user1=user1Pwd
user2=user2Pwd
4-2修改authz文件

在此文件可以定义权限组,分别分为测试组和开发组;命令如下

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
developer=user1,user2
tester=user1

定义组的读写权限,定义在版本库上

[repo0:/]
@developer=rw
@tester=r 
4-3 修改svnserve.conf

将以下几行的注释符号#去掉

anon-access = none #没有登录的用户不能访问 
auth-access = write  #登录的用户可以写入 
password-db = passwd #密码文件为当前目录下的
passwd authz-db = authz #验证文件为当前目录下的authz 

五、停止和启动svn

启动svn:

svnserve -d -r /var/svn/ 

查看svn是否启动(看是否有进程存在):

ps -aux |grep svn 

关闭svn:

kill -9 progressId 

六、踩过的坑

错误1:在svn客户端更新代码时出现/var/svn/repo0/conf/svnserve.conf:12: Option expected错误
解决方法:在服务器中subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件。
所以打开svnserve.conf文件,去掉以下两行前面的空格。

anon-access = read
auth-access = write


##反馈与建议
- 微博:[\[@SombieFF\]](http://weibo.com/3178494643/profile?topnav=1&wvr=6)
- 邮箱:<shexd1001@gmail.com>
- 微信:WeChatId:wxxdong2102
--------

非常感谢您阅读这份帮助文档。点击分享按钮,分享给更多的人呗。
![wechat.jpg](http://upload-images.jianshu.io/upload_images/3269064-ed314734718e273a.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
---------
[1]: http://www.mzone.cc/article/639.html

推荐阅读更多精彩内容