Subversion 支持多種模式,有兩種比較經常使用,一種是默認的SVN訪問,3690端口,另外一種基於apache的webdav模式80端口,安裝配置有所區別php
SVN模式訪問:web
1) 能夠直接rpm安裝apache
yum -y install subversion瀏覽器
2) 查看是否安裝成功服務器
svnserve --versionide
3) 建立版本庫的目錄svn
mkdir -p /var/www/svn/repos 工具
4) 建立版本庫reposui
svnadmin create /var/www/svn/repos/加密
5) 之後臺方式啓動svnserver服務,並指定跟目錄
svnserve -d -r /var/www/svn/repos/
6) 導入目錄mysvn中的文件到版本庫,須要-m
svn import mysvn file:///var/www/svn/repos/ -m "Initial import"
7) 導入完成後可查看文件
svn list file:///var/www/svn/repos/
8) 修改版本庫中的三個文件
authz 添加用戶
[groups]
admin = tony
[/]
@admin = rw
passwd 設置用戶密碼
[users]
tony = 123456
svnserve.conf 添加如下項目,注意不要有空格
anon-access = none auth-access = write password-db = passwd authz-db = authz
9) 重啓svnserver服務
kill -9 `ps auxf |grep svn |grep -v grep|awk '{print $2}'` && svnserve -d -r /var/www/svn/repos
10) 在另一臺服務器上checkout版本庫到mysvn目錄
svn co --username tony --password 123456 svn://{svn服務器IP}/ mysvn/
11) 基本操做命令
svn update 更新版本庫 svn add test.php添加test.php文件
svn status 查看當前狀態 svn diff 查看差別 svn commit -m "add test.php"提交修改
webdav模式訪問
1) 下載apache和subversion安裝包
wget http://mirror.bjtu.edu.cn/apache//httpd/httpd-2.2.19.tar.gz
wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.12.tar.gz
2) 編譯安裝apache和subversion
tar zxvf httpd-2.2.19.tar.gz
cd httpd-2.2.19
./configure -prefix=/usr/local/apache -enable-dav -enable-so
make && make install
tar zxvf subversion-1.6.12.tar.gz
tar zxvf subversion-deps-1.6.12.tar.gz
cd subversion-1.6.12
rm -rf apr && rm -rf apr-util
./configure -prefix=/usr/local/subversion -with-apxs=/usr/local/apache/bin/apxs -with-apr=/usr/local/apache/bin/apr-1-config -with-apr-util=/usr/local/apache/bin/apu-1-config
make && make install
3) 編譯過程可能遇到的錯誤
configure: error: no XML parser was found: expat or libxml 2.x required
執行:yum -y install libxml2 libxml2-devel
yum -y install expat expat-devel
configure:error: We require OpenSSL; try --with-openssl
執行:yum -y install openssl-devel
4) 安裝完成後添加環境變量
在/etc/profile中添加:export PATH=$PATH:/usr/local/subversion/bin
5) 建立svn版本庫部分同上
mkdir -p /var/www/svn/repos
svnadmin create /var/www/svn/repos/
6) 添加apache用戶,並修改版本庫全部者
useadd apache
chown -R apache:apache /var/www/svn/repos/
7) 設置版本庫的權限
chown root:root /var/www/svn
chmod 755 /var/www/svn
apache 對SVN目錄有執行權限
chown apache:apache /var/www/svn/repos
chmod 755 /var/www/svn/repos
apache 對repos目錄要有執行權限
chmod -R 766 /var/www/svn/repos/db
apache 對db目錄要有執行權限
其餘用戶 對db目錄要有寫權限
chmod -R 755 /var/www/svn/repos/dav
其餘用戶 對dav目錄要有執行權限
其餘文件只須要讀權限便可
8) 配置apache支持svn
更改用戶及用戶組爲apache: apache
User apache
Group apache
vi /usr/local/apache/conf/httpd.conf 添加如下內容
#################################
<Location /svn>
DAV svn
SVNPath /var/www/svn/repos
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /var/www/svn/repos/passwdfile
AuthzSVNAccessFile /var/www/svn/repos/authz
Require valid-user
</Location>
####################################
authz 添加用戶
[groups]
admin = tony
[/]
@admin = rw
10) 建立版本庫中的用戶密碼文件
/usr/local/apache/bin/htpasswd –cmb passwdfile tony 123456
c :create m:md5 b :在命令行上輸入密碼
解釋:建立passwdfile文件,增長用戶名爲tony的用戶,密碼爲md5加密的123456
更新密碼
htpasswd passwdfile abc
添加新用戶
htpasswd passwdfile abc
刪除用戶
htpasswd -D passwdfile abc
11) 啓動http服務
/usr/local/apache/bin/httpd –k start
能夠在瀏覽器中輸入http:// {svn服務器IP}/svn/或者經過svn客戶端工具訪問版本庫了