本安裝環境為: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
????????????????
pcre-8.20.tar.gz
注:其中紅色字體標識的為必須要,藍色字體標識的為一些擴展包或者依賴包(要試情況下載安裝)
?
當前我所用的是普通用戶安裝,并不是用的root用戶
?
第一部分:安裝
①.安裝apache:
1. tar -zxvf httpd-2.4.3.tar.gz
? ?? 2. cd httpd-2.4.3/
? ? ? ? 3. ./configure --enable-ssl --enable-maintainer-mode --prefix=/usr/local/apache2 --enable-mods-shared=all
4. make
5. sudo make install
注:如果安裝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
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
