cl_303303303 发表于 2016-12-30 06:58:32

apache+subversion安装

  Subversion,简称SVN,是一个开放源代码的版本控制系统,是团队开发和项目管理的必备工具。下面介绍一下apache+subversion的服务安装:
  一、依赖安装包:
  1.apr-1.4.2.tar.gz
  2.apr-util-1.3.9.tar.gz
  3.subversion-1.6.11.tar.gz
  4.sqlite-amalgamation-3.6.13.tar.gz
  5httpd-2.2.12.tar.gz
  注意:apach的版本 与 subversion版本的兼容问题
  二、安装
  1、安装apr
  tar -zxvf  apr-1.4.2.tar.gz
  cd apr-1.4.2
  ./configure
  make & make install
  2、安装apr-util
  tar -zxvf apr-util-1.3.9.tar.gz
  cd apr-util-1.3.9
  ./configure --with-apr=/usr/local/apr
  make & make install
  3、安装 apache
  tar -zxvf  httpd-2.2.12.tar.gz
  cd httpd-2.2.12
  ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
  make
  make install
  4、重要配置:
  将/etc/ld.so.conf 改成
  include ld.so.conf.d/*.conf
  /usr/local/sqlite
  /usr/bin/libtool
  /usr/share/libtool
  5、安装subversion
  tar -zxvf  subversion-1.6.11.tar.gz 
  cd subversion-1.6.11
  ./configure --prefix=/opt/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
  make
  make install
  注意:因为这些安装包需要gcc编译,所以要确保linux上装有gcc程序,否则是没办法进行安装的
  三、在apache中配置SVN
  vi /usr/local/apache2/conf/httpd.conf
  1.找到一下部分
  LoadModule dav_svn_module     modules/mod_dav_svn.so
  LoadModule authz_svn_module   modules/mod_authz_svn.so
  启用一下mod_foo
  #LoadModule foo_module modules/mod_foo.so
  2.定义apache访问svn配置:
  <Location /svn>
  DAV  svn
  #     SVNPath /opt/svndata
  SVNParentPath /opt/svndata
  AuthzSVNAccessFile /opt/svn/conf/authz.conf
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /opt/svn/conf/passwd.conf
  Require valid-user
  </Location>
  四、配置svn
  1. 建立svn版本库目录
  mkdir -p /opt/svndata/repos #可以多建版本库目录
  2. 建立svn版本库
  svnadmin create /opt/svndata/repos
  mkdir -p /opt/svndata/repos #可以多建版本库
  3. 建立本地访问控制文件
  /usr/local/apache2/bin/htpasswd -c /opt/svn/conf/passwd.conf  username
  然后输入密码即可,默认是MD5加密的
  /usr/local/apache2/bin/htpasswd  /opt/svn/conf/passwd.conf  username1 #追加用户
  4. 建立本地项目控制文件
  touch /opt/svn/conf/authz.conf
  本例authz.conf内容为:      
  
  #<groupname1>=<username1>,<username2>
  admin=username
  #[<versionLib>:projectName/directory]
  #@<groupsname>=<authorities>
  #<username>=<authorities>
  [/]
  @admin = rw      #指定用户组成员可以读写根目录所有应用
  
  username1= rw      #指定用户username1可以读写:/abc/aaa目录的文件
  至此,整个安装过程完成了!
  五、测试连接
  1. 启动apache
  /usr/local/apache2/bin/apachectl start
  2. 打开浏览器,输入http://server_ip/svn/repos
  使用刚才创建的权限用户名与密码登录即可访问
  注意:在你上传文件的时候可能会有如下权限不足的提示
  Permission denied
  svn: Commit failed (details follow):
  svn: Can't create directory '/opt/svndata/repos/db/transactions/0-1.txn': Permission denied
  这是因为apache在线程用户没有权限访问svn的仓库,两者分别属于不同的用户者
  本例apache属于daemon拥有者,而svn仓库属于svn拥有者
  解决方法:
  chown -R daemon /opt/svndata/repos
  chmod -R 755 /opt/svndata/repos
  重启下apache:
  /usr/local/apache2/bin/apachectl stop
  /usr/local/apache2/bin/apachectl start
页: [1]
查看完整版本: apache+subversion安装