Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2549370
  • 博文数量: 271
  • 博客积分: 6659
  • 博客等级: 准将
  • 技术积分: 3141
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-17 10:24
文章分类

全部博文(271)

文章存档

2016年(2)

2015年(12)

2014年(7)

2013年(19)

2012年(22)

2011年(81)

2010年(128)

分类: LINUX

2010-05-11 21:40:18


RHEL5+Subversion-1.6.0+Apache-2.2.11


一、安装前的准备工作

1.下载 

subversion-1.6.0.tar.gz

subversion-deps-1.6.0.tar.gz 

httpd-2.2.11.tar.gz

apr-1.4.5.tar.gz

apr-util-1.3.9.tar.gz

zlib-1.2.3.tar.gz


2.rpm -qa|grep -E 'httpd|apr|subversion" ,如果有的话,全部卸载.

3. 

del="`rpm -qa | grep -E 'httpd|apr|subversion'`"

for i in $del ; do rpm -e $i ; done  

二、开始安装


1.安装apr

cd /usr/local/src

tar -zvxf apr-1.4.5.tar.gz 

cd apr-1.4.5 

./configure --prefix=/usr/local/apr 

make && make install

 

2.安装apr-util


cd /usr/local/src

tar -zvxf apr-util-1.3.12.tar.gz

cd apr-util-1.3.12

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/  && make && make install


 

4. 安装httpd-2.2.13.tar.gz 

mkdir /usr/local/apache2

cd /usr/local/src

tar -zvxf httpd-2.2.13.tar.gz 

cd httpd-2.2.13

./configure --prefix=/usr/local/apache2 \

--with-apr=/usr/local/apr/bin/apr-1-config  \

--with-apr-util=/usr/local/apr-util/bin/apu-1-config  \

--enable-modules=so  \

--enable-dav  \

--enable-maintainer-mode  \

--enable-rewrite


make && make install 

启动apache服务 

/usr/local/apache2/bin/apachectl start 

netstat -ntlp 


 

5.解压subversion

cd /usr/local/src

tar zxvf subversion-1.6.17.tar.gz

tar zxvf subversion-deps-1.6.17.tar.gz (这个解压后会放到前面一个解压的目录里的)


安装serf

cd subversion-1.6.17/serf

./configure --with-apr=/usr/local/apr/bin/apr-1-config  --with-apr-util=/usr/local/apr-util/bin/apu-1-config 

make && make install 

 

安装 neon

cd /usr/local/src/subversion-1.6.17/neon

./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/

make && make install


安装 sqlite



cd /usr/local/src/

tar -xzvf sqlite-2.8.17.tar.gz

cd sqlite-2.8.17

./configure --prefix=/usr/local/sqlite3

make && make install 

 



6.安装subversion

cd /usr/local/src

cd subversion-1.6.17

./configure --prefix=/usr/local/subversion  \

--with-apxs=/usr/local/apache2/bin/apxs  \

--with-apr=/usr/local/apr/bin/apr-1-config  \

--with-apr-util=/usr/local/apr-util/bin/apu-1-config  \

--with-ssl  \

--enable-maintainer-mode


make && make install



 


三、配置

1.vim /usr/local/apache2/conf/httpd.conf  查看是否有如下2行,有就对了

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so


2.建立版本库

mkdir /svn (代码的根目录,根据自己情况)

/usr/local/subversion/bin/svnadmin create /svn/simplemessae (建一个test项目)

/usr/local/subversion/bin/svnadmin create /svn/wtgame

ls /svn/simplemessae 里面多了些文件就对了


3.配置Apache来支持SVN

vim /usr/local/apache2/conf/httpd.conf

在末尾加上如下内容:

NameVirtualHost *:8888

NameVirtualHost *:8889

DAV svn

SVNPath /svn/simplemessae

AuthType Basic

AuthName "welcome to simplemessae"

AuthUserFile /svn/authfile

AuthzSVNAccessFile /svn/authz.conf

Require valid-user



DAV svn

SVNPath /svn/wtgame

AuthType Basic

AuthName "welcome to wtgame"

AuthUserFile /svn/authfile

AuthzSVNAccessFile /svn/authz.conf

Require valid-user


####


   DAV svn

   SVNParentPath /code #svn父目录

   AuthzSVNAccessFile /code/authz.conf #权限配置文件

   AuthName "Hello welcome to here"   #此处字符串内容修改为提示对话框标题 

   AuthType Basic    #连接类型设置

   AuthName "Subversion" #连接框提示

   AuthUserFile /code/authfile  #用户配置文件

   Require valid-user  #采用何种认证

保存退出


4.启动 apache 

/usr/local/apache2/bin/apachectl -k restart

打开IE,输入: 或

会弹出一个输用户和密码的框就对了

 

5.创建用户配置文件

/usr/local/apache2/bin/htpasswd -c /svn/authfile hujie

回车输入密码 (-c是第一次要创建文件)

/usr/local/apache2/bin/htpasswd /svn/authfile user2

回车输入密码

  .

  .等

 


6.创建权限配置文件

################################################

vim /svn/authz.conf

[root@localhost svn]# cat authz.conf 

[groups]

admin = root,simple

[/]

root = rw

simple = rw


[/simplemessae]

root = rw

simple = rw


[/wtgame]

root = rw

simple = rw

#############################################

注意:在编辑authz.conf文件时,所有行都必须要顶头写,否则会报错 


[test:/]

user1 = rw

user2 = r


保存退出

注:

[test:/]   //这表示,仓库test的根目录下的访问权限

user1 = rw //test仓库user1用户具有读和写权限

user2 = r //test仓库user2用户具有读权限

[test2:/] //test2仓库根目录下的访问权限

user1 = r //user1用户在test2仓库根目录下只有读权限

user2 = //user2用户在 test2仓库根目录下无任何权限

[/] //这个表示在所有仓库的根目录下

* = r //这个表示对所有的用户都具有读权限

#[groups] //这个表示群组设置

#svn1-developers = user1, user2 //这个表示某群组里的成员

#svn2-developers = user1

#[svn1:/]

#@svn1-developers = rw //如果在前面加上@符号,则表示这是个群组权限设置

 


7.重启Apache

/usr/local/apache2/bin/apachectl restart 

打开IE,输入: 或

会弹出一个输用户和密码的框

输入你的添加的用户和密码就ok了


8.创建svn自启动

需要在/etc/profile文件内容的最后添加以下几行语句:

PATH=$PATH:/usr/local/subversion/bin

export PATH

svnserve -d

其中:/usr/local/svn/bin是svn的安装路径。

前两句的目的是为了实现svn的命令在任何目录上都可以使用。

另外一个让linux启动是自动启动svn服务的办法是在/etc/rc.d/rc.local文件里添加下面的语句:

/usr/local/subversion/bin/svnserve -d 


### cd /svn/

    chown -R daemon.daemon *  #设置用户为HTTP的运行用户 防止权限问题

两种方法可任选其中一个


#####新建项目

/usr/local/svn/bin/svnadmin create /code/test2

vi /code/authz.conf

添加

[test2:/]

user1 = rw

user2 = r

阅读(2355) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~