apache+svn安裝過程,親測

1.官網下載所需的文件,我在此使用的版本如下:

Httpd-2.2.22.tar.gz           subversion-1.6.12.tar.gz    subversion-deps-1.6.12

2.安裝apache

1)     將文件解壓到/usr/local下,然後執行#./configure –prefix=/usr/local/apache enable-dav –enable-so&& make && make install

2)     啓動apache,#/usr/local/apache/bin/apachectl start,在瀏覽器中輸入http://localhost,可以看到歡迎頁面,說明安裝成功。

3.     安裝svn

1)分別解壓subversion-1.6.12.tar.gz  , subversion-deps-1.6.12到/usr/local下,解壓後的文件會自動合併爲一個文件夾subversion-1.6.12

2)刪除從deps裏解壓出來的apr, apr-util.執行#rm –rf apr  #rm–rf apr-util.原因如下: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裏提供的。(網上摘錄)

3)接着編譯安裝svn。#./configure –prefix=/usr/local/subversion –with-apxs=/usr/local/apache/bin/apxs–with-apr=/usr/local/apache/bin/apr-1-config –with-apr-util=/usr/local/apache/bin/apu-1-config&& make &&make install

安裝的時候會遇到這個問題:


我使用的是ubuntu,是因爲缺少兩個包:libssl-dev和libxml2-dev。直接用apt-get install安裝,不會報這樣的錯誤了。

然後再次編譯,又會遇到一個錯誤:

可以看到是因爲缺少expat包,網上有解決方法是安裝expat-1.95.8-8.2.1.i386.rpm和expat-devel-1.95.8-8.2.1.i386.rpm這兩個包。

因爲我用ubuntu,所以直接apt-get install libexpat-dev來搞定。

4)  最後執行#/usr/local/subversion/bin/svnserve - -version,看到有版本信息輸出,說明svn安裝成功了。

4.      配置svn

1)  首先創建數據倉庫test:

#mkdir/svn/repository

#/usr/local/subversion/bin/svnadmincreate /svn/repository/test

可以看到目錄下多了test,test裏面會有一些文件。

2)  然後添加用戶:

# /usr/local/apache/bin/htpasswd –cmb /svn/repository/authfilelvxiaobao lvxiaobao

可以看到在repository下生成了名爲authfiled 的文件,裏面保存的是用戶名和密碼

其中參數c的意思是創建文件的意思,如果是第一次添加用戶就要用到c,如果是繼續添加,就不要c了。

3)  然後是配置svn用戶的權限

可以找到在數據倉庫test下有個名爲conf的文件夾,編輯下面的authz,

添加

[test:/]

Lvxiaobao=rw

5.     配置apache

1)配置httpd.conf。#vim /usr/local/apache/conf/httpd.conf

首先看一下里面有沒有這兩行:

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

這是在上一步編譯的時候生成的,我這裏沒問題,順利進行。

然後找到

Userdaemon
        Group daemon
        把上述內容改成:
        User apache
        Group apach

(我的系統在安裝apache的時候未自動添加這個組和用戶,所以需自己添加一下)

然後繼續,在文件末尾添加:


可以看到註釋掉兩行,這兩行在網上的其他一些教程中有,但是我使用的時候總是在驗證的時候有問題,後來看了亮哥的配置,按照他的這麼寫了,用SVNPath代替掉SVNParentPath,然後就能自動尋找到authz,不必配置了。

最後,要修改數據倉庫的所有者爲apache:#chown –R apache:apache /svn/repository

6.     最後重啓apache服務和svn服務,在客戶端就可以用http://ip/test來訪問到svn了。

查看svn服務是否啓動:ps -ef|grep svnserve

啓動svn服務:/usr/local/subversion/bin/svnserve -r /svn/repository-d

 


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