centos安装svn服务器

安装说明
系统环境:CentOS-6.3
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件

检查已安装版本

 一,安装SVN

#检查是否安装了低版本的SVN
[root@zck /]# rpm -qa subversion
#卸载旧版本SVN
[root@zck modules]# yum remove subversion
安装SVN
[root@zck modules]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
确认已安装了svn模块
[root@zck /]# cd /etc/httpd/modules
[root@zck modules]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so


 

验证安装

检验已经安装的SVN版本信息

[root@zck modules]# svnserve --version
svnserve,版本 1.6.11 (r934486)
编译于 Jun 23 2012,00:44:03

 二、apache的配置
配置/etc/httpd/conf/httpd.conf
(httpd的安装目录,一般是/etc/httpd或/usr/local/appache2)
进入到/etc/conf目录下用vim打开httpd.conf配置文件进行选项的修改:
            a. KeepAlive选项(可选)
               该选项可以修改也可以不修改,主要是为了提高http协议访问的性能,可以
               使得svn仓库的访问更快,KeepAlive表示可以保持http的永久性TCP连接,
               省去了每次都需要进行重建TCP连接的巨大开销,找到如下几个选项并修改:
                  KeepAlive On
                  MaxKeepAliveRequests 100
                  KeepAliveTimeout 15
             b. ServerAdmin/ServerName选项(可选)
                对于需要对系统进行管理的可以在ServerAdmin选项设置成为管理员的email
                地址,这样在出现问题时apache会自动发送邮件到该地址中;而ServerName
                必须设置为本服务器的域名,如xxx.xxx.cn:80。

       为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载一个特殊的模块mod_dav_svn。如果您的Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /usr/local/apache2) 的 modules 子目录内。同时在Apache的配置文件httpd.conf(默认路径为/usr/local/apache2/conf)中已经使用 LoadModule指令加载了该模块(如果没有,请手动添加)LoadModule 指令的语法很简单, 就是将一个具名模块对映到共享链接库在磁盘上的位置:
LoadModule dav_svn_module     modules/mod_dav_svn.so
注意这个指令必须出现在其它的 Subversion 相关指令之前。
还要加载mod_authz_svn.so模块

测试Apache是否可以正常启动:

       #vim /etc/httpd/conf/httpd.conf -- Edit what you need and save the file
       #service httpd start
       #chkconfig httpd on
在浏览器中访问:http://localhost, 如果能看到Apache的页面,则说明Apache已经正常启动。

Apache命令:
       启动:apachectl -k start
       关闭:apachectl -k stop
       重启:apachectl -k restart
       查看日志:tail -f /etc/httpd/logs/error-log

三、SVN配置

进入到/etc/httpd/conf.d目录下用vim打开subversion.conf配置文件进行选项的
修改:
a. module的配置
一定要保证下面的两句话存在于配置文件中,否则无法在如svn的模块,就
无法访问svn的仓库了:
               LoadModule dav_svn_module     modules/mod_dav_svn.so
               LoadModule authz_svn_module   modules/mod_authz_svn.so

 

代码库创建

SVN软件安装完成后还需要建立SVN库

[root@zck modules]# mkdir -p /opt/svn/repositories
[root@zck modules]# svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置

[root@zck modules]# cd /opt/svn/repositories/conf

用户密码passwd配置

[root@zck password]# cd /opt/svn/repositories/conf
[root@admin conf]# vi + passwd

修改passwd为以下内容:

 

[users]
# harry = harryssecret
# sally = sallyssecret
zhoulf=123456

权限控制authz配置

[root@admin conf]# vi + authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
#设置[/]代表根目录下所有的资源

[/]
zhoulf=rw
服务svnserve.conf配置

[root@admin conf]# vi + svnserve.conf

追加以下内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/opt/svn/repositories

配置防火墙端口

[root@zck conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@zck conf]# service iptables restart


启动SVN

svnserve -d -r /opt/svn/repositories

查看SVN进程

[root@zck conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories


检测SVN 端口

[root@zck conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN

[root@zck password]# killall svnserve //停止
[root@zck password]# svnserve -d -r /opt/svn/repositories // 启动

测试
SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.15.231
用户名/密码: zhoulf/123456
测试创建文件夹等操作。










 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值