您的位置:首页 > 运维架构 > Linux

Linux 下安装Subversion 服务器

2012-06-15 17:13 190 查看
1 下载相关的软件Apache-2.x http://httpd.apache.org 下载源代码包Subersion http://subversion.tigris.org/ 下载源代码包本文中apache的版本为 Apache/2.2.4 (Unix)Subversion 版本:svnserve 1.4.3 (r23084)2 安装相关软件2.1 安装apache1)./configure –prefix=/usr/local/apache(安装目录)–enable-so –enable-proxy –enable-ssl –enable-vhost-alias –enable-mods-shared=most –enable-dav –enable-maintainer-mode说明:其中—enable-dav 和—enable-maintainer-mode是为了能在apache下集成subversion才加进去的编译参数。–with-mpm=worker(这个参数,要详细阅读apache的相关文档来做决定用哪种mpm,待定)2)make (编译)3)make install (安装)4)make clean(清理源代码目录)2.2 安装subversion1)配置./configure –prefix=/home/svn –enable-maintainer-mode –with-apr=/usr/local/apache2/bin/apr-1-config –with-apxs=/usr/local/apache2/bin/apxs –with-apr-util=/usr/local/apache2/bin/apu-1-config其中:/usr/local/apache2为apache的安装目录,而不是源代码目录。2)make3)make install4)make clean3 创建仓库仓库的规划一般是有一个仓库,其中存放一个或者多个项目根目录,在每个项目根目录下面有/trunk, /branches, and /tags三个子目录,或者另外的规划。/
utils/
calc/
trunk/
tags/
branches/
calendar/
trunk/
tags/
branches/
office/
spreadsheet/
trunk/
tags/
branches/
无论哪种规划,但是都必须遵循的一个原则就是必须符合你的项目的设计。
3.2 创建仓库根据上面一节的规划来创建你的仓库。1) 创建仓库$ svnadmin create /path/to/repos观察repos目录结构2) 根据仓库规划,创建临时目录:$mkdir tmpdir$cd tmpdir$mkdir boss (boss在这里是project name)$mkdir boss/trunk$mkdir boss/tags$mkdir boss/branches3) 添加上面创建的目录结构到1)中创建的仓库中去
$svn import boss file:///path/to/repos -m‘Initial repository layout’
boss:代表当前目录
file段:代表1)中创建的仓库
4 subversion服务器配置 Subversion 的服务器运行方式分为两种:http方式和tcp(以svnserve)方式。4.1 http方式配置结合apache的dav模块来是实现。在apache的安装目录下面找到配置文件httpd.conf,修改配置文件。<Location /svn>DAV svnSVNPath /home/svn/repos</Location>4.2 svn方式配置Subversion以svnserve方式运行1) standalone mode直接运行:#svnserve –d运行 lsof -i :3690可以看到SVN服务器已经在运行2) xinetd mode在/etc/xinetd.d/下生成svnserve文件,内容如下service svnserve{disable = nosocket_type = streamprotocol = tcpwait = nouser = rootserver = /home/svn/bin/svnserveserver_args = -i}编辑 /etc/services 檔,加入底下两行:svnserve 3690/tcp # Subversion svnservesvnserve 3690/udp # Subversion svnserve重启xinetd服务/usr/sbin/xinetd –restart运行 lsof -i :3690可以看到SVN服务器已经在运行5 服务器配置5.1 服务器配置Subversion的配置文件存放在$SVN_HOME/your repository/conf目录下面,配置文件名:svnserve.conf。1) 基本权限管理svnserve.conf的配置风格跟mysql的配置文件的风格相似。基于linux下的配置文件风格如下:[xxx] section:配置段配置段下面的配置区域,一般是:变量 = 值在svnserve.conf中[general]段,访问权限分为三种:read,write,noneanon-access = none (对匿名用户)auth-access = write   (授权用户)2) 基于svn自己权限管理Svn本身通过password-db = userfile和realm = my first实现了权限管理。Password-db是权限文件放置位置。Realm是加密的key权限文件的格式类似如下:[users]A=123456 (其中a为用户名,123456为密码)3)基于svn+ssh权限管理(略)附录:命令列表具体用法可参考 Subversion 命令参考手册Subversion 命令列客户端: svnsvn addsvn catsvn checkoutsvn cleanupsvn commitsvn copysvn deletesvn diffsvn exportsvn helpsvn importsvn infosvn listsvn logsvn mergesvn mkdirsvn movesvn propdelsvn propeditsvn propgetsvn proplistsvn propsetsvn resolvedsvn revertsvn statussvn switchsvn updateSubversion 命令列服务端:svnadmin list-unused-dblogssvnadmin createsvnadmin dumpsvnadmin helpsvnadmin loadsvnadmin lstxnssvnadmin recoversvnadmin rmtxnssvnadmin setlogsvnlook authorsvnlook catsvnlook changedsvnlook datesvnlook diffsvnlook dirs-changedsvnlook helpsvnlook historysvnlook infosvnlook logsvnlook proplistsvnlook treesvnlook youngestbash-3.2# ls -al /usr/local/lib/libexpat.* /usr/local/include/expat.h-rw-r--r-- 1 root wheel 40339 Jan 14 02:43 /usr/local/include/expat.h-rw-r--r-- 1 root wheel 444628 Jan 14 02:43 /usr/local/lib/libexpat.a-rwxr-xr-x 1 root wheel 793 Jan 14 02:43 /usr/local/lib/libexpat.lalrwxr-xr-x 1 root wheel 13 Jan 14 02:43/usr/local/lib/libexpat.so -> libexpat.so.6-rwxr-xr-x 1 root wheel 265921 Jan 14 02:43 /usr/local/lib/libexpat.so.6bash-3.2#
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: