rhel5.4 install svn service

一、下载必需要的软件
wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz

 
说明:这两个文件解压之后会放到同一个文件下面不需要新创建文件夹
二、安装步骤
  tar zxvf subversion-1.6.1.tar.gz  
  tar zxvf subversion-deps-1.6.1.tar.gz  
  cd subversion-1.6.1/  
  ./configure --prefix=/usr/local/svn    #注意选项的搭配使用!
  make && make install
在做编译的时候遇到了一个问题:错误提示需要安装openssl,所以我就安装了一个openssl
解决办法
#cd /home/soft/ && wget http://www.openssl.org/source/openssl-1.0.0a.tar.gz
#tar -zxvf openssl-1.0.0a.tar.gz
#cd openssl-1.0.0a
#./config
#./config -t
#make depend
#make
#make test
#make install
安装之后会在/usr/local下生成一个ssl目录
设置环境变量,在/etc/profile的PATH中增加如下内容:
PATH=/usr/local/ssl/bin:/sbin/:$PATH:/usr/sbin
export PATH

重新执行./configure --with-openssl=/usr/local/ssl #这里加上--with-openssl参数
#错误提示2#
configure: error: subversion requires zlib
解决方法:
cd /usr/local
wget  http://zlib.net/zlib-1.2.5.tar.gz
tar -xvzf zlib-1.2.5.tar.gz
cd zlib-1.2.5
./configure
make
make install
cd /usr/local
ln -s zlib-1.2.5 zlib
ok,错误提示2解决。
重新执行./configure --with-openssl=/usr/local/ssl --with-zlib=/usr/local/zlib ,成功!

三、查看svn信息
#/usr/local/svn/bin/svnserve –version

四、将svn的bin目录添加到环境变量中去
[root@BlackGhost /]# PATH=$PATH:/usr/local/svn/bin
[root@BlackGhost /]# export PATH
[root@BlackGhost /]# svn

五、创建svn仓库并测试应用
#mkdir -p /opt/svndata/repos1  
#svnadmin create /opt/svndata/repos1/
#vi /opt/svndata/repos1/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd   #还可以指定到其它目录都是可以的
authz-db = authz
realm = repos1
#vi /opt/svndata/repos1/conf/passwd
[users]
test = test
#vi /opt/svndata/repos1/conf/authz
[groups]
admin = test
# harry_and_sally = harry,sally
[/]
@admin = rw
[repos1:/abc/aaa]
@admin = r
启动svnserve -d -r /opt/svndata/ 

 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

1.   下载软件包

wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz 

 

apr-1.4.6.tar.gz 

http://apr.apache.org/download.cgi

httpd-2.4.3.tar.gz 

http://www.apache.org/dist/httpd/

subversion-1.7.1.tar.gz

http://mirror.bjtu.edu.cn/apache/subversion

 

apr-util-1.4.1.tar.gz

http://code.google.com/p/centos/downloads/detail?name=apr-util-1.4.1.tar.gz&can=2&q=

http://apr.apache.org/download.cgi

sqlite-autoconf-3071000.tar.gz

http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz

zlib-1.2.6.tar.gz

 http://code.google.com/p/heiyeluren/downloads/detail?name=zlib-1.2.6.tar.gz&can=2&q=

2. 安装

 第一步:安装apr-1.4.6.tar.gz

cd /root/app #进入/root/app目录里

tar -zvxf apr-1.4.6.tar.gz #解压缩apr-1.4.6.tar.gz压缩包

cd apr-1.4.6 #进入apr-1.4.6目录里

./configure --prefix=/usr/local/apr #配置安装的路径为/usr/local/apr

make #编译

make install #安装

第二步:安装apr-util-1.4.1.tar.gz

tar -zvxf apr-util-1.4.1.tar.gz #解压缩apr-util-1.4.1

cd apr-util-1.4.1 #进入apr-util-1.4.1目录里

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

#配置安装路径为/usr/local/apr-util

make #编译

make install #安装

第三步:安装sqlite-autoconf-3071100.tar.gz

tar -zvxf sqlite-autoconf-3071100.tar.gz #app目录中解压缩tar

cd sqlite-autoconf-3071100 #进入到sqlite-autoconf-3071100目录

./configure --prefix=/usr/local/sqlite #配置安装目录

make

make install

 

第四步:安装httpd-2.4.3.tar.gz

# tar xvzf httpd-2.4.3.tar.gz

//进入解压后的目录

# cd httpd-2.4.3

//配置apache安装,前两个参数是必须要加的,你还可以根据您的需要添加其他的参数。

//后面的参数制定你要把apache安装哪里

(--enable-dav 启用davweb支持,是subversion+apache组合必选,缺少的话,在运行apache会出现undefined symbol: dav_register_provider的错误 )

(./configure  --enable-dav --enable-so --prefix=/software/install/apache2/ --with-apr=/software/install/apr-1.4.6/ --with-apr-util=/software/install/apr-util-1.4/ )

 配置httpd

# ./configure --enable-dav --enable-so --prefix=/usr/local/apache2/

编译和安装:

# make//安装

# make install

# cd /usr/local/apache2/bin

//启动apache服务

# ./apachectl start

启动时若端口被占用,则可修改apache端口:

#cd /usr/local/apache2/conf
       #vi httpd.conf
       Listen 88    //默认值是80,修改成任意一个不被占用的端口

 

$$$$//如果启动过程中出现错误信息:httpd could not reliably determine the server's fully qualified domain name.....

$$$$ 编辑httpd.conf文件,搜索"#ServerName",添加ServerName localhost:80

//打开浏览器http://localhost/如果有测试页"It works!"出现则证明已经安装成功。

 

第五步:安装zlib-1.2.5.1.tar.gz (svn依赖zlib) (RHEL5.默认版本是1.2.3, SVN需要更高版本,如果通过zlib-1.2.5.1.tar.gz安装,系统可能检测不到新版本,最好下载rpm包进行升级安装。)

 

cd .. #退到app目录

tar -zvxf zlib-1.2.5.1.tar.gz #app解压缩zlib-1.2.5.1.tar.gz

cd zlib-1.2.5.1 #进入zlib-1.2.5.1目录里

./configure --shared #(此处不需要指明安装路径,否则后面SVN安装会找不到zlib)

make

make install

 

第六步:安装 subversion-1.7.4.tar.gz

tar -zvxf subversion-1.7.4.tar.gz #app解压缩包

cd subversion-1.7.4 #进入subversion-1.7.4目录里

./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-sqlite=/usr/local/sqlite --with-neon=/usr/local/neon  --with-apxs=/usr/local/apache2/bin/apxs

( ./configure  --prefix=/software/install/svn --with-apr=/software/install/apr-1.4.6/ --with-apr-util=/software/install/apr-util-1.4/ --with-apxs=/software/install/apache2/bin/apxs )

 

 

#./configure --with-apxs=/usr/local/apache2/bin/apxs --prefix=/usr/local/subversion --with-apr=/usr/local/apache2 --with-apr-util=/usr/local/apache2 --with-ssl --with-zlib=/usr/local/apache2/lib --enable-maintainer-mode

 

#chmod 700 /myhome/dev/svnroot/repository  

 

关联Apache和SVN

打开apache配置文件:

#vi /usr/local/apache2/conf/httpd.conf

在httpd.conf中添加SVN关联:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

 

<Location /svn>
DAV svn
SVNParentPath /home/svnroot/repository/   //指定SVN根目录
AuthzSVNAccessFile /home/svnroot/repository/authz.conf    //指定权限控制文件
AuthType Basic    //指定认证类型
AuthName "Welcome to SVN!"    //指定连接欢迎语
AuthUserFile /home/svnroot/repository/authfile    //指定用户名密码配置文件
Require valid-user    //需要用户验证
</Location>

设置SVN用户及权限

新建SVN用户及密码:
#cd /usr/local/apache2/bin    //进入apache目录
#htpasswd -c /home/svnroot/repository/authfile john    //新增用户,回车后会提示输入密码,'-c'是创建文件的意思,以后加入用户就不用加'-c'了
设置用户权限:
[groups]
admin = john    //admin组的用户为john
dev1 = joe, kate    //dev1组的用户为joe和kate
dev2 = alan, geoff    //dev2组的用户为alan和geoff
docs = lindar, iain    //docs组的用户为lindar和iain
[/]
@admin=rw     //设置对根目录只有admin组有读写权限
*=r    //其它组(人)对根目录只有读权限
[proj1:/]
@dev1=rw    //对proj1目录dev1组有读写权限
@dev2=rw    //对proj2目录dev1组有读写权限
[/trunk/doc]
@docs=rw    //对所有的turnk下的doc目录,docs组有读写权限

 

测试svn连接

 

使用IE或SVN工具测试:http://hostname(or ip):88/svn/work

 

会提示输入用户名密码,输入验证,如果有问题需查apache的log。

 

 

 

#配置安装路径,上面的三行需要一次复制到命令行中

 

 

==============================================================

如果出现上面的问题 configure: error: subversion requires zlib

说明第六步没有起作用, 从新自动安装zlib

yum install zlib 自动从网上下载安装zlib

或者:

     rpm –qa |grep zlib

如果低版本的zlib已经安装,删除zlib ,并从新安装

rpm –e –allmatches –nodeps zlib 

 

./configure --shared zlib   //切记不需要指明安装路径

make

make install

第七步:添加环境变量,创建库文件目录

    Vim /etc/profile  /usr/local/svn/bin添加到PATH变量

//创建库文件所在的目录 (svnroot用户进行下面的操作)

# mkdir /home/svnroot/repository

//进入subversion的bin目录

# cd /usr/local/subversion/bin

//创建仓库"test"

# ./svnadmin create /home/svnroot/repository/test

# cd /home/svnroot/repository/test

//看看是不是多了些文件,如果是则说明Subversion安装成功了

# ls –l

# cd /usr/local/subversion/bin

//这条语句将把路径/home/user/import下找到的文件导入到你创建的Subversion 仓库中去,

//提交后的修订版为1。

# ./svn import /home/user/import file:///home/svnroot/repository/test –m "注释"

//不让其他人有该目录的权限

# chmod 700 /home/svnroot/repository

5.修改Apache配置文件

# cd /usr/local/apadche2/bin

//启动Apache

# ./apachect1 start

# vi /usr/local/apache2/conf/httpd.conf

//在最下面添加

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

 

 

<Location /svn>

DAV svn

SVNParentPath /home/svnroot/repository/ //svn父目录

AuthzSVNAccessFile /home/svnroot/repository/authz.conf //权限配置文件

AuthType Basic //连接类型设置

AuthName "Subversion.zoneyump" //连接框提示

AuthUserFile /home/svnroot/repository/authfile //用户配置文件

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

</Location>

//其中authfile是通过"htpasswd [–c] /home/svnroot/repository/authfile username password"来创建的

//"Require valid-user"告诉apache在authfile中所有的用户都可以访问。如果没有它,

//则只能第一个用户可以访问新建库

6.重启apache

# ./usr/local/apache2/bin/apachectl restart

//打开浏览器访问http://localhost/svn/test/,如果有东西显示就说明成功。

7.权限管理

1)增加用户

# htpasswd [-c] /home/svnroot/repository/authfile wooin

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

# htpasswd authfile 用户名(加入新的用户)

2)权限分配

# vi /home/svnroot/repository/authz.conf

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

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

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

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

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

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

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

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

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

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

#svn2-developers = wooin

#[svn1:/]

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

将这个设置完成后。重启Apache,就可以通过

http://localhost/svn/test

这个URL来访问仓库了,当然,受权限的限制,必须是合法用户才能访问且具有相应的权限

 

备注:

1。 apache进程的权限:因为所有跟仓库传输的操作都是通过apache进程进行的,所以即使你给svn用户设置了很大的权限,但是apache进程没有访问仓库或者相关文件的权限也没有用,apache进程的权限设置在 /usr/local/apache2/conf/httpd.conf 文件中配置,找到文件中的这两行:

User daemon # 将daemon改为svnroot,让apache进程以svnroot的身份运行

Group daemon

2。

在/etc/profile的结尾设置一些svn启动时要做的工作

# start apache server for svn

/usr/sbin/apachectl start

export SVN_EDITOR=vi

3。/home/respository/svnroot下的文件操作权限有给svnroot.

启apache error

/etc/init.d/httpd restart

Syntax error on line 235 of /VDS/localpram/apache2/conf/httpd.conf:

Cannot load /VDS/localpram/apache2/modules/mod_dav_svn.so into server: /VDS/localpram/apache2/modules/mod_dav_svn.so: undefined symbol: dav_xml_get_cdata

原因:安装apache的时候没加--enable-dav --enable-so 重新编译安装可以了

The Apache Portable Runtime (APR) library cannot be found.

Please install APR on this system and supply the appropriate

--with-apr option to 'configure'

or

get it with SVN and put it in a subdirectory of this source:

svn co \

http://svn.apache.org/repos/asf/apr/apr/branches/0.9.x \

apr

Run that right here in the top level of the Subversion tree,

then run autogen.sh again.

Whichever of the above you do, you probably need to do

something similar for apr-util, either providing both

--with-apr and --with-apr-util to 'configure', or

getting both from SVN with:

svn co \

http://svn.apache.org/repos/asf/apr/apr-util/branches/0.9.x \

apr-util

configure: error: no suitable apr found

解决方法:下载subversion-deps-1.4.3.tar.bz2解压在同一目录下

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
安装apache

1、已root用户登陆centos

Connecting to 192.168.1.133:22...

Connection established.

Escape character is '^@]'.

Last login: Sat Feb 25 13:10:27 2012

[root@localhost ~]#

2、创建并切换到下载文件存放目录:

[root@localhost ~]# mkdir /soft && cd /soft

3、下载httpd-2.2.22.tar.gz

[root@localhost soft]# wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.22.tar.gz

4、解压下载下来的 apache 包

         [root@localhost soft]# tar -xzvf httpd-2.2.22.tar.gz

5、进入解压后的文件夹

         [root@localhost soft]# cd httpd-2.2.22

[root@localhost httpd-2.2.22]#

6、对apache进行检查及配置 :

         [root@localhost httpd-2.2.22]# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-modules=most

7、编译并安装apache

         [root@localhost httpd-2.2.22]# make && make install

安装apache功能支持库文件apr

1、  进入下载文件存放目录:

[root@localhost httpd-2.2.22]# cd /soft/

2、  下载apr http://apr.apache.org/download.cgi

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache//apr/apr-1.4.6.tar.gz

3、  解压下载下来的apr-1.4.6.tar.gz

[root@localhost soft]# tar -xzvf apr-1.4.6.tar.gz

4、  进入解压后的目录;

[root@localhost soft]# cd apr-1.4.6

5、  配置、编译、安装:

[root@localhost apr-1.4.6]# ./configure && make && make install



安装apache功能支持库文件apr-util

1、  进入下载文件存放目录:

[root@localhost apr-1.4.6]# cd /soft

2、下载apr-util  http://apr.apache.org/download.cgi

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.4.1.tar.gz

3、解压下载下来的apr-util-1.4.1.tar.gz

         [root@localhost soft]# tar -xzvf apr-util-1.4.1.tar.gz

4、进入解压后的目录;

[root@localhost soft]# cd apr-util-1.4.1

6、  安装配置,需要指定apr的安装位置:

[root@localhost apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

7、 编译,安装:

[root@localhost apr-util-1.4.1]# make && make install

安装sqlite

1、  进入下载文件存放目录:

         [root@localhost httpd-2.2.22]# cd /soft/

[root@localhost soft]#

2、  下载sqlite  http://www.sqlite.org/download.html

[root@localhost soft]# wget http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz

3、  解压下载下来的sqlite

[root@localhost soft]# tar -xzvf sqlite-autoconf-3071000.tar.gz

4、  进入解压后的文件夹

[root@localhost soft]# cd sqlite-autoconf-3071000

[root@localhost sqlite-autoconf-3071000]#

5、  配置、编译、安装

[root@localhost sqlite-autoconf-3071000]# ./configure --prefix=/usr/local/sqlite  &&  make && make install

安装Subversion

1、  进入下载文件存放目录

[root@localhost sqlite-autoconf-3071000]# cd /soft

2、  下载svn server http://subversion.apache.org/download/

[root@localhost soft]# wget http://mirror.bit.edu.cn/apache/subversion/subversion-1.7.3.tar.gz

3、  解压下载下来的Subversion 1.7.3

[root@localhost soft]# cd subversion-1.7.3

4、  在当前目录创建sqlite-amalgamation文件夹:

[root@localhost subversion-1.7.3]# mkdir sqlite-amalgamation

5、  拷贝sqlite3.c到刚建好的文件夹:

[root@localhost subversion-1.7.3]# cp /soft/sqlite-autoconf-3071000/sqlite3.c /soft/subversion-1.7.3/sqlite-amalgamation/



6、  配置安装,需要指定apache、apr、apr-util等目录:

[root@localhost subversion-1.7.3]# ./configure --prefix=/usr/local/svn --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-zlib=/usr/local/zlib/ --with-neon=/usr/local/neon/ --with-ssl --enable-maintainer-mode

7、  编译并安装:

[root@localhost subversion-1.7.3]# make && make install

相关配置

1、  增加SVN用户验证文件,设置用户及密码,首次创建使用-c参数,后续不需要加-c参数,否则将会重新创建此文件:

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/htpasswd -cm /usr/local/svn/svn-auth.conf wdj

2、  增加wl用户:

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/htpasswd -m /usr/local/svn/svn-auth.conf wl

3、  增加svn用户及权限配置文件:

[root@localhost subversion-1.7.3]# vi /usr/local/svn/svn-access.conf

[groups]

developers = wdj,wl

[/]

* = r

@developers = rw

[test:/]

@developers = rw



说明:

[groups] svn用户所属组,组名 = 用户名,用户名…

[test:/] svn仓库为test的操作权限为@developers组的用户为可读可写

4、  配置apache httpd.conf文件

[root@localhost subversion-1.7.3]# vi /usr/local/apache2/conf/httpd.conf

5、  在文件最后加入以下内容:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

DAV svn

SVNParentPath /opt/svndata

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /usr/local/svn/svn-auth.conf

Require valid-user

AuthzSVNAccessFile /usr/local/svn/svn-access.conf

           </Location>

说明:

           SVNParentPath:svn仓库位置

           AuthUserFile:svn用户验证文件

           AuthzSVNAccessFile:svn用户权限验证文件





6、  创建SVN仓库目录:

[root@localhost subversion-1.7.3]# mkdir -p /opt/svndata/test

7、  创建svn仓库:

[root@localhost subversion-1.7.3]# svnadmin create /opt/svndata/test

8、  设置仓库拥有者和权限:

[root@localhost subversion-1.7.3]# chown -R daemon /opt/svndata/test && chmod -R 755 /opt/svndata/test



启动服务并测试

1、  启动apache(由于集成了svn,所有不需要单独启动svn服务)

[root@localhost subversion-1.7.3]# /usr/local/apache2/bin/apachectl start

2、  使用浏览器访问仓库:

http://192.168.1.133/svn/test/ (输入刚才创建的wdj用户名及设置的密码)

3、  正常显示test - Revision 0: / 说明apache和svn已经集成完成

4、  使用TortoiseSVN 或者eclipse svn插件 提交或更新文件,地址为:http://192.168.1.133/svn/test/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 

RHEL5.3下安装SVN

一、      软件环境

虚拟机:VMware-workstation-full-7.1.0-261024

Linuxrhel-5.3-server-i386

svnsubversion-1.6.17.tar.gz

二、      安装步骤

1、安装前检查

检查以下软件包是否安装,没有请安装

gccopenssl-develexpat-developenssl-devellibxml2-devel

2、安装文件目录

/home/rosicky/software/subversion/apr-1.4.5.tar.gz

/home/rosicky/software/subversion/apr-util-1.3.12.tar.gz

/home/rosicky/software/subversion/httpd-2.2.19.tar.gz

/home/rosicky/software/subversion/sqlite-amalgamation-3.7.3.tar.gz

/home/rosicky/software/subversion/subversion-1.6.17.tar.gz

/home/rosicky/software/subversion/subversion-deps-1.6.17.tar.gz

3、安装目录

/soft/apr/

/soft/apr-util/

/soft/apache2/

/soft/sqlite/

/soft/subversion/

4、操作用户

rootsvn

5、新建组,用户,创建目录

# groupadd svn

# useradd -g svn svn

# passwd svn

# mkdir -p /soft/apr/

# mkdir -p /soft/apr-util/

# mkdir -p /soft/apache2/

# mkdir -p /soft/sqlite/

# mkdir -p /soft/subversion/

6、安装

安装apr

# cd /home/rosicky/software/subversion/

# tar -zxvf apr-1.4.5.tar.gz

# cd apr-1.4.5

# ./configure --prefix=/soft/apr/

# make

# make install

 

安装apr-util

# cd /home/rosicky/software/subversion/

# tar -zxvf apr-util-1.3.12.tar.gz

# cd apr-util-1.3.12

# ./configure --prefix=/soft/apr-util/ --with-apr=/soft/apr/

# make

# make install

 

安装apache

# cd /home/rosicky/software/subversion/

# tar -zxvf httpd-2.2.19.tar.gz

# cd httpd-2.2.19

# ./configure --prefix=/soft/apache2/ -enable-dav -enable-so -enable-ssl -enable-maintainer-mode -enable-rewrite --with-apr=/soft/apr/bin/apr-1-config --with-apr-util=/soft/apr-util/bin/apu-1-config

# make

# make install

 

安装sqlite

# cd /home/rosicky/software/subversion/

# tar -zxvf sqlite-amalgamation-3.7.3.tar.gz

# cd sqlite-3.7.3

# ./configure --prefix=/soft/sqlite/

# make

# make install

 

安装subversion

# cd /home/rosicky/software/subversion/

# tar -zxvf subversion-1.6.17.tar.gz

# tar -zxvf subversion-deps-1.6.17.tar.gz

# cd subversion-1.6.17

# ./configure --prefix=/soft/subversion/ --with-apxs=/soft/apache2/bin/apxs --with-apr=/soft/apr/ --with-apr-util=/soft/apr-util/ --with-sqlite=/soft/sqlite/ --with-ssl --with-zlib=/home/rosicky/software/subversion/subversion-1.6.17/zlib/ --without-berkeley-db --enable-maintainer-mode

# make

# make install

 

删除安装解压文件

# cd /home/rosicky/software/subversion/

# rm -rf apr-1.4.5

# rm -rf apr-util-1.3.12

# rm -rf httpd-2.2.19

# rm -rf sqlite-3.7.3

# rm -rf subversion-1.6.17

三、      配置

1、apache配置

# cat /soft/apache2/conf/httpd.conf | grep svn

显示以下信息则说明安装成功:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

 

更改apache运行用户

# vi /soft/apache2/conf/httpd.conf

           找到以下两行,

User daemon

Group daemon

修改为:

User svn

Group svn

2、Location配置

Location中的/svn只是个虚目录,用于区别普通的网站访问。

例如url http://127.0.0.1/svn/repos,则/svn的部分就会由下述配置去解析。

如果你想在url中使用/svnroot去解析,那么下面的Location配置就变为 <Location /svnroot/>

以下配置文件中,注释和配置不要写到同一行

# 虚拟目录后要加上"/",否则访问出现403.bug

<Location /svn/>

    Dav svn

            # 允许在网页上显示svn父目录list

    SVNListParentPath on

            # /home/svn/repositories SVN的父目录

    SVNParentPath "/home/svn/repositories"

            # 连接类型设置

    AuthType Basic

            # 连接框提示

    AuthName "Subversion Repository"

            # 用户配置文件

    AuthUserFile /home/svn/etc/passwd

            # 验证

    AuthzSVNAccessFile /home/svn/etc/authz

    Satisfy Any

    Require valid-user

</Location>

配置如下:

# vi /soft/apache2/conf/httpd.conf

在文件末尾增加如下内容:

# svn location config

<Location /svn/>

    Dav svn

    SVNListParentPath on

    SVNParentPath "/home/svn/repositories"

    AuthType Basic

    AuthName "Subversion Repository"

    AuthUserFile /home/svn/etc/passwd

    AuthzSVNAccessFile /home/svn/etc/authz

    Satisfy Any

    Require valid-user

</Location>

3、建立用户验证文件(新建用户)

使用svn用户登录

$ mkdir etc/

$ cd /soft/apache2/bin/

$ htpasswd -cm /home/svn/etc/passwd rosicky

会要求输入密码

第一次使用htpasswd时,使用c参数是创建后面的passwd文件,m参数是使用md5进行加密

 

再新建一个用户

$ htpasswd -m /home/svn/etc/passwd shanfy

4、建立权限验证文件

使用svn用户登录

$ cd etc/

$ vi authz

输入如下内容,保存退出

[/]

*=rw

 

[groups]

admin=shanfy,rosicky

 

[javademo:/]

@admin=rw

 

[webdemo:/]

@admin=rw

5、创建资源库

使用svn用户登录

$ mkdir repositories/

$ /soft/subversion/bin/svnadmin create /home/svn/repositories/javademo

$ /soft/subversion/bin/svnadmin create /home/svn/repositories/webdemo

6、启停apache

root用户

# /soft/apache2/bin/apachectl start

# /soft/apache2/bin/apachectl stop

7、客户端检出项目

http://192.168.161.10/svn/javademo

8、浏览

http://192.168.161.10/

显示:It works!

http://192.168.161.10/svn/

显示:当前资源库(版本库)

     

 

你可能感兴趣的:(service)