lujiguo115 发表于 2018-11-24 08:25:40

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]
查看完整版本: apache 整合subversion