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
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訪問方式直接重啓就能夠了。
若是你講下面的控制檯加密勾選,
admin管理地址就會變成:
https://192.168.85.130:4434/csvn/
七、ldap認證設置(自行測試)
八、備份、還原
備份和恢復仍是比較簡單的,能夠在頁面設置備份計劃,也能夠本身寫腳本備份,
直接備份倉庫文件便可,由於svn只要有倉庫文件就能夠還原
備份 /svn/csvn/data 或 /svn/csvn/data/repositories
還原:
直接將備份的data進行copy到data位置,
或者將repositories的單個倉庫分別copy到repositories下進行單個倉庫的恢復