请仔细阅读安装包自带的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. java web项目用cookie记住用户名、密码

    1.jsp页面: <% String flag = (String)session.getAttribute("flag")==null?"":(Stri ...

  2. 简单的mongo小工具 python

    #!/bin/python #coding=utf-8 ### eg : mgotool.py -i 127.0.0.1 -p 10001 -a xxxxx -u root -rc #import s ...

  3. TinyMCE插件:RESPONSIVE filemanager 9 文件名统一格式化

    上传图片方法(filemanager/UploadHandler.php) 在上传图片的函数中查看,发现$file->name是一个完整的[文件名.后缀名],所以使用explode(),文件名和 ...

  4. 使用什么进行app开发

    HTML5+plus, Hbuilder HTML5+plus介绍 HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端的App,这种App可以通过扩展的 ...

  5. Python文本和字符串常用操作

    ## 字符串分割 line = "This is my love!" fields = line.split(' ') print(fields) # ['This', 'is', ...

  6. Centos7 安装ipython 和 ipython3

    [root@localhost ~]# wget https://pypi.python.org/packages/79/63/b671fc2bf0051739e87a7478a207bbeb45cf ...

  7. Java回调函数的理解与实现

    回调函数,或简称回调,是指通过函数参数传递到其它代码的,某一块可执行代码的引用.这一设计允许了底层代码调用在高层定义的子程序. 在Java里面,我们使用接口来实现回调.举个例子 所谓的回调,就是程序员 ...

  8. JavaScript&jQuery 基本使用

    * 最近连续加班加点三周* 遭不住了 ...* 来点 js / jq 的货* 一个人撸PHP 撸HTML 撸CSS 撸JavaScript 撸jQuery* 不管有没有用记录一下** 1:jQuery ...

  9. hadoop生态搭建(3节点)-13.mongodb配置

    # 13.mongodb配置_副本集_认证授权# ==================================================================安装 mongod ...

  10. 数组循环左移 i 位

    数组左移 i 位 3 种方法 1.临时数组存储 先将前 i 个元素用数组存起来 再将后 n - i 个元素左移 i 位 最后将存起来的数组添加到后面去即可 2.通过多次调用左移 1 位的函数 3.翻转 ...