subversion伺服器搭建
❶ subversion的安裝與使用。
如果只是一個人用的話不需要裝subversion,在使用時在URL of repository欄內填寫file:///+你設定的repository文件夾的絕對路徑就行。而使用subversion的話在路徑欄里則填寫的是svn://hostIP/+repository文件夾的相對路徑。subversion就是一個簡單的伺服器,如果在區域網內搭建svn版本控制的話使用它就很方便,如果只是自己用就沒必要,配置過程還是比較麻煩的,我當時就配了一天,出了好多問題。如果你特想用的話,下面是我的一些心得。
1. 下載並安裝TortoiseSVN。
2. 下載並安裝Subversion。
注意Subversion的版本號要與TortoiseSVN盡量對應,若Subversion的版本過低則TortoiseSVN不能正常地在Subversion上進行操作。我使用的tsvn是1.7.1,一開始用1.3的subversion就不行,後來重新裝了個1.7版本的subversion就好了
3. 建立版本庫。
創建一個目錄作為版本庫,對使用版本控制的工程文件進行備份。首先在一個合適的位置創建版本庫目錄,如」d:/Mydocument/SVNRepository」;右鍵該文件夾選擇TortoiseSVN->Create repository here。
4. 配置版本庫許可權。
版本庫建立好後在該目錄下會自動生成幾個文件,其中conf目錄下的文件為許可權配置文件。修改svnserve.conf文件:
[general]
anon-access=none
auth-access=write
password-db=passwd
第一句禁止匿名用戶對版本資料庫的讀寫,第二句運行授權用戶對版本資料庫的讀寫,第三行標明授權用戶的資料庫文件名。
修改passwd文件
[users]
【username】=【password】
每行都是一個用戶名=用戶密碼。
注意:刪除原始文件中的#,#為注釋的意思,如#auth-access=write不會起任何作用。
不要取消svnserve.conf文件中[sasl]下的注釋,否則在連接伺服器時會出現missing SASL mechanisms的錯誤。
5. 啟動Subversion伺服器
Subversion可以通過控制台啟動,輸入svnserve –d就可以啟動伺服器,但是一旦該控制台關閉,伺服器也就關閉了,這樣做非常不方便。我們可以將其作為window服務加入注冊表中,這樣每次Window啟動時會自動啟動Subversion伺服器了。在控制很多教程在介紹Subversion啟動時提到了SVNServices.exe,這個程序實質上就是做這件事請,我們完全可以不使用該程序,直接在控制台下輸入一段簡單的指令即可。
假設你現在Subversion的安裝目錄為」D:/Program Files/Subversion」,版本庫位置為」d:/Mydocument/SVNRepository」,現在打開控制台,輸入 :
sc create SVNService binpath=」 D:/Program Files/Subversion/bin/svnserve.exe --service –r d:/Mydocument/SVNRepository」 displayname=」SVNService」 depend= Tcpip start=auto
注意:每個=後面都必須有空格如start= auto,否則會出錯。
回車後成功建立服務,打開任務管理器,在服務標簽下可以找到SVNService的服務。
「–r d:/Mydocument/SVNRepository」這句話的作用是將伺服器默認路徑設置到改目錄下,比如現在你需要從SVN伺服器CheckOut一個工程,該工程在d:/Mydocument/SVNRepository/Project1目錄下,那你在TortoiseSVN路徑選擇中需要輸入svn://hostIp/d:/Mydocument/SVNRepository/Project1,而加入該句話後你只需要輸入svn://hostIp/Project1即可,既方便又隱藏了該項目在伺服器中的絕對路徑。
6. Import項目工程
啟動好Subversion伺服器後就開始向伺服器中導入工程數據了。右鍵工程根目錄或文件,選擇TortoiseSVN -> Import進行導入,導入路徑URL選擇svn://hostIp/ProjectName即可。此時如果出現無法連接目標主機錯誤,檢查Subversion伺服器是否開啟,在任務管理器中找到任務->SVNService,右鍵選擇啟動服務。如果出現文件版本不一致,則意味著Subversion版本太低,重新下載匹配當前TortoiseSVN的版本。如果出現SASL機制不匹配則在svnserve.conf文件中將[sasl]下的條目全部用#注釋掉。
7. 使用SVN
現在你便可以在區域網內的任何一台裝有TortoiseSVN的主機上進行項目開發了。使用CheckOut從伺服器上下載工程,Update更新工程,Commit提交改動。
❷ 如何在CentOS 7中安裝Subversion
Apache Subversion(簡稱SVN,svn),一個開放源代碼的版本控制系統,相較於RCS、CVS,它採用了分支管理系統,它的設計目標就是取代CVS。互聯網上很多版本控制服務已從CVS轉移到Subversion。
下面講解下如何在CentOS 7中安裝Subversion的詳細過程。
1、開始在CentOS 7中安裝Subversion
yum install mod_dav_svn subversion
示例輸出:
=====================================================
Package Arch Version Repository Size
=====================================================
Installing:
mod_dav_svn x86_64 1.7.14-6.el7 base 101 k
subversion x86_64 1.7.14-6.el7 base 1.0 M
Installing for dependencies:
apr x86_64 1.4.8-3.el7 base 103 k
apr-util x86_64 1.5.2-6.el7 base 92 k
httpd x86_64 2.4.6-18.el7.centos updates 2.7 M
httpd-tools x86_64 2.4.6-18.el7.centos updates 77 k
mailcap noarch 2.1.41-2.el7 base 31 k
neon x86_64 0.30.0-3.el7 base 165 k
pakchois x86_64 0.4-10.el7 base 14 k
subversion-libs x86_64 1.7.14-6.el7 base 921 k
Transaction Summary
=====================================================
2、加配置文件到Apache
LoadMole dav_svn_mole moles/mod_dav_svn.so
LoadMole authz_svn_mole moles/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /var/www/linuxidcsvn
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
</Location>
3、創建SVN用戶
[root@linuxidc-centos7 ~]# htpasswd -cm /etc/svn-auth-users testuser1
New password:
Re-type new password:
Adding password for user testuser1
[root@linuxidc-centos7 ~]#
4、創建和配置SVN倉庫
mkdir /var/www/linuxidcsvn
cd /var/www/linuxidcsvn
svnadmin create repo
chown -R apache.apache repo
# If you still have issues with SELinux Security please apply this:
chcon -R -t httpd_sys_content_t /var/www/linuxidcsvn/repo
chcon -R -t httpd_sys_rw_content_t /var/www/linuxidcsvn/repo
5、你可以用這種方式–HTTP和HTTPS
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
6、啟用並啟動HTTP服務
systemctl enable httpd.service
systemctl restart httpd.service
啟動時候失敗,
#journalctl -xn
Jun 01 10:41:57 iZ9 httpd[26217]: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf: Cannot load /usr/lib64/httpd/moles/mod_dav_svn.so into server: /usr/lib64/httpd/moles/mod_dav_svn.so: undefined symbol: dav_do_find_liveprop
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jun 01 10:41:57 iZ9 kill[26218]: kill: cannot find process ""
Jun 01 10:41:57 iZ9 systemd[1]: httpd.service: control process exited, code=exited status=1
Jun 01 10:41:57 iZ9 systemd[1]: Failed to start The Apache HTTP Server.
是由於缺少apache的 mod_dav.so
添加:LoadMole dav_mole moles/mod_dav.so
重啟後,http://****/svn/repo/為svn根目錄地址
如何在CentOS 7中安裝Subversion
7、加入下面這個到conf/svnserve.conf
anon-access = none
auth-access = authz
8、branches&tags&trunk模式下建svn庫
mkdir -p /tmp/svn-structure-template/{trunk,branches,tags}
svn import -m "Initial repository" /tmp/svn-structure-template file:///var/www/linuxidcsvn/repo/
Adding /tmp/svn-structure-template/branches
Adding /tmp/svn-structure-template/tags
Adding /tmp/svn-structure-template/trunk
Committed revision 1.
如何在CentOS 7中安裝Subversion
OK。
CentOS 6 編譯安裝Subversion-1.8.10+Apache2.4 http://www.linuxidc.com/Linux/2015-02/113177.htm
Linux中Subversion配置實例 http://www.linuxidc.com/Linux/2012-02/53109.htm
CentOS 6.2 SVN搭建 (YUM安裝) http://www.linuxidc.com/Linux/2013-10/91903.htm
Apache+SVN搭建SVN伺服器 http://www.linuxidc.com/Linux/2013-03/81379.htm
Windows下SVN伺服器搭建和使用 + 客戶端重新設置密碼 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
Ubuntu Server 12.04 安裝 SVN 並遷移 Virtual SVN數據 http://www.linuxidc.com/Linux/2013-05/84695.htm
Ubuntu Server搭建svn服務以及遷移方法 http://www.linuxidc.com/Linux/2013-05/84693.htm