CentOS6.3下apache与svn整合安装

########安装apr#########
#tar zxvf apr-1.3.6.tar.gz
#cd apr-1.3.6
#./configure--prefix=/usr/local/apr
#make&&makeinstall
#cd..  
 
########安装apr-util########
#tar zxvf apr-util-1.3.8.tar.gz
#cd apr-util-1.3.8
#./configure--with-apr=/usr/local/apr
#make&&makeinstall
#cd..
 
########如果已经安装过apache,则需要重新编译安装apache########
tarzxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
# ./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-modules=so /* DSO模式安装apache (或 --enable-so)
 --enable-dav
--enable-maintainer-mode
 -- enable-rewrite
# make ; make install
安装好后启动apache
# /usr/local/apache/bin/apachectl –k start
用浏览器查看 http://localhost/,得到it works,说明apache已经配置成功了。
       
########安装subversion,时间稍微有点长,请耐心等候########
#tar zxvf subversion-1.6.3.tar.gz
#tar zxvf subversion-deps-1.6.3.tar.gz
#cd subversion-1.6.3
#./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/bin/apu-1-config
#make&&makeinstall
#cd..
 
在make的时候,.configure之后,进行make,出现如下问题
 # /usr/bin/ld: cannotfind-lexpat
 #collect2: ld returned 1exitstatus
 #make: *** [subversion/svn/svn] Error 1
 
  应该是缺少-lexpat库文件。
  解决方法:
 

#  yum install expat expat-devel

手动配置svn:
1.添加svnroot用户以及svn用户组,建立svn版本库目录

#user add svnroot;            /*添加svnroot用户*/ 
#group add svn ;              /*添加svn用户组*/ 
#usermod-a -G svn svnroot;  /*将svnroot用户添加到svn用户组*/
 
#mkdir /home/svnroot
#mkdir /data
#chown-R root:svn/home/svnroot/data 
#chmod-R g+rws/home/svnroot/data   /*给svn组赋予读写权限,可以根据需要更改相应权限*/
#chmod-R o-rwx/home/svnroot/data   /*删除其他无关人员的读、写、执行权限,默认情况下可能其他人有读权限*/
 
#mkdir-pv/home/svnroot/data
#chown-R daemon /home/svnroot/data /*因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者
本例apache属于daemon拥有者,而svn仓库属于svn拥有者*/

#chmod-R 755/home/svnroot/data

2.建立svn版本库
#/usr/local/subversion/bin/svnadmin create --fs-type fsfs /home/svnroot/data/project1

3.建立访问控制文件
#/usr/local/apache2/bin/htpasswd -c /home/svnroot/data/passwd wanghaihan #第一次加用户名需要带上-c,然后输入两次密码

#/usr/local/apache2/bin/htpasswd /home/svnroot/data/passwd test1

4.建立本地项目控制文件
#cd /home/svnroot/data
#vi authz
[groups]
admin=wanghaihan,test1
[project1:/]
@admin = rw

#cat /usr/local/apache2/conf/httpd.conf | grep svn

显示
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
就表明安装成功。

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

在# If your host doesn't have a registered DNS name, enter its IP address here.
#
#ServerName www.example.com:80 后面加入

ServerName localhost:80

在最后添加

<Location/svn>
    DAV svn
    SVNParentPath/home/svnroot/data
    AuthType Basic
    AuthName"Subversion"
    AuthUserFile/home/svnroot/data/passwd
    AuthzSVNAccessFile/home/svnroot/data/authz
    Require valid-user

</Location>

5.重启apache
#/usr/local/apache2/bin/apachectl restart

访问你的svn项目(可以用客户端工具checkout,或者浏览器访问):

http://localhost/svn/project1

或者http://127.0.0.1/svn/project1

注意:在你上传文件的时候可能会有如下权限不足的提示
Permission denied
svn: Commit failed (details follow):
svn: Can’t create directory ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied

或者:
命令: 提交
错误: 提交失败(细节如下):
错误: Can’t open file ‘/home/svnroot/data/project1/db/txn-current-lock’: Permission denied
完成!:
这是因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者
本例apache属于daemon拥有者,而svn仓库属于svn拥有者
解决方法: 
#chown -R daemon /home/svnroot/data 
#chmod -R 755 /home/svnroot/data

重启下apache:
#/usr/local/apache2/bin/apachectl restart


转载于:https://my.oschina.net/u/273709/blog/78458

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值