linux 域名安装subversion,Linux 下安装subversion 详细指南

1 下载相关的软件

本文中apache的版本为 Apache/2.2.4 (Unix)

Subversion 版本:svnserve 1.4.3 (r23084)

2 安装相关软件

2.1 安装apache

1)./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(清理源代码目录)

3 创建仓库

2.2 安装subversion

1)配置

./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)make

3)make install

4)make clean

仓库的规划一般是有一个仓库,其中存放一个或者多个项目根目录,在每个项目根目录下面有/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/branches

3) 添加上面创建的目录结构到1)中创建的仓库中去

$svn import . file:///path/to/repos –message ‘Initial repository layout’

.:代表当前目录

file段:代表1)中创建的仓库

4 subversion服务器配置

Subversion 的服务器运行方式分为两种:http方式和tcp(以svnserve)方式。

4.1 http方式配置

结合apache的dav模块来是实现。

在apache的安装目录下面找到配置文件httpd.conf,修改配置文件。

DAV svn

SVNPath /home/svn/repos

4.2 svn方式配置

Subversion以svnserve方式运行

1) standalone mode

直接运行:#svnserve –d运行 lsof -i :3690可以看到SVN服务器已经在运行

2) xinetd mode在/etc/xinetd.d/下生成svnserve文件,内容如下

service svnserve

{

disable = no

socket_type = stream

protocol = tcp

wait = no

user = root

server = /home/svn/bin/svnserve

server_args = -i

}

编辑 /etc/services 檔,加入底下两行:

svnserve 3690/tcp # Subversion svnserve

svnserve 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,none

anon-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 命令列客户端: svn

svn add

svn cat

svn checkout

svn cleanup

svn commit

svn copy

svn delete

svn diff

svn export

svn help

svn import

svn info

svn list

svn log

svn merge

svn mkdir

svn move

svn propdel

svn propedit

svn propget

svn proplist

svn propset

svn resolved

svn revert

svn status

svn switch

svn update

Subversion 命令列服务端:

svnadmin list-unused-dblogs

svnadmin create

svnadmin dump

svnadmin help

svnadmin load

svnadmin lstxns

svnadmin recover

svnadmin rmtxns

svnadmin setlog

svnlook author

svnlook cat

svnlook changed

svnlook date

svnlook diff

svnlook dirs-changed

svnlook help

svnlook history

svnlook info

svnlook log

svnlook proplist

svnlook tree

svnlook youngest

bash-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.la

lrwxr-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.6

bash-3.2#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值