一、下载必需要的软件
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用户及权限
#htpasswd -c /home/svnroot/repository/authfile john //新增用户,回车后会提示输入密码,'-c'是创建文件的意思,以后加入用户就不用加'-c'了
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 //其它组(人)对根目录只有读权限
@dev1=rw //对proj1目录dev1组有读写权限
@dev2=rw //对proj2目录dev1组有读写权限
@docs=rw //对所有的turnk下的doc目录,docs组有读写权限
#配置安装路径,上面的三行需要一次复制到命令行中
==============================================================
如果出现上面的问题 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,就可以通过
这个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解压在同一目录下
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
Linux:rhel-5.3-server-i386
svn:subversion-1.6.17.tar.gz
二、 安装步骤
1、安装前检查
检查以下软件包是否安装,没有请安装
gcc,openssl-devel,expat-devel,openssl-devel,libxml2-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、操作用户
root,svn
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、浏览
显示:It works!
显示:当前资源库(版本库)