1. SVN(1.6.11)
Subversion 是基于APR—Apache 可移植运行库构建的。APR 提供了Subversion 需要的全部与操作系统相关的操作接口,如磁盘访问, 网络访问,内存管理等。这使得 Subversion 能够使用 Apache 作为其网络服务器程序之一,Subversion 对 APR 的依赖并不 意味着必须使用 Apache 作为它的网络服务器程序。APR是一个独立的程序库,任何应用程序都可以使用它。相反,它意味着 Subversion能够在所有可运行 Apache 服务器的操作系统上运行,如Windows, Linux, 各种 BSD, Mac OS X, Netware 等。
SVN服务器有2种运行方式:独立服务器和借助apache。
这两种方式各有利弊,独立SVN服务器不结合Apache安装使用,连接独立SVN服务器也不用HTTP协议。这是比较快捷的SVN服务器配置方法。
SVN存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据所以还是FSFS方式更安全一点,我安装时也使用的是FSFS方式。
1、 安装步骤
(1) 首先检查svn是否安装,查看安装位置。
rpm-ql subversion
如果已经安装,则无需再次安装。
(2) 安装svn
yum install subversion
(3) 检查是否成功
svn --help
svn, version 1.6.11(r934486)
compiled Feb 10 2015, 22:08:22
Copyright (C)2000-2009 CollabNet.
Subversion is opensource software, see http://subversion.tigris.org/
This product includessoftware developed by CollabNet (http://www.Collab.Net/).
The followingrepository access (RA) modules are available:
* ra_neon : Module foraccessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module foraccessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Modulefor accessing a repository on local disk.
- handles 'file' scheme
2. Apache(2.2.15)
1、安装apache
yum-y install apache
2、安装组件
yum–y install mod_dav_svn.so mod_authz_svn.so
3、配置/etc/httpd/conf.d/subversion.conf
<Location /svn>
DAV svn
SVNListParentPath on
#SVNPath /svn/svnroot/icec
SVNParentPath /svn/svnroot ## 各仓库的父目录
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /svn/passwd.conf
AuthzSVNAccessFile /svn/authz.conf
Require valid-user
</Location>
3. MySQL
安装mysql(5.5)
yum–y install mysql
4. SvnManager
用于管理svn仓库,包括创建和删除。
1、安装
准备svnmanager1.0.9的安装包。下载地址:http://ufpr.dl.sourceforge.net/project/svnmanager/svnmanager/1.09/svnmanager-1.09.zip
将文件解压至 /var/www/html下:
tar–xzf svnmanager-1.0.9.tar.gz /var/www/html/svnmanager
SVNManager需要通过php-pear安装一个叫VersionControl_SVN的。你的机器必须连接上互联网,并执行如下命令:
#pear install --alldeps VersionControl_SVN-0.3.1.tgz
2、为svnmanager创建数据库
为SVNManager创建访问用户及数据库:
#mysql–u root –p
Mysql>create database svnmanager;
Mysql>grant all privileges on svnmanager.* to svnmanager@’localhost’ identified by ‘1’;
Mysql>flush privileges;
全部执行成功后,svn数据库svnmanager创建成功,用户名是svnmanager。
3、配置svnmanager
复制config.php.linux,并更名为config.php,再修改其中的配置属性。
$htpassword_cmd ="/usr/bin/htpasswd";
$svn_cmd = "/usr/bin/svn";
$svnadmin_cmd ="/usr/bin/svnadmin";
$svn_repos_loc ="/svn/svnroot";
$svn_passwd_file ="/svn/passwd.conf";
$svn_access_file ="/svn/authz.conf";
$smtp_server ="smtp.exmail.qq.com";
$dsn ="mysql://svnmanager:svnmanager@localhost/svnmanager";
//Administrator account
$admin_name ="admin";
$admin_temp_password ="admin";
第一次进入时,使用上面配置的admin用户登录,此时只能使用用户管理功能(User Admin)。只有当系统创建了一个管理员后,才能使用其他的菜单。
4、配置httpd
/etc/httpd/conf/httpd.conf
<Directory"/var/www/html/svnmanage">
AllowOverride None
Order deny,allow
Deny from all
Allow from all
</Directory>