Centos安装svn
yum -y install subversion
ubuntu安装svn
apt-get install subversion
Centos配置svn
root@hello:~# mkdir -p /svn/svn1root@hello:~# svnadmin create /svn/svn1/root@hello:~# cd /svn/svn1/conf/root@hello:/svn/svn1/conf# lsauthz passwd svnserve.confroot@hello:/svn/svn1/conf# vim passwd 编辑passwd,在【users】下添加用户名和密码### This file is an example password file for svnserve.### Its format is similar to that of svnserve.conf. As shown in the### example below it contains one section labelled [users].### The name and password for each user follow, one account per line.[users]# harry = harryssecret# sally = sallyssecretTest = 123456root@hello:/svn/svn1/conf# vim authz [aliases] #别名,一般不做配置# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups] # harry_and_sally = harry,sally 释:用户组为harry_and_sally,组内有harry和sally用户# harry_sally_and_joe = harry,sally,&joe# [/foo/bar] 表示/foo/bar下的所有资源# harry = rw harry 拥有读写权限# &joe = r# * = 设置其他用户具有的权限# [repository:/baz/fuz] 表示repository下的/baz/fuz下的所有资源# @harry_and_sally = rw 设置harry_and_sally用户组为读写权限# * = r [svn1:/] 表示svn1下的所有资源Test = rw 用户Test 权限为读写root@hello:/svn/svn1/conf# vim svnserve.conf[general]### These options control access to the repository for unauthenticated### and authenticated users. Valid values are "write", "read",### and "none". The sample settings below are the defaults.anon-access = none #匿名访问的权限,可以是read,write,none,默认为readauth-access = write #使授权用户有写的权限### The password-db option controls the location of the password### database file. Unless you specify a path starting with a /,### the file's location is relative to the directory containing### this configuration file.### If SASL is enabled (see below), this file will NOT be used.### Uncomment the line below to use the default password file.password-db = passwd #密码数据库的路径### The authz-db option controls the location of the authorization### rules for path-based access control. Unless you specify a path### starting with a /, the file's location is relative to the the### directory containing this file. If you don't specify an### authz-db, no path-based access control is done.### Uncomment the line below to use the default authorization file.authz-db = authz #访问控制文件### This option specifies the authentication realm of the repository.### If two repositories have the same authentication realm, they should### have the same password database, and vice versa. The default realm### is repository's uuid.realm = SVN1 #认证空间名,SVN会在认证提示里显示,并且作为凭证缓存的关键字[sasl]### This option specifies whether you want to use the Cyrus SASL### library for authentication. Default is false.### This section will be ignored if svnserve is not built with Cyrus### SASL support; to check, run 'svnserve --version' and look for a line### reading 'Cyrus SASL authentication is available.'# use-sasl = true 开启sasl用户验证### These options specify the desired strength of the security layer### that you want SASL to provide. 0 means no encryption, 1 means### integrity-checking only, values larger than 1 are correlated### to the effective key length for encryption (e.g. 128 means 128-bit### encryption). The values below are the defaults.# min-encryption = 0# max-encryption = 256
ubuntu配置svn
root@hello:/svn/svn1/conf# pwd/svn/svn1/confroot@hello:/svn/svn1/conf# lsauthz hooks-env.tmpl passwd svnserve.confroot@hello:/svn/svn1/conf# vim passwd[users]Test = 123456root@hello:/svn/svn1/conf# vim authz[aliases]# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average[groups][svn1:/]Test = rwroot@hello:/svn/svn1/conf# vim svnserve.conf [general]anon-access = noneauth-access = writepassword-db = passwdauthz-db = authz# groups-db = groups 指定“group file”的位置,而该目录下并没有groups文件,因此该配置不能被启用!realm = svn1# force-username-case = none# hooks-env = hooks-env[sasl]# use-sasl = true# min-encryption = 0# max-encryption = 256
开机自动启动SVN脚本:
#!/bin/bashPatH=`/svn/svn1`SvN=`which svnserve`$SvN -d -r $PatH
添加开机启动
echo "bash /脚本绝对路径/脚本名" >> /etc/rc.d/rc.local
SVN启动控制脚本
根据实际情况进行修改 路径等信息
#!/bin/bash#chkconfig: 345 95 95#description: svnstop(){kill $(ps -ef | grep "svnserve -d -r" | grep -v grep | awk '{print $2}') > /dev/null 2>&1if [ ! $? -eq 0 ]then echo "stop ERROR..."fi}start(){svnserve -d -r /svn/ > /dev/null 2>&1if [ ! $? -eq 0 ]then echo "start ERROR..."fi}restart(){stopstart}case $1 instop) stop;;start) start;;restart) restart;;*) echo "please INPUT stop|start|restart" exit 110;;esac
添加到系统服务(仅针对centos6.x系统)
将上面脚本命名为svnd
chmod +x ./svndmv ./svnd /etc/init.d/chkconfig svnd --addchkconfig svnd onchkconfig svnd --list