linux下搭建svn服务器

##

注:红色表示命令,蓝色表示要添加的内容

第一步:安装svn软件(源码安装 或 rpm安装)

A.下载Apache和SVN源码包

从官方网站台下载httpd-2.0.52.tar.gz,subversion-1.6.11.tar.gz

#tar zxvf httpd-2.2.3.tar.gz

#cd httpd-2.2.3

#./configure –prefix=/usr/local/apache2 –enable-dav –enable-so –enable-maintainer-mode

#make

#make install

#tar zxvf subversion-1.6.11.tar.gz

#./configure –with-apxs=/usr/local/apache2/bin/apxs

# rm /usr/local/lib/libsvn*

# make clean && make && make install

 

安装完成后,运行svnserver –version确认版本号。

B.rpm包安装

yum install –y httpd httpd-devel subversion mod_dav_svn

 

第二步,创建仓库

mkdir -p /var/www/svn

svnadmin create /var/www/svn/hadoop

/var/www/svn/hadoop为所创建仓库的路径

 

第三步,修改svnserve.conf

vi /var/www/svn/hadoop/conf/svnserve.conf

 

#去掉#[general]前面的#号

[general]

#匿名访问的权限,可以是read,write,none,默认为read

anon-access = none

#认证用户的权限,可以是read,write,none,默认为write

auth-access = write

#密码数据库的路径,去掉前面的#

password-db = passwd

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

 

第四步,修改配置文件passwd。

vi /var/www/svn/hadoop/conf/passwd

[users]

sxy = sxy

 

注意

1. 一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。

2. 等号前面的sxy是用户名,等号后面的sxy是密码。

 

第五步,启动svn服务(单独模式和基于apache模式)

A.单独模式

启动命令 svnserve -d -r /var/www/svn –listen-host 192.168.1.200

 

其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接用svn://服务器ip来访问了。如果服务器有多ip的话–listen-host来指定监听的ip地址.

启动完成以后,我们可以用ps aux|grep svnserv来查看是否存在svnserve进程.

或者查看端口是否开启:lsof –i :3690

 

我们可以在svn客户端中通过svn://192.168.1.200/hadoop来访问svn服务器

 

B.基于apache模式

创建http访问用户

# htpasswd -c /var/www/svn/authfile 用户名

要增加用户,则使用下面命令

# htpasswd /var/www/svn/authfile 用户名

 

//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加

当你用页面访问svn时,apache要进行的密码确认。

# vi /etc/httpd/conf.d/subversion.conf

<Location /svn>

DAV svn

#注意,下面的路径,子文件夹名不能和父文件名重复,不然就会出问题

SVNParentPath /var/www/svn

AuthType Basic

AuthName “Subversion hadoop”

AuthzSVNAccessFile /var/www/svn/authz.conf

AuthUserFile /var/www/svn/authfile

Require valid-user

# </LimitExcept>

</Location>

 

vi /var/www/svn/authz.conf

 

[hadoop:/]

admin = rw

 

service httpd restart #重启apache服务

chkconfig httpd on #设置apache开机自动

 

第六步 开放服务器端口

 

svn默认端口是3690,你需要在防火墙上开放这个端口。

 

/sbin/iptables -A INPUT -i eth0 -p tcp –dport 3690 -j ACCEPT

/sbin/iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT

/sbin/service iptables save

 

第七步,使用svn客户端导入项目

 

推荐使用客户端 http://tortoisesvn.tigris.org/

 

eclipse插件 http://subclipse.tigris.org/