请仔细阅读安装包自带的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. Null 值对索引排序的影响案例一则

    --原SQL 语句如下:select * from (select tmp_tb.*, ROWNUM row_id from (select wpid, customer_id, customer_n ...

  2. 使用第三方库iOS-ECharts做柱状图的心得

    最近的项目里面用到了饼图和条形统计图,饼图用的是PNChart来做的,这个库感觉用起来也简单,但是做条形统计图的时候就特别蛋疼(不知道是不是我姿势没对),反正就是各种问题,然后就想到换一种框架,最后选 ...

  3. 12种开源Web安全扫描程序

    转自:https://blog.csdn.net/wh211212/article/details/78620963 赛门铁克的一个有趣的报告显示,76%的被扫描网站有恶意软件 如果您使用的是Word ...

  4. LeetCode 中级 - 优势洗牌(870)

    给定两个大小相等的数组 A 和 B,A 相对于 B 的优势可以用满足 A[i] > B[i] 的索引 i 的数目来描述. 返回 A 的任意排列,使其相对于 B 的优势最大化. 示例 2: 输入: ...

  5. lock free

    #include <thread> #include <iostream> #include <mutex> #include <atomic> #in ...

  6. MYSQL命令简要笔记

    mysqldump "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe"    --host=localhost ...

  7. 判断ARP欺骗

    转自http://bbs.51cto.com/thread-904594-1.html 网关是服务器或者单独主机设备的话 如果网关是服务器或者单独主机设备的话查询网关MAC地址要简单一些,我们只需要在 ...

  8. Linux学习笔记——1.超级用户

    以超级用户工作:su su命令允许临时变换到任何一用户标识(如果拥有口令的话),并挂起当前shell,为新用户开启一个新的shell. su <user> 将当前用户标识harley变换为 ...

  9. systemd的新特性及常见的systemd unit类型分析

    systemd概述 )systemd是一种新的linux系统服务管理器,用于替换init系统,能够管理系统启动过程和系统服务,一旦启动起来,就将监管整个系统.在centos7系统中,PID1被syst ...

  10. windows service 2012:搭建FTP服务器

    最近公司将服务器从线上移植到线下每次上传项目都要进入服务器感觉好麻烦, 所以就想搭建一个FTP的站点来管理项目,弄这个之前首先要关闭我们的windows service 2012 服务器的防火墙,只有 ...