1. 程式人生 > >Centos 下搭建SVN + Apache 服務器

Centos 下搭建SVN + Apache 服務器

httpd restart svnadmin author stat pac 目錄 創建 etc

摘要: 搭建SVN + Apache 服務器

  1. 安裝軟件包

# yum install httpd
# yum install mod_dav_svn
# yum install subversion

2. 驗證安裝

 # httpd -version

結果顯示:

技術分享

前往 /etc/httpd/modules/ 下,檢查是否包含mod_dav_svn.so和mod_authz_svn.so,如果有,mod_dav_svn安裝成功。

# svnserve --version

結果顯示:

技術分享

安裝svn 成功。

3. 創建倉庫

 # mkdir /var/www/svn
 # cd /var/www/svn
 # svnadmin create repo1

4. 配置

/var/www/svn 目錄下會有一個repo1的文件夾

修改所有者:

 # chown -R apache:apache repo1

copy /var/www/svn/repo1/conf 下的 authz到 /var/www/svn下,並創建passwd文件

 # cp /var/www/svn/repo1/conf/authz /var/www/svn/authz
 # cd /var/www/svn
 # vi passwd
 :wq保存退出

生成賬號:

 # htpasswd /var/www/svn/passwd user1

輸入密碼,生成user1賬號

權限管理設置:

 # vi /var/www/svn/authz

在[groups]下添加組,

[/] 相當於/var/www/svn這個目錄,賦予權限給用戶組

[repo1:/] 是指repo1庫

[repo1:/desgin]是repo1下的desgin目錄

[groups]
admin=user1
proj1_developer=user2,user3
proj2_develoer=user2,user4

proj1_desgin=user5,user6

[/]
@admin=rw

[repo1:/]
@proj1_developer=rw

[repo1:/desgin]
@proj1_desgin=rw

[repo2:/]
@proj2_developer=rw

將svn關聯到apache上:

 # vi /etc/httpd/conf.d/subversion.conf

在底部加上:

<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 SVN"
      AuthzSVNAccessFile /var/www/svn/authz
      AuthUserFile /var/www/svn/passwd
      Require valid-user
#   </LimitExcept>
</Location>

重啟httpd

 # service httpd restart

5. 通過瀏覽器測試

在瀏覽器中輸入http://ip或網站/repos/repo1

此時會彈出輸入密碼框,輸入創建的用戶名和密碼就可以登錄了

Centos 下搭建SVN + Apache 服務器