歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux下Subversion 服務架設

linux下Subversion 服務架設

日期:2017/2/25 12:10:34   编辑:關於Linux
一、工具准備

Apache Web服務器:httpd-2.2.4.tar.bz2
Subversion源碼包及依賴包:subversion-1.4.3.tar.bz2,subversion-deps-1.4.3.tar.bz2
(下面假設apache和svn源碼都解壓到了/home/tmp下)


二、安裝Apache

Apache的安裝就根平時安裝Apache沒什麼兩樣,都記得要打開dav模塊和動態模塊選項。安裝安裝命令如下:
tar xfj httpd-2.2.4.tar.bz2
cd httpd-2.2.4
./buildconf
./configure --enable-dav --enable-so
make
make install
三、安裝Subversion

SVN的安裝一定要注意:



SVN 依賴的APR版本要正確。如果Apache為2.0.x,對應的APR版本應為0.9.x;Apache為2.2.x,對應的APR版本應為1.2.x。 由於subversion-deps包裡的APR是0.9.x的,因此編譯svn時要刪除從deps裡解壓出來的apr, apr-util,改而使用apache 2.2裡提供的。

如果apache不是安裝在默認路徑,configure必須加上--with-apxs選項,如:./configure --with-apxs=/home/apache2/bin/apxs


安裝命令如下:
tar xfj subversion-1.4.3.tar.bz2
tar xfj subversion-deps-1.4.3.tar.bz2
# subversion-deps的文件也會解壓到subversion-1.4.3目錄中
cd subversion-1.4.3
rm -rf apr
rm -rf apr-util
ln -s /home/tmp/httpd-2.2.4/srclib/apr apr
ln -s /home/tmp/httpd-2.2.4/srclib/apr-util apr-util
./configure && make && make install
安裝完成後,查看是否存在文件$APACHE_HOME/modules/mod_dav_svn.so(默認 /usr/local/apache2/modules/mod_dav_svn.so)。另外,如果該機器上以前是裝過舊版本的SVN,要把 "/usr/local/lib/libsvn*"文件都刪除。


四、在apache中配置svn

創建SVN庫:

cd /home/svn
svnadmin create repo1


在Apache 的配置文件httpd.conf中加入以下代碼,Apache中就可以配置好一個虛擬主機svn.mydomain.net,並把該域名下的根路徑配置給 Subversion。通過AuthzSVNAccessFile和AuthUserFile指令分別配置SVN用戶的用戶名和密碼文件。
<virtualhost *:80>
DocumentRoot /home/svn/htdocs
<directory>
Options Includes
AllowOverride All
Order allow,deny
Allow from all
</directory>
<location />
DAV svn
SVNParentPath /home/svn/svnroot
AuthzSVNAccessFile /home/svn/svnroot/conf/accessfile
Require valid-user
AuthType Basic
AuthName "Subversion System"
AuthUserFile /home/svn/svnroot/conf/passwdfile
</location>
ServerName svn.mydomain.net
DirectoryIndex index.html
</virtualhost>
創建文件/home/svn/svnroot/conf/accessfile:
[groups]
user = jarod
anonymous = guest
[/]
* = r
@user = rw
@anonymous = r
再用htpasswd命令創建/home/svn/svnroot/conf/passwdfile文件:
htpasswd -c /home/svn/svnroot/conf/passwdfile jarod
# 這時會提示輸入密碼
最後把/home/svn目錄的擁有者設為啟動apache服務的用戶,apache-2.2默認會由daemon用戶啟動:
chown daemon.daemon -R /home/svn
chmod 777 /home/svn -R

大功告成,通過浏覽器或SVN客戶端測試http://svn.mydomain.net/repo1

原文地址

Copyright © Linux教程網 All Rights Reserved