<p>
SVN是管理工程本版的必備工具,相對(duì)vss以及其前身cvs來說都有著無與倫比的優(yōu)勢(shì)
以下是apache+subversion服務(wù)端安裝步驟:
一、準(zhǔn)備好安裝包:
①apr-1.3.6.tar.gz下載地址:http://apr.apache.org/
②apr-util-1.3.8.tar.gz
③subversion-1.6.3.tar.gz 下載地址: http://subversion.tigris.org/
④subversion-deps-1.6.3.tar.gz
⑤httpd-2.2.9.tar.gz 下載地址:http://httpd.apache.org/
注意:apach的版本 與 subversion版本的兼容問題,官網(wǎng)都有介紹的
二、開始安裝:把以上安裝包上傳至/usr/local目錄,cd /usr/local 進(jìn)入該目錄
1、安裝apr
tar zxvf apr-1.3.6.tar.gz #解壓包
cd apr-1.3.6
./configure
make
make install
2、安裝apr-util
tar zxvf apr-util-1.3.8.tar.gz
cd apr-util-1.3.8
./configure --with-apr=/usr/local/apr
make
make install
3、安裝 apache
tar zxvf httpd-2.2.9.tar.gz
cd httpd-2.2.9
./configure --prefix=/usr/local/apache2.2.9 --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config #--prefix表示把a(bǔ)pache安裝在指定目錄
make
make install
4、安裝subversion
tar zxvf subversion-1.6.3.tar.gz
tar zxvf subversion-deps-1.6.3.tar.gz
cd subversion-1.6.3
./configure --prefix=/opt/svn --with-apxs=/usr/local/apache2.2.9/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
make
make install
至此,安裝基本完畢,再配置下就可以使用了
注意:因?yàn)檫@些安裝包需要gcc編譯,所以要確保linux上裝有g(shù)cc程序,否則是沒辦法進(jìn)行安裝的
三、在apache中配置SVN
vi /usr/local/apache2.2.9/conf/httpd.conf
① 如果你看到如下兩句,說明安裝是成功的
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
如果有下面一句就用#注釋掉
#LoadModule foo_module modules/mod_foo.so
② 定義apache訪問svn配置:
<Location /svn>
DAV svn
# SVNPath /opt/svndata
SVNParentPath /opt/svndata
AuthzSVNAccessFile /opt/svn/conf/authz.conf
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /opt/svn/conf/passwd.conf
Require valid-user
</Location>
四、配置svn
①建立svn版本庫目錄
mkdir -p /opt/svndata/repos #可以多建版本庫目錄
②建立svn版本庫
svnadmin create /opt/svndata/repos
mkdir -p /opt/svndata/repos #可以多建版本庫
③建立本地訪問控制文件
/usr/local/apache2.2.9/bin/htpasswd -c /opt/svn/conf/passwd.conf username
然后輸入密碼即可,默認(rèn)是MD5加密的
/usr/local/apache2.2.9/bin/htpasswd /opt/svn/conf/passwd.conf username1 #追加用戶
④建立本地項(xiàng)目控制文件
touch /opt/svn/conf/authz.conf
本例authz.conf內(nèi)容為:
[groups]
#groupname1>=<username1>,<username2>
admin=username
#[<versionLib>:projectName/directory]
#@<groupsname>=<authorities>
#<username>=<authorities>
[/]
@admin = rw #指定用戶組成員可以讀寫根目錄所有應(yīng)用
[repos:/abc/aaa]
username1= rw #指定用戶username1可以讀寫:/abc/aaa目錄的文件
至此,整個(gè)安裝過程完成了!
五、測(cè)試連接
① 啟動(dòng)apache
/usr/local/apache2.2.9/bin/apachectl start
② 打開瀏覽器,輸入http://192.168.1.107/svn/repos #本例服務(wù)器ip是192.168.1.107
使用剛才創(chuàng)建的權(quán)限用戶名與密碼登錄即可訪問
注意:在你上傳文件的時(shí)候可能會(huì)有如下權(quán)限不足的提示
Permission denied
svn: Commit failed (details follow):
svn: Can't create directory '/opt/svndata/repos/db/transactions/0-1.txn': Permission denied
這是因?yàn)閍pache在線程用戶沒有權(quán)限訪問svn的倉(cāng)庫,兩者分別屬于不同的用戶者
本例apache屬于daemon擁有者,而svn倉(cāng)庫屬于svn擁有者
解決方法:
chown -R daemon /opt/svndata/repos
chmod -R 755 /opt/svndata/repos
文章來源:http://www.cnblogs.com/dengqiye/archive/2009/07/11/1521464.html非常感謝作者分享,本人在debian中配置通過
重啟下apache
</p>
發(fā)表評(píng)論