Linux下的SVN+Apache的搭建

Version: CentOS6.2_32bithttpd-2.2.24.tar.gzsubversion-1.7.9.tar.gz


1Httpd的安裝:

[root@SRV src]# tar zxvf httpd-2.2.24.tar.gz

[root@SRV src]# cd httpd-2.2.24

[root@SRV httpd-2.2.24]#  ./configure --prefix=/usr/local/apache2 --enable-dav --enable-so --enable-maintainer-mode  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

[root@SRV httpd-2.2.24]#  make && make install


2Subversion的安裝:

[root@SRV src]# tar zxvf subversion-1.7.9.tar.gz  

[root@SRV src]# cd subversion-1.7.9

[root@SRV subversion-1.7.9]#  ./configure --prefix=/usr/local/subversion  --with-apxs=/usr/local/apache2/bin/apxs   --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  --without-berkeley-db

[root@SRV subversion-1.7.9]#  make && make install


[root@SRV bin]# svnserve --version

svnserve,版本1.7.9 (r1462340)

編譯於 Apr 24 201320:09:13


Copyright (C) 2013 The Apache Software  Foundation.

This software consists of contributions  made by many people; see the NOTICE

file for more information.

Subversion is open source software, see  http://subversion.apache.org/


下列版本庫後端(FS) 模塊可用


* fs_fs : 模塊與文本文件(FSFS)版本庫一起工作。


Cyrus SASL 認證可用。


[root@SRV bin]#


configure: error: Subversion requires SQLite

 [root@SRV src]# wget http://www.sqlite.org/2013/sqlite-amalgamation-3071602.zip
 [root@SRV src]# unzip sqlite-amalgamation-3071602.zip
 [root@SRV src]# cd sqlite-amalgamation-3071602
 [root@SRV sqlite-amalgamation-3071602]# mkdir -p ../subversion-1.7.9/sqlite-amalgamation
 [root@SRV sqlite-amalgamation-3071602]# cp sqlite3.c ../subversion-1.7.9/sqlite-amalgamation
 [root@SRV sqlite-amalgamation-3071602]# cd ../subversion-1.7.9
 [root@SRV subversion-1.7.9]#



 

3、配置ApacheSVN

[root@SRV local]# vi  apache2/conf/httpd.conf                  

LoadModule dav_svn_module  modules/mod_dav_svn.so

LoadModule authz_svn_module  modules/mod_authz_svn.so


[root@SRV ~]# mkdir /opt/svndata

[root@SRV ~]# chown -Rv daemon  /opt/svndata/

[root@SRV ~]# chmod -R 755 /opt/svndata/

[root@SRV ~]#  /usr/local/subversion/bin/svnadmin create --fs-type fsfs  /opt/svndata/Project1

[root@SRV ~]#  /usr/local/apache2/bin/htpasswd -c /opt/svndata/auth_user RELEARN

New password: 

Re-type new password: 

Adding password for user RELEARN

[root@SRV ~]#  /usr/local/apache2/bin/htpasswd   /opt/svndata/auth_user Readonly

New password: 

Re-type new password: 

Adding password for user Readonly


[root@SRV ~]# vi  /opt/svndata/Access_Rights

[groups]

AdminGroup = RELEARN

GuestGroup = Readonly

[Project1:/]

@AdminGroup = rw

@GuestGroup = r



[root@SRV ~]# vi  /usr/local/apache2/conf/httpd.conf

#SVN config file

Include conf/extra/svn-config.conf

[root@SRV ~]# vi  /usr/local/apache2/conf/extra/svn-config.conf 

<Location /svn>

       DAV svn

        SVNParentPath /opt/svndata

        AuthType Basic

        AuthName "Subversion"

        AuthzSVNAccessFile /opt/svndata/Access_Rights

        AuthUserFile /opt/svndata/auth_user

        Require valid-user

</Location>


[root@SRVsvndata]# vi Access_Rights 

[groups]

Project1_AdminGroup = RELEARN

Project1_GuestGroup = Readonly


Project2_AdminGroup = Project2_admin

Project2_GuestGroup = Project2_user

[Project1:/]

@Project1_AdminGroup = rw

@Project1_GuestGroup = r


[Project2:/]

@Project2_AdminGroup = rw

@Project2_GuestGroup = r

~―――――――――

[groups]

G_Project1 = RELEARN,wuyw

[Project1:/]

@G_Project1 = rw

* = r


<Location /svn>

  DAV svn  #開啓DAV模塊支持

  SVNParentPath /var/www/newsvn


   #<LimitExceptGET PROPFIND OPTIONS REPORT>

     AuthType Basic

     AuthName "Subversion"

     AuthUserFile /var/www/newsvn/conf/auth.conf

     AuthzSVNAccessFile /var/www/newsvn/conf/access.conf  #授權配置文件(路經訪問權限)

     Require valid-user

  #</LimitExcept>   打開</LimitExcept>註釋,將允許匿名訪問

</Location>

 

 

 

轉自:http://relearn.blog.51cto.com/2605709/1200793

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章