CentOS6.5搭建SVN服务器(Apache+SVN)

介绍:

    运维朋友都知道,常常会配合开发人员搭建一些他们需要的环境,来提高开发工作效率,他们每天面对的无非就是代码,所以代码的可用性和管理性对开发至关重要的,开发公司每接到一个项目就是一个团队来开发,这样多人同时对一些代码进行修改,会面临一些问题,比如:误删除,对同一文件修改发生冲突,对某些人不让有所有权限,都会造成工作效率降低,要想解决这些问题就需要有一个专业的版本管理系统来集中管理这些代码,这样的版本管理系统很多,我们这次使用的是SVN(subversion),是cvs接班人,是现在开源软件使用最多的版本管理软件,不多说了,开始搭建一个属于自己的版本控制系统吧。

SVN服务器有2种运行方式:独立服务器和借助apache运行(Web/DAV)。

1、安装依赖包

1
[root@localhost ~]# yum install gcc gcc-++ make pcre-devel zlib-devel -y
1
2
3
4
[root@localhost ~]# tar zxvf apr-1.4.6.tar.gz
[root@localhost ~]# cd apr-1.4.6
[root@localhost apr-1.4.6]# ./configure --prefix=/usr/local/apr
[root@localhost ~]# make && make install

1
2
3
4
[root@localhost ~]# tar zxvf apr-util-1.4.1.tar.gz
[root@localhost ~]# cd apr-util-1.4.1
[root@localhostapr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost ~]# make && make install

2、安装Apache

下载:http://mirrors.cnnic.cn/apache/httpd/

1
2
3
4
5
[root@localhost ~]# tar zxvf httpd-2.4.7.tar.gz
[root@localhost ~]# cd httpd-2.4.7
[root@localhost httpd-2.4.7]#./configure --prefix=/usr/local/apache --enable-dav --enable-so--enable-rewrite --enable-maintainer-mode --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/
[root@localhost ~]# cp /usr/local/apache/bin/apachectl /etc/init.d/httpd
[root@localhost ~]# sed -i 's/#ServerName.*/ServerName localhost/' /usr/local/apache/conf/httpd.conf

3、安装SVN

SVN需要需要SQLite数据库支持,我们先安装SQLite

下载:http://www.sqlite.org/download.html

1
2
3
4
[root@localhost ~]# tar zxvf sqlite-autoconf-3080200.tar.gz
[root@localhost ~]# cd sqlite-autoconf-3080200
[root@localhostsqlite-autoconf-3080200]# ./configure
[root@localhostsqlite-autoconf-3080200]# make && make install

  #安装SVN

下载:http://subversion.apache.org/download

1
2
3
4
[root@localhost ~]# tar zxvf subversion-1.8.5.tar.gz
[root@localhost ~]# cd subversion-1.8.5
[root@localhostsubversion-1.8.5]# ./configure --prefix=/usr/local/subversion--with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util/
[root@localhostsubversion-1.8.5]# make && make install

./confiure报错:这是因为apsx文件没有指定perl执行程序位置

apache/bin/apxs:/usr/local/perl: bad interpreter: No such file or directory

configure: error: no - APXSrefers to an old version of Apache

解决方法:[root@localhost ~]# vi /usr/local/apache/bin/apxs

#!/replace/with/path/to/perl/interpreter–w  #将第一行修改为#!/usr/bin/perl –w即可

  #添加环境变量

1
2
3
[root@localhost ~]# echo "PATH=$PATH/:/usr/local/subversion/bin" >> /etc/profile
[root@localhost ~]# source /etc/profile
[root@localhost ~]# svnserve -version  #显示版本信息表示正常

4、apache与svn整合

#创建组、用户并加载svn库

1
2
3
4
[root@localhost ~]# groupadd svn
[root@localhost ~]# useradd -g svn -s /sbin/nologin svn
[root@localhostsubversion-1.8.5]# cp subversion/mod_dav_svn/.libs/mod_dav_svn.so/usr/local/apache/modules/
[root@localhostsubversion-1.8.5]# cp subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache/modules/
1
2
3
4
5
[root@localhost ~]# vi /usr/local/apache/conf/httpd.conf
User svn
Group svn
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

  5、配置Web/DAV

  #创建svn仓库

1
2
3
4
5
6
7
8
9
10
11
[root@localhost ~]# mkdir /svn
[root@localhost ~]# svnadmin create /svn/test
[root@localhost ~]# vi /usr/local/apache/conf/httpd.conf
<Location /svn>         #url访问路径 
DAV svn                 #声明
SVNParentPath /svn      #svn仓库根目录
AuthType Basic          #基本认证
AuthName "PleaseLogin"  #登陆时提示信息
AuthUserFile/usr/local/apache/.passwd  #用户密码文件
Require valid-user      #允许所有用户访问
</Location>

  #生成passwd文件

1
2
3
[root@localhost ~]# /usr/local/apache/bin/htpasswd -c -m /usr/local/apache/.passwd user1
[root@localhost ~]# chown :svn /usr/local/apache/.passwd
[root@localhost ~]# service httpd restart

  #通过浏览器访问SVN地址,并输入用户名和密码


CentOS6.5搭建SVN服务器(Apache+SVN)

  6、Windows客户端访问SVN服务器

下载地址:http://tortoisesvn.net/downloads.html

安装很简单,过程略…

连接方式:安装客户端后 --> 右击桌面 --> 点TortoiseSVN --> 选择Repo-breowser --> 输入URL(http://192.168.1.153/svn/test)--> 输入manager组的xiaoming用户和密码登录 --> 登录后右击即可上传和删除文件

至此SVN基本安装配置完成!



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1340646,如需转载请自行联系原作者

上一篇:关于bboss-persistent持久层框架通过jndi引用外部数据源(datasource)


下一篇:bboss persistent事务管理介绍 (十)