apache 整合subversion

一 subversion服务器是不需要apache的,但是可以使用apache,视具体情况来选择。
       1、如果只要通过file://或svn://来访问,则不需要apache,只安装svn即可,使用svnserve来作为服务。
       2、如果你要建立一个可以通过http://或https://来访问的版本库服务器,则你需要使用apache。

二软件包:

 apr-1.4.8.tar.gz

 apr-util-1.5.2.tar.gz

 httpd-2.4.4.tar.gz

 subversion-1.8.0.tar.gz

三安装配置:

1安装apr

#wget http://mirror.esocc.com/apache//apr/apr-1.4.8.tar.gz

# tar zxf apr-1.4.8.tar.gz

#cd apr-1.4.8

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

#make && make install

#cd ..

2安装apr-util

#wget http://mirror.esocc.com/apache//apr/apr-util-1.5.2.tar.gz

#tar zxf apr-util-1.5.2.tar.gz

#cd apr-util-1.5.2

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

#make && make install

#cd ..

3安装httpd

#wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.4.tar.gz

#tar httpd-2.4.4.tar.gz

#cd httpd-2.4.4

#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --enable-so --enable-dav --enable-maintainer-mode --enable-rewrite

#make && make install

#cd ..

安装好后启动apache

/usr/local/apache/bin/apachectl -k start

浏览器访问http://ip 出现It works! 安装正常

4安装配置subversion

#wget http://apache.dataguru.cn/subversion/subversion-1.8.0.tar.gz

#tar zxf  subversion-1.8.0.tar.gz

#cd subversion-1.8.0

#./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache/bin/apxs --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config --with-ssl --with-zlib --enable-maintainer-mode

报错:缺少sqlite

安装sqlite

#wget http://www.sqlite.org/2013/sqlite-amalgamation-3071700.zip

#unzip sqlite-amalgamation-3071700.zip

#mv sqlite-amalgamation-3071700 subversion-1.8.0/sqlite-amalgamation

然后在重新编译就不会报错了

#make && make install

到此为止我们已经安装了apache+svn的环境 这时就要开始整合

5 配置apache支持svn

#ls /usr/local/subversion/libexec/ 会有需要的模块

mod_authz_svn.so  mod_dav_svn.so

#cp /usr/local/subversion/libexec/* /usr/local/apache/modules

然后在apache的配置文件中加入以下两行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

在文件最后加入

<Location /svn>

DAV svn

SVNParentPath /data/svn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /data/svn/svnpasswd

Require valid-user

AuthzSVNAccessFile /data/svn/svnaccessfile

</Location>

到此整合完成

6 配置svn

创建版本库

/usr/local/subversion/bin/svnadmin create test

创建密码文件和访问控制文件

1 . 密码文件添加用户:
       # /usr/local/apache/bin/htpasswd –c /svn/svnpasswd user1
       第一次设置用户时使用-c表示新建一个用户文件。回车后输入用户密码,完成对用户的增加
       第二次添加用户不需要带 –c 参数 如:
       # /usr/local/apache/bin/htpasswd /svn/svnpasswd user2

2访问控制文件

 vim /data/svnaccessfile  

 [/]

 *=r

 [test:/]

  admin=rw

注意:在编辑authz.conf文件时,所有行都必须要顶头写,不能有缩行出现,否则会报错:"Access denied: ''user1"

7 重启apache和svn

# /usr/local/apache/bin/apachectl -k restart

#/usr/local/subversion/bin/svn -d -r /data/svn

 -d 表示以 daemon 方式(后台运行)运行
 -r /data/svn 指定根目录是/data/svn

接下来就可以使用

http://ip/svn/test 输入用户名和密码访问了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章