一、所需软件包
  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

Linux 独立安装subversion-1.8.18的更多相关文章

  1. linux上安装subversion

    1.安装svn服务器端  yum install subversion       从镜像下载安装svn服务器端 中间会提示是否ok,输入y,确认 安装成功提示:.....complete! 依次执行 ...

  2. linux下安装subversion出现libtool: link: only absolute run-paths are allowed

    configure时加上 --with-apache-libexecdir=/usr/local/apache

  3. linux下安装最新版Subversion 1.8.9

    linux下安装最新版subversion,代码: [root@localhost subversion-1.8.9]# ./configure --prefix=/usr/local/subvers ...

  4. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  5. linux svn安装和配置

    linux svn安装和配置,不结合apache http://blog.51yip.com/server/901.html 张映 发表于 2010-07-07 分类目录: 服务器相关 今天有个同事在 ...

  6. Nginx入门篇-基础知识与linux下安装操作

    我们要深刻理解学习NG的原理与安装方法,要切合实际结合业务需求,应用场景进行灵活使用. 一.Nginx知识简述Nginx是一个高性能的HTTP服务器和反向代理服务器,也是一个 IMAP/POP3/SM ...

  7. Linux下安装配置virtualenv与virtualenvwrapper

    一.Linux下安装.配置virtualenv 配置源 #指定清华源下载pip的包 [root@localhost opt]# pip3 install -i https://pypi.tuna.ts ...

  8. 如何在 Linux 上安装应用程序

    如何在 Linux 上安装应用程序 编译自:https://opensource.com/article/18/1/how-install-apps-linux作者: Seth Kenlon原创:LC ...

  9. linux下安装配置svn服务器

    linux下安装配置svn服务器 1. svn服务器安装 将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器. tar xfvz su ...

随机推荐

  1. Java基础精选,你答对了几道?

    没有技术深度是大多程序员的一种常态. 但是当你成为一个资深的工程师的时候,很多公司并不希望你还是那样平庸,没有深度.虽然你会纳闷,我就算有深度你们也不一定用得上呀?然而到了这个级别的人需求量并不像初中 ...

  2. RESTful学习记录

    1.1 什么是RESTful RESTful架构,就是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网站的采用. RESTful(即Representat ...

  3. 闭锁——CountDownLatch

    一.概念 闭锁是一个同步工具类,主要用于等待其他线程活动结束后,再执行后续的操作.例如:在王者荣耀游戏中,需要10名玩家都准备就绪后,游戏才能开始. CountDownLatch是concurrent ...

  4. Linux-kill命令(11)

    kill:指定将信号发送给某个进程,常用来杀掉进程,可以通过ps.top命令来查看进程 在默认情况下: 采用编号为的TERM信号.TERM信号将终止所有不能捕获该信号的进程. 对于那些可以捕获该信号的 ...

  5. 自制STP配置实验

    本图使用Gns模拟器 实验需求: 1.要求利用vtp实现vlan同步设置 2.要求vtp server实现备份冗余 3.创建vlan 1~10要求MLSW1 是奇数vlan主根 MLSW2 是偶数vl ...

  6. php的mysql语句里变量加不加单引号问题

    第一种[{$_GET['id']}加不加单引号都能正常执行没问题] $sql = "select * from `news` where `id` = {$_GET['id']}" ...

  7. EmEditor编辑器正则表达式的优点

    (1)^[ \t]*\n这个正则表达式代表所有的空行,指含有零个或零个以上空格或制表符.以换行符结尾.不含其它字符的行.(2)(^|(?<=中国)).*?(?=中国|$)用正则表达式匹配特定字符 ...

  8. 201521123091 《Java程序设计》第7周学习总结

    Java 第七周总结 第七周的作业. 目录 1.本章学习总结 2.Java Q&A 3.码云上代码提交记录及PTA实验总结 1.本章学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内 ...

  9. 第03周-Java作业评价

    1.作业存在的问题 几大扣分点: 思维导图敷衍了事 -1 代码格式混乱 -2 无码云提交记录 -2 无PTA实验总结 -2 部分题目未完成. 格式问题:到现在还搞不清楚的,主要是态度问题.相关的教程 ...

  10. 201521145048《Java程序设计》第6周学习总结

    as 1. 本周学习总结 2. 书面作业 Q1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 1.2 自己设计 ...