linux下单独(不附带apache)配置subversion方法:

安装过程:

1.软件下载。我下载的是 subversion-1.6.6.tar.gz 和 subversion-deps-1.6.6.tar.gz ,前者是 svn1.6.6 的源文件,后者是编译时可能需要用到的包。软件下载地址如下

http://subversion.tigris.org/

2.解压两个文件进入同一个目录

分别执行命令:tar xfvz subversion-1.6.6.tar.gz和tar xfvz subversion-deps-1.6.6.tar.gz

3.进入解压子目录: cd subversion-1.6.6

4.执行 ./configure --prefix=/usr/local/svn 进行配置设定并指明安装目录.

5.执行 make 编译

6.执行 make install 安装.

7.添加环境变量: vi /etc/profile 在文件最后加入: export SVNPATH=$PATH:/usr/local/svn/bin

8.运行:svnserve -d启动svn

9. 测试SVN是否安装成功,执行: svnserve --version 如果显示版本信息, 则安装成功.

10.由于svn的端口号为3690,可以查看一下svn占用的端口号命令为:netstat -nl|grep 3690

软件配置:

1.建立版本库

进入到svn的安装目录/usr/local/svn/bin下,首先建立一个文件夹:mkdir -p /usr/local/snvdata/然后输入命令./svnadmin create /usr/local/svndata/repos就建立了一个版本库了。

2.进入/usr/local/svndata/repos/conf就可以看到svn的配置文件,首先配置svnserve.conf

配置如下:

anon-access = none

auth-access = write

password-db = passwd

realm = My First Repository

其它配置文件一律注释掉,特别是### authz-db = authz,因为如果不是需求组权限配置的话千万不要配置这个,会有预料不到的错误

之后配置passwd文件

[users]

用户名 = 密码

配置时可以采用 vi passwd 打开文件之后,输入i可以进行修改,改完之后按住ESC退出并输入:wq

即可保存修改

3.查看svn进程是否已经启动,ps -ef|grep svn        然后输入 kill 进程号 杀死该进程,之后到/usr/local/svn/bin目录下输入命令:
svnserve -d -r /opt/svndata/repos --listen-host=218.241.157.42

svn:导入

svn import /usr/local/dooynn/ svn://218.241.157.42/repos/dooynn -m "test import"

查看
svn list svn://218.241.157.42/repos

但是外网竟然连不上来,怎么办?

No connection could be made because the target machine actively refused it.  
svn: Can't connect to host '218.241.157.42': No connection could be made because the target machine actively refused it.

看样子是防火墙的问题,首先关闭防火墙试试。

service iptables stop

发现还是不行,关闭SeLinux试试。
vi /etc/selinux/config

SELINUX=disabled

郁闷,还不行。

telnet 218.241.157.42 3690
结果连不上,23端口是可以,80端口在apache启动后也是可以的,说明svn服务器没有安装好?

改成23端口,结果可以,晕,怎么回事,还是防火墙的问题?
但是配置都没有任何问题啊。

今天才知道,原来是公司疯了目的端口地址,气死了。总以为我可以访问apche等其他公司的svn服务器,我自己的肯定没事,没想到啊。他们应该都是svn+apache的形式,看来大家以后只能用80,22,23,25这些端口了。