記一次CentOS6.4 安裝SVN

一、檢查系統是否已經安裝若是安裝就卸載apache

rpm -qa subversion
yum remove subversion

二、安裝vim

yum install  subversion

三、創建SVN庫dom

mkdir -p /home/svn/repos
svnadmin create /home/svn/repos

執行上面的命令後,自動創建repositories庫,查看/home/svn/repos 文件夾發現包含了conf, db,format,hooks, locks, README.txt等文件,說明一個SVN庫已經創建。 四、進入/home/svn/repos/上面生成的文件夾下,進行配置 authz文件配置 目的是設置哪些用戶能夠訪問哪些目錄,向authz文件追加如下內容tcp

[/]
afa4j = rw
abs = rw

passwd文件配置 是添加用戶名和密碼文件,修改以下svn

[users]
# harry = harryssecret
# sally = sallyssecret
afa4j = afa4j
abs = abs123

svnserve.conf 文件配置 配置訪問權限測試

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /home/svn/repos

五、啓動svnui

/etc/init.d/svnserve start

六、檢查進程和監聽端口this

ps -ef |grep svn |grep -v grep
root     23580     1  0 20:10 ?        00:00:00 /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid
netstat -antlp |grep :3690
tcp        0      0 0.0.0.0:3690               0.0.0.0:*                   LISTEN      23580/svnserve

七、修改默認端口爲20016 打開rest

vim /etc/init.d/svnserve
args="--daemon --pid-file=${pidfile} $OPTIONS --listen-port 20016"

找到這一行添加 --listen-port 20016
保存 八、重啓code

service svnserve restart
 ps -ef |grep svn |grep -v grep
root     23580     1  0 20:10 ?        00:00:00 /usr/bin/svnserve --daemon --pid-file=/var/run/svnserve.pid --listen-port 20016
netstat -antlp |grep :20016
tcp        0      0 0.0.0.0:20016               0.0.0.0:*                   LISTEN      23580/svnserve

九、TortoiseSVN客戶端鏈接測試 版本庫URL svn://xxx.xxx.xxx:20016/home/svn/repos 彈出對話框輸入前面添加的用戶名密碼 輸入圖片說明

十、SVN開啓apache支持

root@ UAT測試環境 @mc1.domain.com:yum install httpd mod_dav_svn
root@ UAT測試環境 @mc1.domain.com:/home/svn/project#rpm -ql mod_dav_svn
/etc/httpd/conf.d/subversion.conf
/usr/lib64/httpd/modules/mod_authz_svn.so
/usr/lib64/httpd/modules/mod_dav_svn.so
root@ UAT測試環境 @mc1.domain.com:/home/svn/project#htpasswd /home/svn/project/password kcw
New password:
Re-type new password:
Adding password for user kcw
root@ UAT測試環境 @mc1.domain.com:/home/svn/project#cat /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be both:
#
#   a) readable and writable by the 'apache' user, and
#
#   b) labelled with the 'httpd_sys_content_t' context if using
#   SELinux
#

#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff   
#   # chown -R apache.apache stuff
#   # chcon -R -t httpd_sys_content_t stuff
#

#<Location /repos>
#   DAV svn
#   SVNParentPath /var/www/svn
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
#      AuthType Basic
#      AuthName "Authorization Realm"
#      AuthUserFile /path/to/passwdfile
#      Require valid-user
#   </LimitExcept>
#</Location>
<Location /svn>
   DAV svn
   #SVNParentPath /home/svn/project
   SVNPath /home/svn/project
   SVNListParentPath on
      AuthType Basic
      AuthName "Musingtec SVN Authorization"
      AuthUserFile /home/svn/project/password
   # Limit write permission to list of valid users.
  # <LimitExcept GET PROPFIND OPTIONS REPORT>
      # Require SSL connection for password protection.
      # SSLRequireSSL
      Require valid-user
   #</LimitExcept>

</Location>

重啓apache後以http://IP/svn如圖 輸入圖片說明 輸入圖片說明

這裏說明以下

SVNParentPath:支持多個具有相同父目錄的Subversion版本庫。 SVNPath:只支持一個父目錄的Subversion版本庫

SVNPath /svn/repository/project1 #若是你想對每一個項目單獨配置,使用該項

SVNParentPath /svn/repository #設定一個根,全部項目均放在此目錄下

而且, 若是設置爲SVNParentPath .....,當訪問 http://localhost/XXXX時,即便也是要求輸入驗證,但會提示forbidden錯誤頁. 必須接着輸入 http://localhost/xxxx/project1..

轉自 http://blog.163.com/litianyichuanqi@126/blog/static/115979441201231701630864/ apache2 裏面的svn配置 <Location /svn/repository> DAV svn SVNPath /svn/repository #SVNParentPath /svn/repository #SVNListParentPath on

(此處配置你的版本庫根目錄) --注意這裏不要是svnpath

AuthType Basic #(鏈接類型設置 基本驗證) AuthName "Hello welcome to here"

(此處字符串內容修改成提示對話框標題)

AuthUserFile /svn/repository/conf/passwd

(此處修改成訪問版本庫用戶的文件, 用apache 的htpasswd命令生成)

AuthzSVNAccessFile /svn/repository/conf/authz #(此處修改成訪問版本庫權限的文件) Require valid-user #("Require valid-user"告訴apache在authfile中全部的用戶均可以訪問。 </Location>

[groups] Admin=usr1 #/*這個表示admin羣組裏的成員 user1,user2 #Develop=u1, u2
#/*這個表示Develop羣組裏的成員 u1,u2 [repository:/] #/*這表示,倉庫www的根目錄下的訪問權限 user1 = rw #/www倉庫user1用戶具備讀和寫權限 user2 = r #/ www倉庫userl用戶具只有讀權限 #@develop=rw
#/*這表示 羣 develop的成員都具備讀寫權限 [/] #/*這個表示在全部倉庫的根目錄下

  • = r #/*這個表示對全部的用戶都具備讀權限
相關文章
相關標籤/搜索