请仔细阅读安装包自带的readme文件!

=================================================

1. 先去官网,找安装包;

http://subversion.apache.org/

http://www.collab.net/downloads/subversion

我下载的是 CollabNetSubversionEdge-4.0.8_linux-x86.tar.gz

2. 创建svn账户 比如取名 svnuser,后续使用该用户来安装、启动svn服务

useradd svnuser  // 加用户

passwd svnuser  //设置密码

3. 将svnuser加入sudeor

a. 先执行 chmod u+w /etc/sudoer 打开修改权限
b. 然后用root用户进行修改,修改完成后保存退出

  找到root ALL=(ALL) ALL,在下一行加入svnuser ALL=(ALL) ALL,保存退出
c. 再执行 chmod u-w /etc/sudoer 关闭修改权限

4. 安装需要java和python环境

java -version

python -V

判断是否已经有java和python环境 没有的话请自行安装

5. 设置java环境变量

export JAVA_HOME=/usr/java/default

后面这个路径使用whereis java / which java来判断

我的是java执行路径在   /usr/bin/java,因此 export JAVA_HOME=/usr

执行下面命令测试环境变量是否有效:
      #$JAVA_HOME/bin/java -version
      java version "1.6.0_20"
      Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
      Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)

接下来请切换用户到svnuser ,绝对不要使用root账户来做操作,否则会无法启动服务。

6.切换到您要安装CollabNet Subversion的目录,本次安装我将SVN安装到/opt/下。
      $ cd /opt
7. 解压缩文件后,会在当前目录下生成名为“csvn”的目录。使用svnuser,不要用root账户,如果你发现svnuser没有opt文件夹的权限,无法解压,

那么你要么换个文件夹,要么给svnuser赋权,让他可以操作opt文件夹。

$ tar zxf CollabNetSubversionEdge-x.y.z_linux-x86.tar.gz
            
8.为了安装subversion,你需要拥有root权限,或使用sudo 获取root权限(第3步svnuser已经获得权限了)
            $ su - svnuser
      $ cd csvn      
      $ sudo -E bin/csvn install

In addition to configuring your system so that the server is started
      with the system, it will also write the current JAVA_HOME and the
      current username in to the file data/conf/csvn.conf.  You can edit this
      file if needed as it controls the startup settings for the application.
      By setting the JAVA_HOME and RUN_AS_USER variables in this file, it
      ensures they are set correctly when the application is run.

9.启动subversion服务,不能用root运行,使用svnuser。
      $ bin/csvn start

10. Optional. Configure the Apache Subversion server to start automatically when the system boots. 也使用svnuser
      $ cd csvn
      $ sudo bin/csvn-httpd install

11. 第九步启动后,

[xxx@localhost csvn]$ bin/csvn start
Starting CSVN Console......
CSVN Console started
Waiting for application to initialize (this may take a minute)...................
CSVN Console is ready at http://localhost:3343/csvn

我在外网访问,使用  http://IP:Port/csvn 发现无法访问,什么原因呢?

于是我去检查防火墙iptable配置,发现端口没有开,当然,我先把防火墙直接关掉,测试了一下外网可以访问,于是修改配置,启动防火墙,一切ok。

防火墙启动关闭命令:

Usage: /etc/init.d/iptables {start|stop|restart|condrestart|status|panic|save}

查看配置:cat /etc/sysconfig/iptables

============================================

参考文档:

http://blog.sina.com.cn/s/blog_6ffa25ae01015vz9.html

http://blog.csdn.net/hazy/article/details/8771806

http://blog.163.com/weibingtie@126/blog/static/17090237920130241326141/

http://hi.baidu.com/ttyard/item/8fe1960ac32e5574bfe97eef

http://bbs.csdn.net/topics/360115598

====================================

后记,一切搞定后,进入管理页面,点击启动svn服务,结果无法启动,从log看报错如下:

2014-07-28 05:12:17,645 [qtp279633047-1399] WARN  console.LifecycleService  - Server start attempt failed with code=1
2014-07-28 05:12:17,645 [qtp279633047-1399] WARN  console.LifecycleService  - Output:
2014-07-28 05:25:53,215 [qtp279633047-1493] ERROR console.CommandLineService  - Exit status=1 Process err output: AH00543: httpd: bad user name 7039

// 原因是我最初解压压缩包的时候,用的root账户,遇到这个情况,有两个方式解决:

1. 删除目录,重新安装,用正确的用户; 这样太麻烦,于是用第二个方法。

2. 修改csvn目录的 所属用户组 和 所属用户:

chgrp -R svnuser csvn  //修改目录所属用户组, svnuser是用户名, csvn是安装目录, -R 代表递归修改子目录

chown -R svnuser csvn   //修改目录所属用户, svnuser是用户名, csvn是安装目录, -R 代表递归修改子目录

修改完毕后,使用svnuser 重新启动服务。

$ bin/csvn stop

$ bin/csvn start

=================================

后记2: 发现一个奇怪现象,reboot  linux服务器后,svn会自动起来,

进入管理页面,

Subversion 状态运行中, 点击 “停止”,则显示关闭,然后点击“启动”发现无法启动,说18080端口被占用。
为什么呢? 因为点击“关闭”的时候,并没有真正的关闭掉httpd进程。
reboot后使用 ps -ef | grep svn 可以看到httpd进程已经开机启动,并且用的是root账户, 为啥呢?
然后,我进入 文件夹 “/etc/init.d/” 发现里面有 csvn 和 httpd的 link文件,原来是我最早一次安装的时候,用的root文件,同是生成的 开机启动文件的残留。
 
于是,果断rm删除,然后重新执行了一下
$ cd csvn
$ sudo bin/csvn-httpd install

一切就ok了, reboot后, 管理服务开机启动了, 进入页面 点击 “启动” 就把svn服务起来了,一切ok。

Redhat linux 安装SVN服务器 CollabNetSubversionEdge的更多相关文章

  1. Linux 安装SVN服务器 (转)

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  2. linux 安装svn服务器

    一.下载 http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz http://subversion.tigris.org/dow ...

  3. 160425、linux安装SVN服务器

    1:查看linux是否已经安装svn服务 [root@nb ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.x86_64 2:安装svn #yum ...

  4. linux安装svn服务器(yum方式)

    1.查看yum是否安装         在终端中输入yum即可如果已经安装,会显示yum的参数         如果没有安装,会提示yum未安装或无效命令…… 2.安装svnyum -y instal ...

  5. Linux安装SVN服务器

    “svn都快淘汰了” #安装subversion yum -y install subversion #创建svn仓库基础路径 mkdir /home/svn #创建svn仓库 svnadmin cr ...

  6. Linux(Centos6.5)下安装svn服务器,并通过http访问

    linux安装svn其实很容易,个人觉得难就难在配置上,反复配置,琢磨,查找相关资料,总算是成功了.. 安装: 安装svn,一般情况下,选择yum方式安装还是比较简单的. ? 1 2 [root@mo ...

  7. 原 Linux搭建SVN 服务器2

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  8. 原 Linux搭建SVN 服务器

    原 Linux搭建SVN 服务器 发表于1年前(2014-08-05 17:55)   阅读(12257) | 评论(3) 31人收藏此文章, 我要收藏 赞3 摘要 Linux搭建SVN 服务器 目录 ...

  9. Linux搭建SVN 服务器

    Linux搭建SVN 服务器 1          安装SVN 2          使用客户端连接 2.1       使用windows的客户端 2.2       使用Linux下的命令行 3  ...

随机推荐

  1. linux简单文件管理命令的使用

    在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理 ...

  2. 在java程序中使用JDBC连接mysql数据库

    在java程序中我们时常会用到数据库中的数据或操作数据库中的数据,如果java程序没有和我们得数据库连接,就不能实现在java程序中直接操作数据库.使用jdbc就能将java程序和数据库连起来,此时我 ...

  3. 了解jQuery并掌握jQuery对象和DOM对象的区别

    jQuery的优势: 开源--开放源代码 轻量级 强大的选择器 出色的DOM操作(对DOM元素的一个增删改查) 完善的Ajax,出色的浏览器兼容性,丰富的插件支持,完善的文档(说明书) 链式操作方式, ...

  4. Elasticsearch 数据查询

    数据准备: PUT /shop { "settings": { "number_of_shards": 3, "number_of_replicas& ...

  5. 微信小程序实现watch属性监听数据变化

    Vue 提供了一种通用的方式来观察和响应 Vue 实例上的数据变动:监听属性 watch. 虽然watch的滥用会导致性能不佳,但在一些情况下我们还是需要watch,使得代码更加简洁.逻辑更加清晰(其 ...

  6. 集合之Map

    Map:存放键值对,根据键对象找对应的值对象.键不能重复!Map键不能重复,有唯一性,一般通过键找对应的的值Map集合的特点: 1.具有映射关系 2.两列 3.一列要唯一 一列可以重复 键类似于 Se ...

  7. win10 下安装 MongoDB 数据库支持模块(python)

    C:\>pythonPython 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] o ...

  8. PHP array_reduce()函数的应用解析

    实例 向用户自定义函数发送数组中的值,并返回一个字符串: <?php function myfunction($v1,$v2) { return $v1 . "-" . $v ...

  9. NoSQL入门第三天——Redis配置文件与持久化

    一.解析Redis配置文件redis.conf (Linux下配置多于编码) 1.它在哪 由于我是在root的家目录下载安装的,默认的安装位置就是: conf就在这里: 根据经验,出厂的conf永远不 ...

  10. Mybatis简单入门

    前言 之前一直有直接使用Mybatis,但是没有细致的整理出来.长时间没有使用,细致的内容都忘记了.因此借此机会,从头开始整理,以后可以直接查看此次记录的内容. Mybatis的介绍 MyBatis是 ...