linux下配置svn服务器注意事项

网上很多配置说明,但是没有指出最重要的几个易错点,导致很多人很容易遇到错误绕不过去


标准步骤:

1. 关闭防火墙iptables和selinux:

(http://www.2cto.com/Article/201305/208291.html)

1. 永久有效
修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。
2. 即时生效
setenforce 0
 
关闭防火墙的方法为:
1. 永久性生效
开启:chkconfig iptables on 
关闭:chkconfig iptables off
2. 即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop 
 
需要说明的是对于 Linux 下的其它服务都可以用以上命令执行开启和关闭操作
 
补充:
a. 防火墙还需要关闭ipv6的防火墙:
chkconfig ip6tables off
并且可以通过如下命令查看状态:
chkconfig --list iptables
b. selinux状态可以通过以下命令查看:
sestatus

2. 安装必须的软件包.

yum install subversion mysql-server httpd mod_dav_svn mod_perl sendmail wget gcc-c++ make unzip perl* ntsysv vim-enhanced


说明:
subversion (SVN服务器)
mysql-server (用于codestriker)
httpd mod_dav_svn mod_perl (用于支持WEB方式管理SVN服务器)
sendmail (用于配置用户提交代码后发邮件提醒)
wget gcc-c++ make unzip perl* (必备软件包)
ntsysv vim-enhanced (可选)

3. 基本的SVN服务器配置

1,新建一个目录用于存储SVN所有文件,这里必须要跟其他用户的目录等级相同,不能把svn目录放到某个用户目录下
# mkdir /home/svn


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


3,初始化版本仓库中的目录
# svn import gem5-source-code   file:///home/svn/gem5 -m “first import”


4,添加用户
要添加SVN用户非常简单,只需在/home/svn/gem5/conf/passwd文件添加一个形如“username=password”的条目就可以了

[users]

zhangqianlong = 123



5,修改用户访问策略
/home/svn/gem5/conf/authz记录用户的访问策略,以下是参考:


[groups]
gem5-dev = zhangqianlong



[project:/]
@gem5-dev = rw
* =


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


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


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


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


# ps -aux|grep svnserve
# kill -9 ID号
# svnserve -d -r /home/svn


8,测试服务器


# svn co svn://172.16.64.25/project

注意:这里给的路径没有写绝对路径,因为第7步已经制定了启动svn服务的路径,只需要接着那个往下写就行





常见问题:

1、checkout时,提示:URL svn://172.16.64.25/svntest doesn't exist...


原因:

(1.) svn目录不要建立在某个人的home目录下!!!!

如果你把svn库目录放到/home/abc/svn

那么肯定会出现以上问题!!!!!

(2.)如果你的svn库的路径为:/home/svn/svntest

那么你启动时,不能用命令:

svnserve -d -r /home/svn/svntest
而要用命令:

svnserve -d -r /home/svn/



2.commit时,提示:Authorization failed

修改svnserve.conf:

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

注意要定格写以上内容,没有空格


3. svn: No repository found in 'svn:..

svn服务未启动或者是启动的时候未指定svn仓库路径
使用如下命令:
sudo svnserve -d -r /var/svn
后面的目录是你svn服务的仓库路径
另外要使用sudo取得管理员权限,否则可能在提交代码的时候出现权限问题




参考网址:
http://www.ha97.com/4467.html



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值