linux下Subversion服務架設

來源:互聯網
上載者:User

一、工具準備
Apache Web伺服器:httpd-2.2.4.tar.bz2
Subversion源碼包及依賴包:subversion-1.4.3.tar.bz2 ,subversion-deps-1.4.3.tar.bz2
(下面假設apache和svn源碼都解壓到了/home/tmp下)

二、安裝Apache
Apache的安裝就根平時安裝Apache沒什麼兩樣,都記得要開啟dav模組和動態模組選項。安裝安裝命令如下:

引用    tar xfj httpd-2.2.4.tar.bz2
    cd httpd-2.2.4
    ./buildconf
    ./configure --enable-dav --enable-so
    make
    make install

 

三、安裝Subversion

SVN的安裝一定要注意:

 

    * SVN 依賴的APR版本要正確。如果Apache為2.0.x,對應的APR版本應為0.9.x;Apache為2.2.x,對應的APR版本應為1.2.x。由於subversion-deps包裡的APR是0.9.x的,因此編譯svn時要刪除從deps裡解壓出來的apr, apr-util,改而使用apache 2.2裡提供的。

    * 如果apache不是安裝在預設路徑,configure必須加上--with-apxs選項,如:./configure --with-apxs=/home/apache2/bin/apxs

安裝命令如下:

引用    tar xfj subversion-1.4.3.tar.bz2
    tar xfj subversion-deps-1.4.3.tar.bz2
    # subversion-deps的檔案也會解壓到subversion-1.4.3目錄中
    cd subversion-1.4.3
    rm -rf apr
    rm -rf apr-util
    ln -s /home/tmp/httpd-2.2.4/srclib/apr apr
    ln -s /home/tmp/httpd-2.2.4/srclib/apr-util apr-util
    ./configure && make && make install

安裝完成後,查看是否存在檔案$APACHE_HOME/modules/mod_dav_svn.so(預設 /usr/local/apache2/modules/mod_dav_svn.so)。另外,如果該機器上以前是裝過舊版本的SVN,要把 "/usr/local/lib/libsvn*"檔案都刪除。

四、在apache中配置svn

建立SVN庫:

引用    cd /home/svn
    svnadmin create repo1

在Apache 的設定檔httpd.conf中加入以下代碼,Apache中就可以配置好一個虛擬機器主機svn.mydomain.net,並把該網域名稱下的根路徑配置給 Subversion。通過AuthzSVNAccessFile和AuthUserFile指令分別配置SVN使用者的使用者名稱和密碼檔案。

引用    <virtualhost *:80>
    DocumentRoot /home/svn/htdocs
    <directory>
    Options Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </directory>

    <location>
    DAV svn
    SVNParentPath /home/svn/svnroot
    AuthzSVNAccessFile /home/svn/svnroot/conf/accessfile
    Require valid-user
    AuthType Basic
    AuthName "Subversion System"
    AuthUserFile /home/svn/svnroot/conf/passwdfile
    </location>

    ServerName svn.mydomain.net
    DirectoryIndex index.html
    </virtualhost>

建立檔案/home/svn/svnroot/conf/accessfile:

引用    [groups]
    user = jarod
    anonymous = guest
    [/]
    * = r
    @user = rw
    @anonymous = r

再用htpasswd命令建立/home/svn/svnroot/conf/passwdfile檔案:

引用    htpasswd -c /home/svn/svnroot/conf/passwdfile jarod
    # 這時會提示輸入密碼

最後把/home/svn目錄的擁有者設為啟動apache服務的使用者,apache-2.2預設會由daemon使用者啟動:

引用    chown daemon.daemon -R /home/svn
    chmod 777 /home/svn -R

大功告成,通過瀏覽器或SVN用戶端測試http://svn.mydomain.net/repo1
這時在/home/svn/svnroot下添加的新SVN庫也將自動使用相同的許可權配置

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.