Centos6.1詳細搭建svn獨立伺服器

來源:互聯網
上載者:User

 Centos6.1詳細搭建svn獨立伺服器
 1準備源碼包:2個源碼包一個是Subversion-1.6.20.tar.gz一個是Subversion-deps-1.6.20.tar.gz
源碼安裝目錄:/usr/local/svn/版本庫的使用者檔案目錄/usr/local/svn/conf/passwd.conf
版本庫的許可權控制檔案目錄:/usr/local/svn/conf/authz.conf 需要的有glibc gcc libstdc++ openssl openssl-devel zlib
2安裝報錯
 

解決方案掛載本地iso鏡像檔案使用centos6.1光碟片內建安裝包安裝 掛載本地iso鏡像
./configure –prefix=/usr/local/svn/ --with-neon= 注什麼都不加
註:在編譯安裝之前要先安裝openssl和openssl-devel,否則以下錯誤
checking openssl/opensslv.h usability... no
checking openssl/opensslv.h presence... no
checking for openssl/opensslv.h... no
configure: error: We require OpenSSL; try --with-openssl
configure failed for serf
解決:yum -y install openssl openssl-devel
3安裝完成之後添加環境變數在/etc/profile 添加PATH=/usr/local/svn/bin:$PATH
4source /etc/profile一下/usr/local/svn/bin下的命令可以使用
5測試一下安裝是否成功svnserve –version
 

6 建立版本庫
1建立版本庫目錄mkdir –p /var/svndata/9000
Svnadmin create /var/svndata/9000 其中如果想在任意目錄使用svnadmin請添加環境變數
2建立完成之後產生如下檔案其中的conf目錄下放置有版本庫設定檔svnserve.conf
使用者密碼存放檔案passwd 組許可權控制檔案authz我這裡的使用者密碼設定檔和組許可權
檔案放置在/usr/local/svn/conf/下名字分別是:passwd.conf  authz.conf

  3:配置版本庫設定檔如下

4注意對使用者設定檔的修改不用重啟svn立即生效。
5開機自動開啟svn服務在/etc/rc.d/rc.local 加入svnserve –d –r /var/svndata就可以實現svn自動開機自啟動

 附另外一種方法把svn做為伺服器啟動
SVN_HOME=/var/svndata 9. if [ ! -f "/usr/local/svn/bin/svnserve" ] 10. then 11. echo "svnserver startup: cannot start" 12. exit 13. fi 14. case "$1" in 15. start) 16. echo "Starting svnserve..." 17. /usr/local/svn/bin/svnserve -d --listen-port 3690 -r $SVN_HOME #這個3690是預設連接埠18. echo "Finished!" 19. ;; 20. stop) 21. echo "Stoping svnserve..." 22. killall svnserve 23. echo "Finished!" 24. ;; 25. restart) 26. $0 stop 27. $0 start 28. ;; 29. *) 30. echo "Usage: svn { start | stop | restart } " 31. exit 1 32. esac 33. [root@svn ~]# chmod 755 /etc/init.d/svn 34. [root@svn ~]# chkconfig svn on 35. [root@svn ~]# /etc/init.d/svn start 
注意如果指令碼裡不加 # chkconfig:空格-空85空格15的話在使用chkconfig –add  svn 會提示
 

正確的設定如下:
 

添加成功之後如下顯示

設定等級345開機自啟動

個人喜歡第二種方法簡單一目瞭然不過原理都一樣總結一下
開啟svn服務:svnservice –d –r /var/svndata 
關閉svn服務: killall svnservice 或者kill -9 pid
指令碼開啟svn服務:service svn start
指令碼關閉svn服務:service svn stop
指令碼重啟svn 服務:service svn restart
注意:/etc/ini.d/svn 提示錯誤以前也遇到過是windowslinux下刪除windows分行符號^M
啟動時發現一個問題:用%c讀入的代碼都會報wa。後來發現跟scanf有關。在linux下使用%c會讀到\n和\r兩個字元。所以需要將^M(也就是\r)字元刪掉
刪除方法不少。
下一步:配置svn使用者和組直接上:

密碼:
 
 下面是組
 
注意這裡的組適合大型項目,個人感覺比較有條理性
注意svn設定檔需要頂格寫 登入使用者中間有空格 如: svnadmin = svnadmin
左邊是登入的使用者名稱右邊是密碼
測試成功之後項目匯入然後下邊是備份指令碼
要執行成功備份指令碼必須使用ssh-kegen  rsa 斷行符號斷行符號斷行符號。。
然後用scp ~/.ssh/id_rsa.pub root@1xxx.xxx.xxx.xxx:/root/.ssh/authorized.keys 複製id.rsa.pub到240上的root/.ssh/下並重新命名為authorized.keys

然後定時執行備份指令碼
Crontab –e –u root

下面是備份指令碼內容

查看本機上的定時任務crontab –l
 
查看遠程伺服器是否組建檔案注意指令碼裡面使用svnadmin hotcopy命令使用的是絕對路徑 
 
以上過程親測,並經過測試回合正常.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.