内容:Linux + SVN + Apache 安装与整合
前言
编写目的
有助于SVN管理员管理SVN版本控制工具
如何新增用户,配置用户权限
管理目录权限
适用范围
SVN管理员
内容目录
管理目录介绍
配置管理
Apache和SVN安装与整合
日常维护命令
数据迁移
管理目录介绍
SVN安装与配置(一)
1 、下载地址 :
wget http://subversion.tigris.org/downloads/subversion-1.6.5.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.5.tar.gz。
2. apache 整合 SVN 需要开启 webdav 功能
[root@localhost httpd-2.4.4]#pwd
/usr/local/httpd-2.4.4
./configure--prefix=/usr/local/apache2--enable-so --enable-dav=share--enable-dav-fs
3 、 相关文件
subversion-1.6.3.tar.gz
subversion-deps-1.6.3.tar.gz
4. 编译 svn 以 root 用户登录。
将subversion-1.6.3.tar.gz和subversion-deps-1.6.3.tar.gz传到服务器
tar xfvz subversion-1.6.3.tar.gz
tar xfvz subversion-deps-1.6.3.tar.gz
cdsubversion-1.6.3
./configure--prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs
make
make install
5. 查看 个动态库有没有安装成功
6.SVN 配置用户介绍
位置:/opt/仓库名/conf
该目录下有2个配置文件,authz和passwd,具体说明如下:
注:不要更改配置文件名字,否则配置文件无法使用,具体文件内容详见备注信息。
7. 新建版本库
建立版本库目录:
$ cd /opt/jf
$ mkdir -p /opt/jf/app
$ mkdir -p /opt/jf/document
建立版本库:
$ svnadmin create /opt/jf/app
$ svnadmin create /opt/jf/document
进入任意一个新建的版本库
$ cd /opt/jf/app //该文件夹下包含如下几个内容
$ ll
包含conf、db、format、hooks、locks、README.txt内容
8. 用户管理
第一步:新增以及删除
用户管理,执行如下命令:
$ htpasswd -cm /opt/jf/conf/passwd username //新增用户和文件,回车后输入密码
$ htpasswd -m /opt/jf/conf/passwd username //新增用户,回车后输入密码
$ htpasswd -D /opt/jf/conf/passwd username //删除用户
备注: 注意红色部分,c表示创建,如果存在会覆盖,不建议使用c参数。
第二步:查看
$vi /opt/jf/conf/passwd
可以看到新增的用户和密码(密文)
9 . 查看 配置文件,这里关注 2 个
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/subversion.conf
我配置了httpd.conf文件,可是没有用,我就配置了第二个文件subversion.conf文件
#vi /etc/httpd/conf.d/subversion.conf //修改配置文件内容
#配置jf组访问权限
<Location /jf>
DAV svn
SVNParentPath /opt/jf
AuthType Basic
AuthName "Authorization app"
AuthUserFile /opt/jf/conf/passwd
Require valid-user
AuthzSVNAccessFile /opt/jf/conf/authz
</Location>
如果上述仍没有起作用,需要在apache中的conf中配置
root用户登录[root@localhostconf]# cat /usr/local/apache2/conf
具体配置如图:
SVN环境变量配置
1 . vi / etc /profile, 在 / etc /profile 最后加入
PATH=$PATH:/opt/svn/bin
export PATH
2 . 配置立刻生效
[root@localhostetc]# source profile
3 . SVN 测试 svnserve –version
SVN 启动
1 . 创建 SVN 用户
启动svn建立启动svn的用户useraddsvn
允许用户svn访问版本库chown -Rsvn:svn /opt/jf
2 . 启动
su-svn-c "svnserve -d--listen-port 9999 -r /opt/jf“
其中:
su– svn表示以用户svn的身份启动svn
-d表示以daemon方式(后台运行)运行
--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限
-r /opt/jf指定根目录是/opt/jf
3 . 查看 SVN 启用情况
[root@localhostetc]#netstat -an | grep 9999
tcp 0 0 :::9999 :::* LISTEN
[root@localhostetc]#ps-ef|grepsvnserve
svn 16658 1 0 20:55 ? 00:00:00svnserve -d--listen-port 9999 -r /opt/jf
root 16768 15472 0 20:57 pts /4 00:00:00
grep
svnserve
SVN服务器访问两种方式
修改 Apache 默认端口
位置:/usr/local/apache2/conf/httpd.conf中Listen端口
1. 通过 http 方式访问 SVN 服务器,如图:
2 . 通过 SVN 客户端 TortoiseSVN 方式 访问 SVN 服务器, 如图:
日常维护命令和参数
数据迁移
³ 导出
方法一:非压缩方式
svnadmin dump /opt/jf/app> /home/jfroot/app.svn
方法二:压缩方式
svnadmin dump /opt/jf/app|gzip> /home/jfroot/app.gz
³ 导入
方法一:非压缩方式
svnadmin load /opt/jf/app < /home/jfroot/app.svn
方法二:压缩方式
1.先解压:
gzip -d app.gz
2.重命名
mv app app.dump
3.导入
svnadmin load /opt/jf/app < /home/jfroot/app.dump