Linux 独立安装subversion-1.8.18

Linux 独立安装subversion-1.8.18

一、所需软件包
  1、apr-1.4.6.tar.gz 下载地址:http://apr.apache.org/

    2、apr-util-1.4.1.tar.gz 下载地址:http://apr.apache.org/

  3、pcre-8.20.tar.gz 下载地址:http://www.pcre.org/

  4、serf-1.2.1.tag.bz2 下载地址:http://pan.baidu.com/s/1dDhfmhV
这个库提供的是对http和https协议的支持。值得说明的是,1.8版本之前这里依赖的是neon,1.8之后改成了serf

  5、sqlite-amalgamation,这个比较特殊了,因为是直接用他的源文件,且需要放到正确的路径。下载地址:http://www.sqlite.org/snapshot/sqlite-amalgamation-201404281756.zip
  将代码解压到svn源代码目录根目录下,并命名为sqlite-amalgamation,否则在安装subversion的时候会提示sqlite3错误

二、编译安装subversion

  如果有旧版本的subversion,则卸载yum erase subversion

  ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/httpd/bin/apxs --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-zlib --with-openssl --enable-maintainer-mode

  make && make install

  

三、安装成功之后添加环境变量(永久性)

  用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久的”。
  

    vi /etc/profile
  export PATH="$PATH:/usr/local/subversion/bin/"

  要让刚才的修改马上生效,需要执行以下代码

    source /etc/profile

  

四、检查是否安装成功

    subversion --version

  如果有libsvn_subr-1.so.0: undefined symbol: apr_atomic_xchgptr错误提示,解决方法是:http://www.cnblogs.com/rnckty/p/4560262.html


五、配置subversion
  1、建立项目的版本库目录(/var/svn)(可建立多个,新建库后以下各项都需重新配置)

  mkdir -p /var/svn/web(创建web项目的版本库目录)

  

  2、建立web项目的svn版本库

  svnadmin create /var/svn/web

  

  3、修改版本库的配置文件

    vi /var/svn/web/conf/svnserve.conf

  各参数功能在配置文件的注释中有说明, 此处配置如下:

  [general]
  anon-access = none # 使非授权用户无法访问
  auth-access = write # 使授权用户有写权限
  password-db = passwd # 指明密码文件路径
  authz-db = authz # 访问控制文件

  其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.


  4、配置用户
  vi /var/svn/web/conf/passwd
  输入以下内容:

  [users]
  username1 = password1
  username2 = password2

  可以添加多个,此为用户名密码对。

  5、配置权限
  vi /var/svn/web/conf/authz

  此配置文件设置各用户的授权。

  包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,具体请参考svn手册,以下是简单例子:

  #对仓库web根目录权限设置

  [web:/]
  user1 = rw
  user2 = r

  6. 使用import导入文件

  新建好的版本库是空的,需要导入工作目录。

  //这条语句将把路径/var/www/web 下找到的文件导入到你创建的 Subversion 仓库中去

  svn import /var/www/web/ file:///var/svn/web/ -m “注释”

六、启动服务

  svnserve -d -r /var/svn/ -d守护进程 -r以root用户的身份运行

七、项目检出
  SVN CHECKOUT, svn://ip/web  输入用户名和密码

八、参考文章

  http://www.linuxidc.com/Linux/2014-05/101232.htm

  https://wiki.archlinux.org/index.php/Subversion_Setup_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

  http://blog.51yip.com/server/291.html

  http://www.linuxidc.com/Linux/2012-02/53109.htm