SVN
SVN:SVN是Subversion的简称,是一种开放代码的版本控制系统,相比较RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制器服务已从CVS迁移到Subversion。
环境与原料
操作系统:Linux(CentOS版)
svn版本:subversion-1.9.3.tar.gz(下载地址:http://subversion.apache.org/download)
arp软件:apr-1.5.2.tar.gz(下载地址:http://apache.fayea.com//apr/apr-1.5.2.tar.gz)
arp-util软件:apr-util-1.5.4.tar.gz(下载地址:http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz)
SQLite数据库:sqlite-autoconf-3100200.tar.gz(下载地址:http://www.sqlite.org/download.html);
zlib库:zlib-1.2.8.tar.gz(下载地址:http://www.zlib.net)
编译安装
1. 解压压缩包到/usr/svn目录,命令:tar -zxvf subversion-1.9.3.tar.gz -C /usr/svn/
2. 进入安装包下,执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion
执行检查环境命令的时候可能会报错:APR not found(apache的一个运行库未找到)
下载apr-1.5.2.tar.gz(下载地址:http://apache.fayea.com//apr/apr-1.5.2.tar.gz);
-
- 解压arp: tar xfvz apr-1.5.2.tar.gz -C /usr/svn/
- 进入apr目录:cd /usr/svn/apr-1.5.2
- 执行配置命令:./configure --prefix=/usr/svn/apr
- 执行命令:make
- 安装命令:make install(安装错误可以使用make clean清空)
下载apr-util-1.5.4.tar.gz(下载地址:http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz);
-
- 解压arp: tar xfvz apr-util-1.5.4.tar.gz -C /usr/svn/
- 进入apr目录:cd /usr/svn/apr-util-1.5.4
- 执行配置命令:./configure --prefix=/usr/svn/apr-util --with-apr=/usr/svn/apr
- 执行命令:make
- 安装命令:make install
进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util
可能报错: Subversion requires SQLite(svn需要SQLite数据库)
下载sqlite-autoconf-3100200.tar.gz(下载地址:http://www.sqlite.org/download.html);
-
- 解压arp: tar xfvz sqlite-autoconf-3100200.tar.gz -C /usr/svn/
- 进入apr目录:cd /usr/svn/sqlite-autoconf-3100200
- 执行配置命令:./configure --prefix=/usr/svn/sqlite
- 执行命令:make
- 安装命令:make install
进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util
--with-sqlite=/usr/svn/sqlite
可能报错: Subversion requires zlib(svn需要zlib)
下载zlib-1.2.8.tar.gz(下载地址:http://www.zlib.net);
-
- 解压arp: tar xfvz zlib-1.2.8.tar.gz -C /usr/svn/
- 进入apr目录:cd /usr/svn/zlib-1.2.8
- 执行配置命令:./configure --prefix=/usr/svn/zlib
- 执行命令:make
- 安装命令:make install
进入svn解压目录,再次执行检查环境操作,命令:./configure --prefix=/usr/svn/subversion --with-apr=/usr/svn/apr --with-apr-util=/usr/svn/apr-util
--with-sqlite=/usr/svn/sqlite --with-zlib=/usr/svn/zlib
3. 在svn解压目录下,执行命令:make
4. 在svn解压目录下,执行安装命令:make install
5. 将svn加入PATH中
-
-
- 打开profile文件:vi /etc/profile
- 在文件最后面添加: export PATH=/usr/svn/subversion/bin:$PATH
- 退出保存并执行执行:. /etc/profile
-
6. 测试SVN是否安装成功,执行: svnserve --version
7. 创建代码库
-
- 创建仓库文件夹,执行命令:mkdir /usr/svn/svn-repository
- 创建代码库,执行命令: svnadmin create /usr/svn/svn-repository/
执行上面的命令后,查看/usr/svn/svn-repository文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立
、
-
-
- conf目录:代码库的配置文件
- db目录:数据文件
- hooks(钩子)目录:钩子程序目录,可以放入触发器,放置hook脚本文件的目录
- locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
- format:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号
- README:读我文件
-
8. 配置用户名和密码以及SVN服务配置
进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件passwd,在后面加上用户名和密码,格式:用户名=密码;
-
- 进入配置文件目录,执行命令:cd /usr/svn/svn-repository/conf/
- 创建代码库,执行命令: vi passwd
进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件authz;
-
- 进入配置文件目录,执行命令:cd /usr/svn/svn-repository/conf/
- 创建代码库,执行命令: vi authz
-
-
- 创建用户组,在[groups]后面加上,组名 = 成员名1,成员名2
- 给用户授权,在[/]某目录下授权,成员名 = 权限
- 给用户组授权,在[respository:/]某目录下授权([<版本库>:/项目/目录] ),@组名 = 权限
-
/ 表示对根目录下的所有子目录范围设置权限;
*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。
注意:对权限配置文件的修改立即生效,不必重启svn。
进入代码库中的配置文件目录/usr/svn/svn-repository,修改文件svnserve.conf;
-
- 进入配置文件目录,执行命令:cd /usr/svn/svn-repository/conf/
- 创建代码库,并进行一下修改,执行命令: vi svnserve.conf
- 加入一下内容:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = my-svn-repository
9. 启动SVN服务
启动服务命令:svnserve -d --listen-port 3690 -r /usr/svn/svn-repository
云安装
运行命令:yum -y install subversion
检查版本,命令:svnserve --version
更新版本,命令:yum update subversion
建代码库同上,第8步骤