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这些端口了。