本安裝環境爲: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