Linux中subversion(SVN)整合apache安裝及配置

本安裝環境爲:opensuse12.1

所需安裝包:httpd-2.4.3.tar.gz
                subversion-1.7.6.tar.gz
                openssl-1.0.1c.tar.gz
                neon-0.29.6.tar.gz
linux

                pcre-8.20.tar.gz
注:其中紅色字體標識的爲必需要,藍色字體標識的爲一些擴展包或者依賴包(要試狀況下載安裝)web

 

當前我所用的是普通用戶安裝,並非用的root用戶apache

 

第一部分:安裝瀏覽器

①.安裝apache:服務器

1. tar -zxvf httpd-2.4.3.tar.gz網絡

     2. cd httpd-2.4.3/svn

        3. ./configure --enable-ssl --enable-maintainer-mode --prefix=/usr/local/apache2 --enable-mods-shared=all字體

4. makeui

5. sudo make installspa

注:若是安裝apache在第3步./configure的時候出現這樣的錯誤:configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

    則須要先安裝pcre-8.20.tar.gz這個包,安裝步驟以下:

i: tar -zxvf pcre-8.20.tar.gz

ii: cd pcre-8.20/

iii: ./configure

  iV: make

V: sudo make install

安裝完以後繼續從新安裝apache,先回到apache的源目錄httpd-2.4.3文件夾中,而後從第3步但是從新編譯安裝.

 

②:安裝subversion(SVN):

1. tar -zxvf subversion-1.7.6.tar.gz

注:這裏須要添加一個neon的支持,就須要用到neon-0.29.6.tar.gz包,把這個包解壓以後造成文件夾neon-0.29.6,而後把這兒文件夾拷貝到剛剛解壓的SVN的源代碼的根目錄下面,而且重命名爲neon

2. cd subversion-1.7.6

3. ./configure --prefix=/usr/local/subversion --with-apxs=/usr/local/apache2/bin/apxs --with-ssl

4. make

5. sudo make install

此時,SVN已經安裝完畢,首先把/usr/local/subversion/bin這個目錄加入到環境變量PATH中,而後運用命令svn --version,若是看到以下信息則SVN安裝成功:

svn,版本 1.7.6 (r1370777)

   編譯於 Oct 13 2012,00:15:31

版權全部 (C) 2012 Apache 軟件基金會。

此軟件包含了許多人的貢獻,請查看文件 NOTICE 以得到更多信息。

Subversion 是開放源代碼軟件,請參閱 http://subversion.apache.org/ 站點。

可以使用如下的版本庫訪問模塊: 

* ra_neon : 經過 WebDAV 協議使用 neon 訪問版本庫的模塊。

  - 處理「http」方案

  - 處理「https」方案

* ra_svn : 使用 svn 網絡協議訪問版本庫的模塊。  - 使用 Cyrus SASL 認證

  - 處理「svn」方案

* ra_local : 訪問本地磁盤的版本庫模塊。

  - 處理「file」方案

 

 

③:安裝openssl

1. tar -zxvf openssl-1.0.1c.tar.gz

2. cd openssl-1.0.1c

3. ./configure

4. make

5. sudo make install

 

第二部分:檢查

①:檢查svn是否已經添加到apache中

查看/usr/local/apache2/conf/httpd.conf中是否添加了

LoadModule dav_svn_module modules/mod_dav_svn.so

若是沒有添加,則手動添加下.

②開啓apache,進入到apache的bin目錄,執行 sudo ./apachectl start

在瀏覽器中打開,http:://localhost, 看apache是否正常運行

 

第三部分:整合

①:建立SVN倉庫

# 建立文件夾

$ mkdir -p /home/mysvn

# 運行建立版本庫的命令,指定數據存儲爲 FSFS,若是要指定爲 Berkeley DB,則將 fsfs 替換爲 bdb

$ svnadmin create --fs-type fsfs /home/mysvn

②:整合apache和subversion

Subversion服務器有兩種運行方式,一是能夠做爲Apache 2.0的一個模塊,以WebDAV/DeltaV協議與外界連通;另外,也可以使用Subversion 自帶的小型服務器程序svnserve。

以http方式運行

在/usr/local/apache2/conf/httpd.conf中加入:

<Location /svn/repository>

DAV svn

SVNPath /home/mysvn

</Location>

在服務器的瀏覽器中輸入網址: http://localhost/svn/repository/

這時候,你會看到reversion0的界面,說明倉庫就已經能夠工做了。

tips:此時若是不能看到,請當心檢查以上幾步,若是都正確,請檢查本身的httpd.conf配置文件,其中檢查apache調用svn的端口是否佔用,由於linux自帶的web服務佔用的是80端口,而apache默認調用的也是80端口。

 

③:用戶添加以及權限設置

1.用戶添加:

由於subversion跟apache整合在一塊兒,因此用戶添加管理和權限設置都是apache的任務。

進入/urs/local/apaceh2/bin,添加用戶

# ### 第一次: 以 -c 創建檔案

# htpasswd -c /etc/svn-auth-file harry

New password: *****

Re-type new password: *****

Adding password for user harry

 

# htpasswd /etc/svn-auth-file sally

New password: *******

Re-type new password: *******

Adding password for user sally

 

2.用戶權限添加

 

在/usr/local/apache2/conf/httpd.conf的加入:

<Location /svn/repository >

DAV svn

SVNPath /home/mysvn

AuthType Basic

AuthName "Subversion repository"

AuthUserFile /etc/svn-auth-file

Require valid-user

</Location>

從新啓動 Apache後,若是有人要訪問SVN服務器,系統會要求他輸入用戶名和密碼。 只有輸入Sally 或Harry的用戶名和相應的密碼,才能夠對檔案庫進行修改和訪問。

 

權限設置在svn-auth-file內

好比倉庫rpo,其下有p1,p2兩個目錄,用戶有a,b

#用戶a,b只能對rpo目錄下的目錄進行read,沒有權限write

[rpo:\]

a = r

b = r

 

#用戶a對p1有讀寫的功能,用戶b只能讀

[doc:/p1]

a = rw

b = r

 

tips:請注意用戶會繼承上級目錄的權限。當心設置,不要相互衝突。

 

此時用戶登陸只須要輸入正確的用戶名和密碼便可登陸,若是不能訪問,看如下說明:

 

tips:看你的用戶是否有查看文件的權限,使用命令#chown –R apache.apache /path/to/file

 

④:用戶組和用戶組權限設置

用戶組添加以下:

[groups]

Ppc = a, b, c

Symbian = d, e, f

 

用戶組權限設置要在前面添加@標誌,表示對組內全部成員權限同樣

 

[doc:/]

@symbian = r

相關文章
相關標籤/搜索