在Linux下subversion和apache安裝配置
51CTO為網(wǎng)友介紹過Apache以及subversion,如何將subversion與apache結(jié)合在一起呢?51CTO為大家介紹一個(gè)在在Linux下subversion上完美安裝apache配置的方法。
軟件版本:subversion1.2.3 和apache-server 2.0.55
Linux下Subversion+apache服務(wù)器配置
一.安裝服務(wù)器端
1.環(huán)境工具說明:
服務(wù)器linux環(huán)境;apache,httpd-2.0.58.tar.gz;subversion-1.3.1.tar.gz
2.安裝apache
#tar zxvf httpd-2.0.58.tar.gz
#cd httpd-2.0.58
#./configure --enable-dav --enable-so --enable-maintainer-mode tips:一定要寫—enable-dav,否則安裝時(shí)候會(huì)漏掉需要的配置包
#make
#make install
此時(shí)會(huì)產(chǎn)生/usr/local/apache2目錄
tips:此時(shí)運(yùn)行apache,之后安裝svn后可以自動(dòng)加載模塊。
運(yùn)行apache,到apache2的bin目錄下
#apachetl start
3.安裝subversion
#tar zxvf subversion-1.1.1.tar.gz
#./configure --with-apxs=/usr/local/apache2/bin/apxs
#make
#make install
此時(shí)會(huì)自動(dòng)在/usr/local/apache2/conf/httpd.conf添加
LoadModule dav_svn_module modules/mod_dav_svn.so
如果沒有就手工添加。
4.檢查
在服務(wù)器web上輸入http://localhost看是否出現(xiàn)apache的測(cè)試頁(yè)面,如果出現(xiàn)apache就是正常工作。
運(yùn)行svnserver --version確認(rèn)版本,如果正常則sub運(yùn)行正常。
二.建立倉(cāng)庫(kù)
Subversion 的檔案庫(kù)是個(gè)中央倉(cāng)儲(chǔ), 用來存放任意數(shù)量項(xiàng)目的受版本控管數(shù)據(jù),建立方法很簡(jiǎn)單
#svnadmin create path/to/repos
舉個(gè)例子:#svnadmin create /home/mysvn
三.整合apache和subversion
Subversion服務(wù)器有兩種運(yùn)行方式,一是可以作為Apache 2.0的一個(gè)模塊,以WebDAV/DeltaV協(xié)議與外界連通;另外,也可使用Subversion 自帶的小型服務(wù)器程序svnserve。
以http方式運(yùn)行
在/usr/local/apache2/conf/httpd.conf中加入:
<Location /svn/repository>
DAV svn
SVNPath /home/mysvn
</Location>
在服務(wù)器的瀏覽器中輸入網(wǎng)址: http://localhost/svn/repository/
這時(shí)候,你會(huì)看到reversion0的界面,說明倉(cāng)庫(kù)就已經(jīng)可以工作了。
tips:此時(shí)如果不能看到,請(qǐng)小心檢查以上幾步,如果都正確,請(qǐng)檢查自己的httpd.conf配置文件,其中檢查apache調(diào)用svn的端口是否占用,因?yàn)閘inux自帶的web服務(wù)占用的是80端口,而apache默認(rèn)調(diào)用的也是80端口。
四.用戶添加以及權(quán)限設(shè)置
1.用戶添加:
因?yàn)閟ubversion跟apache整合在一起,所以用戶添加管理和權(quán)限設(shè)置都是apache的任務(wù)。
進(jìn)入/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.用戶權(quán)限添加
在/usr/local/apache2/conf/httpd.conf的加入:
<Location /svn/repository >
DAV svn
SVNPath /home/mycvs
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/svn-auth-file
Require valid-user
</Location>
重新啟動(dòng) Apache后,如果有人要訪問SVN服務(wù)器,系統(tǒng)會(huì)要求他輸入用戶名和密碼。 只有輸入Sally 或Harry的用戶名和相應(yīng)的密碼,才可以對(duì)檔案庫(kù)進(jìn)行修改和訪問。
權(quán)限設(shè)置在svn-auth-file內(nèi)
比如倉(cāng)庫(kù)rpo,其下有p1,p2兩個(gè)目錄,用戶有a,b
#用戶a,b只能對(duì)rpo目錄下的目錄進(jìn)行read,沒有權(quán)限write
[rpo:\]
a = r
b = r
#用戶a對(duì)p1有讀寫的功能,用戶b只能讀
[doc:/p1]
a = rw
b = r
tips:請(qǐng)注意用戶會(huì)繼承上級(jí)目錄的權(quán)限。小心設(shè)置,不要相互沖突。
此時(shí)用戶登錄只需要輸入正確的用戶名和密碼即可登錄,如果不能訪問,看以下說明:
tips:看你的用戶是否有查看文件的權(quán)限,使用命令#chown –R apache.apache /path/to/file
3.用戶組和用戶組權(quán)限設(shè)置
用戶組添加如下:
[groups]
Ppc = a, b, c
Symbian = d, e, f
用戶組權(quán)限設(shè)置要在前面添加@標(biāo)志,表示對(duì)組內(nèi)所有成員權(quán)限一樣
[doc:/]
@symbian = r
好了,到了這里應(yīng)該服務(wù)器可以正常運(yùn)作了。
【編輯推薦】