svn服務部署

os:centos6.5 x64python

hostname : vm2.lansgg.com
linux

ip: 192.168.85.130web

svn版本  :CollabNetSubversionEdge-5.1.3_linux-x86_64.tar.gz
jdk版本  :jdk1.6.0_22-64.tar.gz
python版本 : Python 2.6.6sql

一、安裝jdk數據庫

[root@vm2 ~]# tar xf jdk1.6.0_22-64.tar -C /usr/local/
[root@vm2 ~]# vim /etc/profile
JAVA_HOME=/usr/local/jdk1.6.0_22-64                      
export JAVA_HOME
JAVA_BIN=$JAVA_HOME/bin
export JAVA_BIN
PATH=$JAVA_BIN:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

Ps : 此處的jdk配置能夠寫入svn的配置文件中,在jdk共存的環境中可使用。vim

二、建立用戶及安裝目錄centos

[root@vm2 ~]# useradd -d /opt/svnuser svnuser
[root@vm2  ~]# echo "svnuser" |passwd --stdin svnuser
更改用戶 svnuser 的密碼 。
passwd: 全部的身份驗證令牌已經成功更新。
[root@vm2  ~]#  groupadd svn
[root@vm2  ~]# usermod -G svn svnuser
[root@vm2 ~]# mkdir /svn
[root@vm2 ~]# chown svnuser.svnuser /svn -R

2.一、授予用戶權限
安全

[root@vm2 ~]# visudo
## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
svnuser ALL=(ALL)       ALL

2.二、安裝svn服務並啓動bash

[root@vm2 ~]# su - svnuser
[svnuser@vm2 ~]$ cd /svn/
[svnuser@vm2 svn]$ ll
總用量 96784
-rw-r--r-- 1 svnuser svnuser 99105484 8月  29 16:25 CollabNetSubversionEdge-5.1.3_linux-x86_64.tar.gz
[svnuser@vm2 svn]$ tar xf CollabNetSubversionEdge-5.1.3_linux-x86_64.tar.gz 
[svnuser@vm2 svn]$ cd csvn/
[svnuser@vm2 csvn]$ ls
appserver  bin  data  dist  lib  licenses  pkg  README  www
[svnuser@vm2 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
[svnuser@vm2 csvn]$

這個過程可能會很慢,登上一兩分鐘很正常。須要說明這裏僅僅是啓動Subversion Edge的Web 管理工具,並無啓動綁定了Subversion的Apache, 這一步成功以後SVN服務也不可用。
若是沒法啓動能夠嘗試
$ bin/csvn stop  以後再執行
$ bin/csvn start, 或者執行
$ bin/csvn restart
若是仍是不行啓動那麼只好嘗試用
$ bin/csvn console
來啓動。這個命令將啓動信息和錯誤提示輸出到命令行,方便排查錯誤服務器


web登錄:(用戶名、密碼都是admin)
http://192.168.85.130:3343/csvn/login/auth

wKiom1fD_ieRn5EoAAEOQtauL_g201.jpg-wh_50


3 、Subversion Edge首次登陸和設置

你須要登陸CollabNet Subversion Edge基於Web的Console來作些設置,以後才能啓動Edge中負責SVN的Apache. Web Console的登陸信息:

你也能夠在Web Console中設置強制使用SSL方式訪問Console,這時候對3343端口的訪問將會被重定向到安全端口4434.

若是本機沒有X桌面,就須要經過網絡訪問。須要將localhost更改成Subversion Edge服務器的IP地址,同時設置防火牆來保證可以訪問到。

3.1 首次設置
首次訪問會顯示Getting Started嚮導,提醒你更改admin密碼、更改Server Setting、連接Coldorge. 服務器設置中主機名和端口兩項比較重要,如設置不當可能致使Subversion沒法啓動。
假設主機名設置成了svn.example.com, 那麼本機在啓動Subversion的時候會解析svn.example.com, 若是解析不正確服務就沒法啓動。保險的作法是在/etc/hosts中加入127.0.0.1       svn.example.com, 同時更改/etc/sysconfig/network中HOSTNAME=svn.example.com. 若是是公網服務請設置域名的解析記錄,內網的話可設可不設。
端口號默認是80, 可是設置成80會致使Subversion服務不能啓動。緣由是Linux要求只有root才能使用端口號小於1024的端口,而Subversion Edge必須要以非root權限運行。當你把端口號設置80的時候,Subversion Edge也會提醒你須要作額外的設置。你如今面臨兩個選擇,要麼指定一個大於等於1024的端口,要麼進行額外的設置。具體以下:
chown root:svn /srv/csvn/lib/httpd_bind/httpd_bind
chmod u+s /srv/csvn/lib/httpd_bind/httpd_bind
svn是Subversion Edge執行用戶svnuser所在的組。

[root@vm2 svn]# chown root:svn /svn/csvn/lib/httpd_bind/httpd_bind
[root@vm2 svn]# chmod u+s /svn/csvn/lib/httpd_bind/httpd_bind

四、安裝應用程序,以便它將服務器從新啓動時自動啓動
系統從新啓動時自動啓動服務運行如下命令在用戶的服務器來運行。

[svnuser@vm2 csvn]$ sudo -E bin/csvn install

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for svnuser: 
Detected RHEL or Fedora:
Installing the CSVN Console daemon..
Setting RUN_AS_USER to: 'svnuser'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted
Setting JAVA_HOME to: '/usr/local/jdk1.6.0_22-64'. Please edit '../data/conf/csvn.conf' if this needs to be adjusted.
[svnuser@vm2 csvn]$
[svnuser@vm2 csvn]$ chkconfig --list  |grep svn
csvn               0:關閉    1:關閉    2:啓用    3:啓用    4:啓用    5:啓用    6:關閉
svnserve           0:關閉    1:關閉    2:關閉    3:關閉    4:關閉    5:關閉    6:關閉
[svnuser@vm2 csvn]$

除了配置系統與系統服務器已啓動,它還將寫當前JAVA_HOME和當前用戶名/ conf / csvn.conf文件數據。若是須要你能夠編輯這個文件,由於它控制着啓動應用程序的設置。經過設置JAVA_HOME和RUN_AS_USER變量在此文件中,確保他們正確地設置在應用程序運行時。


五、用戶管理 (推薦使用集成公司oa系統,如ldap認證)
一、控制檯用戶
重要文件:{安裝路徑}\data\csvn-production-hsqldb.script 和{安裝路徑}\data\csvn-production-hsqldb.properties

控制檯管理用的是hsql數據庫,而且數據所有存儲在內存中。
    第一步:服務啓動(指服務CollabNetSubversionServer綁定的httpd.exe)時,執行csvn-production-hsqldb.script在內存中初始化表和數據;
    第二步:期間的全部操做都是保存在內存中;
    第三步:服務關閉時,內存中的全部數據更新到csvn-production-hsqldb.script文件中。
    由於沒法在頁面修改刪除用戶,因此採用關閉服務修改csvn-production-hsqldb.script的方式能夠實現用戶的管理。
A:首先在控制檯關閉Subversion服務;
B:而後關閉csvn服務。

#service csvn stop


C:用htpasswd產生md5密碼

#../csvn/bin/htpasswd -nb Username Passwd
Automatically using MD5 format.
test:$apr1$8zaa10Xj$H5vxdhlLDGCo94D5Xkfeu.

D:修改csvn-production-hsqldb.script
用新的密碼替換掉原Username的密碼0ef9a776d895692b2710e8b996f12af6便可。(切忌:必定要中止服務後修改纔有效,不然腳本文件會被覆蓋掉。)
刪除用戶
    關閉上面兩個服務後刪除csvn-production-hsqldb.script文件末尾的制定用戶後啓動服務便可。
版本庫受權用戶管理:
    
    用戶存儲文件爲{安裝路徑}\data\conf\svn_auth_file,使用{安裝路徑}\bin\htpasswd.exe進行管理。

 

//增長用戶

#../csvn/bin/htpasswd  -b  ../csvn/data/conf/svn_auth_file test test 
Automatically using MD5 format.
Adding password for user test


//刪除用戶

#../csvn/bin/htpasswd -D  ../csvn/data/conf/ svn_auth_file test
Automatically using MD5 format.
Deleting password for user test

//修改密碼

#../csvn/bin/htpasswd -D  ../csvn/data/conf/ svn_auth_file test
#../csvn/bin/htpasswd  -b  ../csvn/data/conf/svn_auth_file test 1234

六、ssl設置
SubversionEdge默認安裝的是http方式的SVN訪問方式,固然也包含https方式訪問,爲了提升網絡傳輸安全性,準備嘗試一下帶SSL的http訪問方式,在設置中勾上https訪問方式直接重啓就能夠了。

wKioL1fEASHhMywFAACJ3xxPeMs666.jpg-wh_50

wKiom1fEAUvgnlhzAAEq4nRZges916.jpg-wh_50

若是你講下面的控制檯加密勾選,

admin管理地址就會變成:
https://192.168.85.130:4434/csvn/

七、ldap認證設置(自行測試)

wKiom1fEAhOBdFEdAAF2P6WTEkA406.jpg-wh_50

八、備份、還原

備份和恢復仍是比較簡單的,能夠在頁面設置備份計劃,也能夠本身寫腳本備份,

直接備份倉庫文件便可,由於svn只要有倉庫文件就能夠還原

備份   /svn/csvn/data 或 /svn/csvn/data/repositories


還原:

直接將備份的data進行copy到data位置,

或者將repositories的單個倉庫分別copy到repositories下進行單個倉庫的恢復

相關文章
相關標籤/搜索