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 zxfsubversion-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.somod_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
在文件最后加入
DAV svn
SVNParentPath /data/svn
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /data/svn/svnpasswd
Require valid-user
AuthzSVNAccessFile /data/svn/svnaccessfile
到此整合完成
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
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 输入用户名和密码访问了
页:
[1]