歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS SVN安裝與配置 (RHEL5.4平台測試通過)

CentOS SVN安裝與配置 (RHEL5.4平台測試通過)

日期:2017/2/28 16:08:04   编辑:Linux教程

Yum install httpd httpd-devel subversion subversion-devel mod_dav_svn

mod_auth_mysql

第一步:安裝apache subversion

yum install httpd

yum install httpd-devel //用於開發Apache模塊

yum install subversion

yum install mod_dav_svn //Subversion與Apache之間的接口(通過它,Apache就可以訪問版本庫,可以讓客戶端也使用HTTP的擴展協議 WebDAV/DeltaV進行訪問)

yum install mod_auth_mysql //這一項用於用戶身份驗證,在網上有資料說貌似這個mod_auth_mysql沒得配置訪問權限的 只有用戶設置,建議不裝,用htpasswd就可以,在這裡我沒有裝,我還是打算用htpasswd,可能下回會試試。

驗證svn模塊(mod_dav_svn)是否正確安裝

ls /etc/httpd/modules | grep svn

系統提示:

mod_authz_svn.so

mod_dav_svn.so

驗證安裝:

svn --version

第二步:創建SVN庫和項目

mkdir /home/svn //創建SVN庫

svnadmin create /home/svn/projcet //創建項目

第三步:添加組及組員權限

groupadd subversion //創建一個叫subversion的組為擁有倉庫所在的目錄

usermod -G subversion -a apache //���自己和Apache 用戶加入組成員中

查看:more /etc/group | grep subversion

系統提示:subversion:x:500:apache

第四步:修改項目權限

chgrp -R subversion /home/svn/project

chmod -R 777 /home/svn/project

這裡最好根據自己的安全需求配置相應的權限,我這是試驗環境所以直接給了777

第五步:配置httpd

編輯httpd.conf

vim /etc/httpd/conf/httpd.conf

查看有沒有LoadModule dav_svn_module modules/mod_dav_svn.so這一行,如果沒有就添加上為了使客戶端能夠通過Apache來訪問SVN檔案庫,Apache需要加載 mod_dav_svn模塊。如果Apache是按照與預設目 錄安裝的,mod_dav_svn 模塊應該會安裝在 Apache 安裝位置 (默認路徑是 /etc/httpd/) 的 modules 子目錄內。同時在Apache的配置文件httpd.conf(默認路徑為etc/httpd/conf/)中已經使用 LoadModule指令加載了該模塊(如果沒有,手動添加)注意這個指令必須出現在其它的 Subversion 相關指令之前。還要加載mod_authz_svn.so模塊

例如:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

一般來說apache2都己正常加載了這兩個模塊

啟動httpd

/etc/init.d/httpd start

打開浏覽器查看是否能看到apache的頁面(注意如果開了防火牆記得開放80端口)

第六步:配置SVN

編輯subversion.conf

vim /etc/httpd/conf.d/subversion.conf

按以下代碼更改(栗紅為修改的代碼):

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>

DAV svn

SVNParentPath /home/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"

AuthzSVNAccessFile /home/svn/project/conf/authz

AuthUserFile /home/svn/passwd

Require valid-user

# </LimitExcept>

</Location>

針對不同用戶給予不同權限:

# vim /home/svn/project/conf/authz 添加如下內容:

[groups]

g_vip = admin,vip01,vip02

g_manager = user01,user02,user03

g_developer = user04,user05,user06

g_Tester = user07,user08,user09

g_docs = user10

[/]

* = r

@g_manager = rw

@g_vip = rw

dangerman =

[/require_document]

@g_docs = rw

@g_manager = rw

* =

[/develope]

@g_developer = rw

@g_manager = rw

* =

[/test1]

@g_Tester = rw

* =

第七步:建立用戶

# htpasswd -c /home/svn/passwd test //第一次添加用戶使用參數“-c”以後再添加就不用了

系統提示:

New password: //輸入新密碼

Re-type new password: //確認密碼

Adding password for user test

重啟apache

通過web頁面訪問,彈出用戶登錄驗證,訪問成功 (注意開放防火牆的3690端口)

Trouble_shooting:

訪問報錯如下:

訪問地址不正確,正確的地址為:

http://192.168.1.241/svn/stuff

Copyright © Linux教程網 All Rights Reserved