linux下 subversion 的单独安装和配置
@for&ever 2009-9-3
一、安装
首先,命令行:
#svnserve --version
如果显示:
svnserve,版本 1.4.2 (r22196)
则恭喜,系统已预装subversion,无需再安装。
否则,执行以下的操作步骤安装 svn.
解压缩
#tar zxvf subversion-1.4.2.tar.gz
校验configure
#./configure
编译
#make
安装
#make install
二、配置
2.1> 建存储库
# svnadmin create /home/svn-repos
2.2> 配置权限
# vi /home/svn-repos/conf/svnserve.conf
svnserve.conf 文件中,修改之后,内容如下:
[general]
anon-access = read #允许匿名用户读。如果不允许匿名用户访问,这里的 read 修改为 none
auth-access = write #写入必须要通过认证
password-db = passwd #权限配置放在passwd文件
2.3> 配置用户
# vi /home/svn-repos/conf/passwd
passwd 文件中,添加SVN的用户和密码,例如
[users]
forandever=abc123
三、启动服务
# svnserve --daemon --root /home/svn-repos
四、创建项目目录和客户端访问
例如,目前有项目 forandever_Project1,则执行下面的命令即可:
# svn mkdir -m "creating a project" svn://111.111.111.12/forandever_Project1
之后,通过svn客户端工具,例如TortoiseSVN或者eclipse的subversion插件,输入URL, svn://IP ,即可访问。
例如,我的IP是 111.111.111.12,那么对应的访问根目录的地址就是 :
svn://111.111.111.12
访问forandever_Project1的地址就是:
svn://111.111.111.12/forandever_Project1
五、可能的问题
5.1> 客户端不能访问
出现这个问题,首先通过 ps -ax 查看系统进程,确认是否已经有
svnserve --daemon --root /home/svn-repos
然后,检查防火墙 iptables
# iptables -L
查看是否已经添加端口 3690 的出口,如果未添加,
则执行命令
# vi /etc/sysconfig/iptables
修改iptables, 在行
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
之前添加一个如下的规则:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
然后重启iptables:
# service iptables restart
5.2> 客户端能访问,报错svn: /home/svn-repos/conf/svnserve.conf:13: Option expected
出现类似这样的错误,说明在修改svnserve.conf这个文件的时候,在行的开头有空格,
例如:
anon-access = read #允许匿名用户读。如果不允许匿名用户访问,这里的 read 修改为 none
auth-access = write #写入必须要通过认证
password-db = passwd #权限配置放在passwd文件
这里的“ auth-access = write #写入必须要通过认证 ” 这一行的开头就有空格,去掉空格即可解决。
@forandever 2009-9-3