centos部署svn服务器以及相关重要配置

前端之家收集整理的这篇文章主要介绍了centos部署svn服务器以及相关重要配置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参考:http://blog.csdn.net/lpdx111/article/details/17161751


一,安装svn

#yum install subversion


二,步骤

1,新建一个目录用于存储SVN所有文件
# mkdir /home/svn

2,新建一个版本仓库
# svnadmin create /home/svn/project


3,进入project/conf/passwd配置svn的账号密码

格式:账号 = 密码

可以配置多个账号密码

[users]
# harry = harryssecret
# sally = sallyssecret
pm = pm_pw
server_group = server_pw
client_group = client_pw
test_group = test_pw

4,配置svn账号的访问权限

[groups]
project_p = pm
project_s = server1,server2,server3
project_c = client1,client2,client3
project_t = test1,test1,test1

[project:/]
@project_p = rw
* =

[project:/server]
@project_p = rw
@project_s = rw
* =

[project:/client]
@project_p = rw
@project_c = rw
* =

[project:/doc]
@project_p = rw
@project_s = r
@project_c = r
@project_t = r
* =

说明:以上信息表示,只有project_p用户组有根目录的读写权。r表示对该目录有读权限,w表示对该目录有写权限,rw表示对该目录有读写权限。最后一行的* =表示,除了上面设置了权限的用户组之外,其他任何人都被禁止访问本目录。这个很重要,一定要加上

6,修改svnserve.conf文件,让用户和策略配置升效.
svnserve.conf内容如下:

[general]
anon-access = none
auth-access = write
password-db = /home/svn/project/conf/passwd
authz-db = /home/svn/project/conf/authz

7,启动服务器
# svnserve -d -r /home/svn
注意:如果修改了svn配置,需要重启svn服务,步骤如下:

# ps -aux|grep svnserve

# kill -9 ID号 或者killall svnserve
# svnserve -d -r /home/svn

注意:配置项所有的行都必须顶格,否则报错。

注意:必须是/home/svn目录,不能是他的子目录。否则可能会报错

svn出现Authorization failed

或者doesn't exist


8,自动同步(最好严格按照如下顺序执行)


1)

#vi post-commit

内容如下:

#!/bin/sh
#设定环境变量,如果没有设定可能会出现update报错
export LANG=zh_CN.UTF-8   
#设定语言,根据系统语言设置,如果是UTF-8 就设置为 LANG=zh_CN.UTF-8
SVN_PATH=/usr/bin/svn #不要改
WEB_PATH=/home/www  #一定要改成对应上面那个home/www目录

$SVN_PATH update svn://127.0.0.1/project $WEB_PATH --username 用户名 --password 密码 --no-auth-cache
 
退出编译:esc
保存退出:ZZ
2)输入下面2个命令

export LANG="zh_CN.UTF-8"

chmod -R 755 post-commit

3)重要:你先得手动checkout一份到指定目录

   
   
    其中/home/www/project/code是你自己想存储代码的位置
    
    
      
      
    
      
      
    
      
      
    
    
      
      
    
      
      

    9,最后你可以在你本地checkoutsvn://localhost/project

    试着提交一次看看




    其他问题

    1,若报错utf8编码问题,大胆在命令行输入

    export LANG="zh_CN.UTF-8"

    必要的时候,需要重新create一个仓库,重新配置


    2,svn自动上传后得文件名是中文乱码,而内容并没有乱码

    中文乱码的文件,都不能正常下载和打开。

    这个时候要先设置

    export LANG="zh_CN.UTF-8"

    然后,hooks里的post-commit也修改 "zh_CN.UTF-8"
    然后,需要重新checkout一个仓库。

    3. Warning: post-commit hook Failed (exit code 255) with no output.

    如果执行提交时SVN提示255错误,则是 post-commit 脚本文件的权限不对,post-commit 脚本必须有 +x 权限。

    chownsvn:svnpost-commit
    chmod+xpost-commit


    待确认点

    1,/home/www是可以任意指定的吧

    2,自动update svn的脚本,如果有冲突怎么办,貌似该问题会很严重。

    解决方案:

    把服务器需要修改配置文件,在本地务必igore,保证服务器修改文件,本地是绝对不会提交。

    3,如何删除彻底之前建立的svn仓库




    
    
      
      
    
       
    
     
     
    0
    0

    @H_283_301@

    svn co svn://localhost/project /home/www/project/code --username lsgoweb1(SVN账号) -password lsgoweb1(SVN密码)

    猜你在找的CentOS相关文章