Linux(Centos6.5)下安裝svn服務器,並經過http訪問

linux安裝svn其實很容易,我的以爲難就難在配置上,反覆配置,琢磨,查找相關資料,總算是成功了。。html

安裝:

  1. 安裝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>。

如:http://192.168.1.1:9999/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

相關文章
相關標籤/搜索