书山有路勤为径,学海无涯苦作舟
分类: 系统运维
2015-03-25 15:45:18
#检查是否安装了低版本的SVN
[root@localhost /]# rpm -qa subversion
#卸载旧版本SVN
[root@localhost modules]# yum remove subversion
[root@localhost modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
[root@localhost /]# cd /etc/httpd/modules
[root@localhost modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
以上两个模块是配合Apache作web访问的,SVN客户端访问的话可以不用安装。
检验已经安装的SVN版本信息
[root@localhost modules]# svnserve --version
svnserve, version 1.6.11 (r934486)
compiled Apr 11 2013, 16:13:51
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see
This product includes software developed by CollabNet ().
The following repository back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
SVN软件安装完成后还需要建立SVN库
[root@localhost modules]# mkdir -p /home/svn/svnfile
[root@localhost modules]# svnadmin create /home/svn/svnfile
执行上面的命令后,自动建立svn库,查看/home/svn/svnfile 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
进入上面生成的文件夹conf下,进行配置
[root@localhost modules]# cd /home/svn/svnfile/conf
[root@localhost password]# cd / home/svn/svnfile/conf
[root@admin conf]# vi + passwd
修改passwd为以下内容:
[root@admin conf]# vi + authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[root@admin conf]# vi + svnserve.conf
追加以下内容:
[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]# service iptables restart
svnserve -d -r /home/svn
[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories
[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /opt/svn/repositories // 启动 -d表示以daemon方式(后台运行)运行;
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.0.178
用户名/密码: admin/admin
测试创建文件夹等操作。
安装好的svn服务端,默认是不会开机自启动的,每次开机自己启动会很麻烦,我们可以把它设成开机启动
#!/bin/bash
/usr/bin/svnserve -d -r /home/svn/
这里的svnserve路径保险起见,最好写绝对路径,因为启动的时候,环境变量也许没加载。
绝对路径怎么查?