Redhat linux 安裝SVN服務器 CollabNetSubversionEdge


請仔細閱讀安裝包自帶的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。

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM