linux安裝svn其實很容易,我的以爲難就難在配置上,反覆配置,琢磨,查找相關資料,總算是成功了。。html
安裝svn,通常狀況下,選擇yum方式安裝仍是比較簡單的。
java
[root@moshi ~]# yum -y install mod_dav_svn #會自動安裝mod_dav_svn及其依賴包:mod_dav_svn-1.6.11-9,neon-0.29.3-2,pakchois-0.4-3.2,subversion-1.6.11-9
直接安裝這個就能把svn服務器直接KO了。linux
2.安裝httpdapache
[root@moshi ~]# yum -y install httpd
通常狀況下,linux服務器是有httpd服務的,你能夠檢查下,若是沒有則安裝。vim
檢查方法:windows
[root@moshi ~]# vi /etc/httpd/conf.d/subversion.conf
安裝完svn後看是否有該目錄&文件,若是存在則不須要安裝httpd了。centos
3.安裝完SVN,接下來就是配置了。瀏覽器
一、配置svn倉庫
服務器
#建立svn目錄 [root@moshi ~]# mkdir -p /home/svn/repos1 #倉庫1 [root@moshi ~]# mkdir -p /home/svn/repos2 #倉庫2 #能夠任意配置,任意指定你喜歡的目錄 #創建svn版本庫 [root@moshi ~]# svnadmin create /home/svn/repos1 [root@moshi ~]# svnadmin create /home/svn/repos2 #有多少個倉庫就執行多少次該命令,只須要換最後的名字便可
二、修改SVN版本庫配置文件svn
[root@moshi ~]# vi /home/svn/repos1/conf/svnserve.conf
修改文件結果以下:
[general] anon-access = none auth-access = write password-db = /home/svn/conf/pwd.conf #指向用戶配置文件 authz-db = /home/svn/conf/authz.conf #指向權限配置文件 realm = repos1 #指向svn倉庫地址
備註:其餘倉庫配置和該配置相同,只須要修改倉庫路徑。
3.配置svn用戶和權限
[root@moshi ~]# vim /home/svn/conf/pwd.cof [root@moshi ~]# vim /home/svn/conf/authz.conf #這是2個步驟,我這裏爲更好的閱讀,寫在一塊兒 1.配置用戶 因爲這個配置是我自定義的,因此要先vim建立該文件,也能夠用其餘方式建立。 [root@moshi ~]# vim /home/svn/conf/pwd.conf #保存退出 [root@moshi ~]# htpasswd -c /home/svn/conf/pwd.conf admin #根據提示輸入密碼,第一個用戶才須要加-c,後面的用戶不須要-c [root@moshi ~]# htpasswd /home/svn/conf/pwd.conf test [root@moshi ~]# vi /home/svn/conf/pwd.conf 在用戶最上方加上[users]
加上[users]這一步是很重要的,由於用htpasswd的方式加用戶會覆蓋掉[users],因此每次加完用戶須要回去補一下該節點
2.配置權限 [root@moshi ~]# vim /home/svn/conf/authz.conf 文件內容以下: [groups] admin=user1,user2 test=user3 [/] @admin=rw [repos1:/] user3=r
解釋:[groups]爲組定義,能夠在該組下加不少用戶,以,分割,
可是該用戶數據必須在/homd/svn/conf/pwd.conf中定義好,
[/]表示根目錄如下的權限定義
[repos1:/]表示倉庫下的權限定義
若是要分項目,則以此規則類推:
如:[repos1:/aaa]則表示倉庫下的aaa項目的權限定義。
@admin 表示admin這個組下的用戶權限。
user1=r 表示user1這個用戶的權限。
權限類型:r,w,rw 分別表示只讀,只寫,讀寫。若是是user1= 這種空狀況則表示沒有。
OK,到此svn配置完成。咱們能夠把默認的配置文件刪除。
[root@moshi ~]# rm -rf /home/svn/repos1/conf/passwd [root@moshi ~]# rm -rf /home/svn/repos2/conf/authz ##多個倉庫則刪除多個倉庫對應的文件便可
4.創建啓動svn的用戶
[root@moshi ~]# useradd svn #若是提示svn帳戶已存在,則執行如下命令 [root@moshi ~]# passwd svn ##根據提示修改下密碼,不能過於簡單,可以使用經常使用密碼 [root@moshi ~]# chown -R svn:svn /home/svn/ ##容許用戶svn訪問版本庫 [root@moshi ~]# chmod –R o+rw /home/svn ##解決windows檢出提交提示/home/svn/db/txn-current-lock’錯誤
5.配置svn的端口
[root@moshi ~]# vi /etc/httpd/conf/httpd.conf
找到
#Listen 12.34.56.78:80這一行,
Listen 9999 ##9999就是svn的端口,默認是80,你能夠修改爲你本身想要的。不建議使用默認80端口
5.配置httpd
[root@moshi ~]# vi /etc/httpd/conf.d/subversion.conf
修改文件內容爲:
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /home/svn
AuthType Basic
AuthName "Authorization"
AuthUserFile /home/svn/conf/pwd.conf ##對應你的用戶配置文件
AuthzSVNAccessFile /home/svn/conf/authz.conf ##對應你的權限配置文件
Require valid-user
</Location>
保存退出!
重啓httpd服務。
[root@moshi ~]# service httpd restart 中止 httpd: [肯定] 正在啓動 httpd: [肯定]
出現以上字樣,表名httpd的配置已經成功啓動成功。
6.啓動svn
[root@moshi ~]# svnserve -d -r /home/svn/
7.查看svn服務是否正常
[root@moshi ~]# ps aux|grep svn ##出現如下內容說明svn服務已經成功啓動 root 8610 0.0 0.0 152864 740 ? Ss 11:25 0:00 svnserve -d -r /home/svn/repos1/ root 13128 0.0 0.0 103252 876 pts/0 S+ 14:00 0:00 grep svn
8.進入瀏覽器訪問。
在瀏覽器中輸入:服務器Ip+端口+httpd配置中的<Location /svn>。
會提示你輸入用戶名密碼。
9.總結
嗯,沒啥太多總結,這些內容都是我從網上綜合多個帖子試驗出來的結果,但願能給你一些幫助。
友情連接:
http://www.cnblogs.com/b028/archive/2010/07/23/1867311.html
http://www.aiezu.com/system/linux/linux_centos_yum_apache_svn.html