设为首页 收藏本站
查看: 999|回复: 0

[经验分享] Apache与Svn安装配置

[复制链接]

尚未签到

发表于 2018-11-27 10:11:26 | 显示全部楼层 |阅读模式
  经过测试基本都OK,有什么地方错误的话大家指出,共同学习Think。Email:cnbjthink@gmail.com
  1> 软件下载
  http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.22.tar.gz
  http://labs.renren.com/apache-mirror//apr/apr-1.4.6.tar.gz
  http://labs.renren.com/apache-mirror//apr/apr-util-1.4.1.tar.gz
  http://www.sqlite.org/sqlite-autoconf-3071000.tar.gz
  http://apache.etoak.com/subversion/subversion-1.7.4.tar.gz
  系统为RHEL-5.7-64
  注:系统在默认情况下,是已经有apr-util及apr这两个包的版本较低,只支持subversion 1.4,而subversion要求较高的版本,所以要删除系统自带的apr,apr-util这两个包编译新的版本来支持。
  2> 软件安装
  [root@test ~]# rpm -qa | grep apr
  apr-1.2.7-11.el5_6.5
  apr-1.2.7-11.el5_6.5
  apr-util-1.2.7-11.el5_5.2
  apr-util-1.2.7-11.el5_5.2
  [root@test ~]# rpm -e --allmatches apr --nodeps
  [root@test ~]# rpm -e --allmatches apr-util --nodeps
  或者
  [root@test ~]#  rpm -qa | grep subversion
  [root@test ~]#  yum remove subversion
  [root@test ~]#  yum remove apr
  [root@test ~]#  rpm -qa | grep apr
  [root@test ~]# cd /usr/local/src/svnsoft/
  [root@test svnsoft]# ls
  apr-1.4.6.tar.gz       httpd-2.2.22.tar.gz             subversion-1.7.4.tar.gz
  apr-util-1.4.1.tar.gz  sqlite-autoconf-3071000.tar.gz
  [root@test svnsoft]# tar zxvf apr-1.4.6.tar.gz
  [root@test svnsoft]# cd apr-1.4.6
  [root@test apr-1.4.6]# ./configure --prefix=/usr/local/apr
  [root@test apr-1.4.6]# make && make install
  [root@test apr-1.4.6]# cd ..
  [root@test svnsoft]# tar zxvf apr-util-1.4.1.tar.gz
  [root@test svnsoft]# cd apr-util-1.4.1
  [root@test apr-util-1.4.1]# ./configure --prefix=/usr/local/apr-util/ --with-apr=/usr/local/apr/
  [root@test apr-util-1.4.1]# make && make install
  [root@test apr-util-1.4.1]# cd ..
  [root@test svnsoft]# tar zxvf httpd-2.2.22.tar.gz
  [root@test svnsoft]# cd httpd-2.2.22
  [root@test httpd-2.2.22]# ./configure --prefix=/usr/local/apache2 --enable-modules=all --enable-mods-shared=all --enable-dav --enable-dav-fs --enable-so --with-mpm=prefork --enable-ssl --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/
  [root@test httpd-2.2.22]# make && make install
  [root@test httpd-2.2.22]# cd ..
  [root@test svnsoft]# tar zxvf subversion-1.7.4.tar.gz
  编译subversion的时候会报错,说sqlite文件,可以如下解决
  [root@test svnsoft]# cd subversion-1.7.4
  [root@test subversion-1.7.4]# mkdir sqlite-amalgamation
  [root@test subversion-1.7.4]# cd ..
  [root@test svnsoft]# tar zxvf sqlite-autoconf-3071000.tar.gz
  [root@test svnsoft]# cd sqlite-autoconf-3071000
  [root@test sqlite-autoconf-3071000]# cp sqlite3.c ../subversion-1.7.4/sqlite-amalgamation/
  [root@test sqlite-autoconf-3071000]# cd ..
  [root@test svnsoft]# cd subversion-1.7.4
  [root@test subversion-1.7.4]# ./configure --prefix=/usr/local/subversion-1.7.4 --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-ssl --with-zlib --enable-maintainer-mode
  [root@test subversion-1.7.4]# make && make install
  [root@test subversion-1.7.4]# vim /etc/profile(添加以下内容)
  PATH=/usr/local/subversion-1.7.4/bin DSC0000.gif PATH
  export LC_ALL=C
  [root@test subversion-1.7.4]# source /etc/profile
  [root@test subversion-1.7.4]# svnserve --version        回车显示版本说明安装成功
  svnserve, version 1.7.4 (r1295709)
  compiled Mar 20 2012, 17:33:24
  Copyright (C) 2012 The Apache Software Foundation.
  This software consists of contributions made by many people; see the NOTICE
  file for more information.
  Subversion is open source software, see http://subversion.apache.org/
  The following repository back-end (FS) modules are available:
  * fs_fs : Module for working with a plain file (FSFS) repository.
  Cyrus SASL authentication is available.
  [root@test subversion-1.7.4]#
  3> 配置
  查看apache是否有生成相应的模块
  [root@test subversion-1.7.4]# ls /usr/local/apache2/modules/ | grep svn
  mod_authz_svn.so
  mod_dav_svn.so
  [root@test subversion-1.7.4]#
  如果没有的话拷贝相关库过去即可
  [root@test subversion-1.7.4]# cp ./subversion/mod_dav_svn/.libs/mod_dav_svn.so /usr/local/apache2/modules/
  cp: overwrite `/usr/local/apache2/modules/mod_dav_svn.so'?
  [root@test subversion-1.7.4]# cp ./subversion/mod_authz_svn/.libs/mod_authz_svn.so /usr/local/apache2/modules/
  cp: overwrite `/usr/local/apache2/modules/mod_authz_svn.so'?
  [root@test subversion-1.7.4]#
  创建SVN相关目录
  [root@test ~]# groupadd svn
  [root@test ~]# useradd -s /sbin/nologin svn -g svn
  [root@test ~]# mkdir -p /data/svn/data
  [root@test ~]# chown -R svn:svn /data/svn/data/
  建立版本库
  [root@test ~]# svnadmin create /data/svn/data/svndata
  如果报错(系统安装时安装subversion)
  svnadmin: error while loading shared libraries: libaprutil-1.so.0: cannot open shared object file: No such file or directory
  出现这个错误的原因就是svnserver在编译时是加了apache支持的,现在无法找到apr-util库,一般情况下我们将apr-util的lib目录加入到系统的lib路径中就可以了
  vim /etc/ld.so.conf
  /usr/local/apr/lib
  /usr/local/apr-util/lib
  ldconfig -v
  OK
  添加svn的验证文件svn_auth.conf        (网页浏览)
  [root@test ~]# /usr/local/apache2/bin/htpasswd -cm /data/svn/svn_auth.conf test
  New password:
  Re-type new password:
  Adding password for user test
  [root@test ~]#
  注:只有第一次需要加-c参数,后期再添加用戶千万不能加-c,否则会将原文件覆盖,如下:
  [root@test ~]# /usr/local/apache2/bin/htpasswd -m /data/svn/svn_auth.conf think (-m是MD5加密)
  New password:
  Re-type new password:
  Adding password for user think
  [root@test ~]#
  配置svn权限authz
  [root@test ~]# vim /data/svn/data/svndata/conf/authz
  [groups]
  admin = svnadmin
  [/]
  @admin = rw
  [test:/]
  @svn = rw
  配置svn账户密码passwd
  [root@test ~]# vim /data/svn/data/svndata/conf/passwd
  [users]
  svnadmin = 123456
  配置svn配置文件svnserve.conf
  [root@test ~]# vim /data/svn/data/svndata/conf/svnserve.conf
  [general]
  anon-access = read(或者none)
  auth-access = write
  password-db = passwd
  authz-db = authz
  realm = My First Repository
  配置svn权限控制文件svn_access.conf(网页)
  [root@test ~]# vim /data/svn/svn_access.conf
  [groups]
  svn = test,think
  [/]
  * = r
  [test:/]
  @svn = rw
  配置apache
  [root@test ~]# cp /usr/local/apache2/conf/httpd.conf /usr/local/apache2/conf/httpd.conf.bak
  [root@test ~]# vim /usr/local/apache2/conf/httpd.conf
  找到Listen 80 改为Listen 10080(注:或者就默认的80端口)
  查找LoadModule,在末尾加入:
  # for svn
  LoadModule dav_svn_module modules/mod_dav_svn.so
  LoadModule authz_svn_module modules/mod_authz_svn.so
  并在配置文件最后加入:
  # for svn
  Include conf/extra/httpd_svn.conf
  Apache配置文件httpd_svn.conf
  [root@test ~]# vim /usr/local/apache2/conf/extra/httpd_svn.conf
  
  DAV svn
  SVNParentPath /data/svn/data
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /data/svn/svn_auth.conf
  Require valid-user
  AuthzSVNAccessFile /data/svn/svn_access.conf
  
  配置详解:
  AuthUserFile /data/svn/svn_auth.conf指定的是基于网页SVN访问帐号文件
  AuthzSVNAccessFile /data/svn/svn_access.conf指定的是基于网页SVN的访问控制文件
  [root@test ~]# /usr/local/apache2/bin/apachectl start
  [root@test ~]# /usr/local/subversion-1.7.4/bin/svnserve -d -r /data/svn/data/
  [root@test ~]# ps -ef | grep svnserve
  [root@test ~]# ps -ef | grep httpd
  加入开机启动
  vim /etc/rc.local
  /usr/local/apache2/bin/apachectl start
  /usr/local/subversion-1.7.4/bin/svnserve -d -r /data/svn/data/svndata
  在浏览器中输入:http://IP/svn/svndata
  TortoiseSVN软件:svn://IP/svndata/
  Linux下:svn co svn://IP/svndata,然后修改文件后提交到服务器 svn ci -m "test" readme.txt(ci为commit,-m是记录的log信息,可以为空,test为注释)
  svn版本回滚
  windows版:右键tortoiseSVN-->update to revision 你只要填入你想要回退的版本就可以马上恢复
  linux版:svn up -r 1(即恢复到版本1)


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-640172-1-1.html 上篇帖子: apache启动不了 下篇帖子: Apache加密配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表