第一季

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

请仔细阅读安装包自带的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。

 

 

 

 

 

 

 

posted on 2014-06-15 18:05  第一季  阅读(3666)  评论(0编辑  收藏  举报