SubVersion1.4.3在ES4下的安装与配置

安装环境:

 

Redhat Enterprise server4.0

 

需要软件:

SVN: Subversion 1.4.3

HTTPD:Apache Httpd 2.2.4

APR: Apache Apr 1.2.8
APU: Apache Apr-Util 1.2.8

 

1:下载源代码

Subversion 下载目的:http://subversion.tigris.org/

Apache 下载目的: http://archive.apache.org/

 

2. 编译源代码:
按下面的顺序编译源代码:
(1) Apache Apr
# cd apr-1.2.8
# ./configure --prefix=/usr/local/apr
# make
# make install

(2) Apache Apr-Util
# cd apr-util-1.2.8
# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# make
# make install

(3) Apache Httpd
# cd httpd-2.2.4
# ./configure --prefix=/usr/local/apache2 --enable-dav --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
# make
# make install

(4) Subversion
# cd subversion-1.4.3
# ./configure --prefix=/usr/local/subversion --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-apxs=/usr/local/apache2/bin/apxs

# make
# make install

以上的编译通常情况都能顺利编译成功,得到相应的可执行程序。

检查WebDav for SVN 模块:
# cd /usr/local/apache2/modules
检查 mod_dav_svn.so mod_authz_svn.so,如果上述第2步编译成功,这两个模块应该可以看到。

 

3. 创建svn用户:
# groupadd svn
# useradd -g svn svn
以后代码库的创建维护等,都用这个帐户来操作。

 

 

准备环境变量:
$ SVN_HOME=/usr/local/subversion
$ export SVN_HOME
$ PATH=$PATH:$SVN_HOME/bin
$ export PATH

 

 

创建启动Subversion的脚本:
$ echo '/usr/local/subversion/bin/svnserve -d -r /home/svn/' > startup.sh
$ chmod +x startup.sh
$ ./startup.sh

将启动脚本放置到开机自动启动脚本中:
root身份修改文件:/etc/rc.d/rc.local,添加以下文字:
su -c /home/svn/startup.sh svn

 

4.创建代码仓库

#cd /usr/local/subversion/bin

创建仓库projects

#./svnadmin create /home/svn/projects

更改目录的访问权限(这里我只是尝试这样做可以。要不然回报内部服务器错误或者没有权限添加文件。)

#chmod 777 –R /home/svn

 

5.修改Apache配置文件

Vi /usr/local/apache2/conf/httpd.conf

加载WebDav for SVN模块: 

#
# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built 
as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained 
in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

添加最后两行(默认编译后,configure会自动加上)
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
在下面添加:

<Location /svn>

DAV svn

SVNParentPath /home/svn  //svn父目录

AuthzSVNAccessFile /home/svn/authz.conf //权限配置文件,如果这里制定的文件没有找到会报内部服务器错误。

AuthType Basic //连接类型设置

AuthName "rabocheng ES4 linux" //连接框提示

AuthUserFile /home/svn/authfile // 用户配置文件

Require valid-user //采用何种认证

</Location>

修改启动httpd的默认用户:

#
# If you wish httpd to run 
as a different user or group, you must run
# httpd 
as root initially and it will switch.  
#
# User/Group: The name (or #number) of the user/group to run httpd 
as.
# It 
is usually good practice to create a dedicated user and group for
# running httpd, 
as with most system services.
#
#User daemon
#Group daemon
User svn
Group svn
</IfModule>

将执行httpd的用户和组设为svn,这样做是为了让httpd进程能访问版本库的数据。

 

 

上面的authfile用户配置文件可以通过命令

#/usr/local/apache2/bin/htpasswd –c /home/svn/authfile rabo

回车,再输入密码来添加。

//第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,
//
完成对用户 的增加

 

权限配置文件

/home/svn/authz.conf配置说明

vi /home/svn /authz.conf
   [projects:/]
//这表示,仓库test的根目录下的访问权限
   rabo = rw
//test仓库wooin用户具有读和写权限
   svn = rw
//test仓库bao用户具有读权限
    [/]
//这个表示在所有仓库的根目录下
   * = r
//这个表示对所有的用户都具有读权限
   #[groups]
//这个表示群组设置
   #svn1-developers = wooin, bao
//这个表示某群 组里的成员
   #svn2-developers = wooin
   #[svn1:/]
   #@svn1-developers = rw
//如果在前面加上@符号,则表 示这是个群组权限设置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值