SVN服務端配置:svn (subversion)+Apache(httpd)+SSL(openssl)
tar zxvf openssl-0.9.8b.tar.gz
cd openssl-0.9.8b
make && make install
cd ..
tar xvzf apr-1.3.7.tar.gz
./configure
make&&make install
tar xvzf apr-util-1.3.8.tar.gz
./configure --with-apr=/usr/local/apr/bin/apr-1-config
tar zxvf httpd-2.2.15.tar.gz
./configure --prefix=/usr/local/apache/ --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 --enable-ssl=static --with-ssl=/usr/local/ssl
grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
sed -i '1i #! /bin/sh\n# chkconfig: 2345 85 15\n# description: Apache is a World Wide Web server.' /etc/init.d/httpd
chmod 755 /etc/init.d/httpd
chkconfig --add httpd
service httpd restart
tar xvzf neon-0.28.4.tar.gz
./configure --with-ssl
tar zxvf subversion-1.6.11.tar.gz
cd subversion-1.6.11
./configure --prefix=/usr/local/svn --with-neon=/usr/local/
ln -s /usr/local/svn/bin/svn /usr/bin/svn
ln -s /usr/local/svn/bin/svnadmin /usr/bin/admin
vi /usr/local/apache/conf/httpd.conf
添加:
<Location /svn>
DAV svn
SVNParentPath /usr/local/svn/repos
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/svn/passwd
AuthzSVNAccessFile /usr/local/svn/auth
Require valid-user
SSLRequireSSL
</Location>
去掉注釋:Include conf/extra/httpd-ssl.conf
cd /usr/local/apache/conf/
openssl req -new -x509 -nodes -out server.crt -keyout server.key
建立賬戶權限檔案和密碼檔案:
vi /usr/local/svn/auth
[groups]
[test:/]
test = r
testadmin = rw
/usr/local/apache/bin/htpasswd -c /usr/local/svn/passwd testadmin ——>産生賬戶密碼
/usr/local/apache/bin/htpasswd /usr/local/svn/passwd test
添加svn 防火牆
上傳 svn_ip_list 和svn-iptbales.sh 到 qeedoodb下 ,執行 svn-iptables.sh
建立倉庫
建立倉庫目錄 svnadmin create /usr/local/svn/repos/test
建立工作目錄 mkdir -p /svn_update_data/test
手動更新倉庫版本
更新工作目錄 cd /svn_update_data/mh/ && svn update
手動更新檔案
更新倉庫檔案 svn --force add /svn_update_data/test/*
生成新版本 cd /svn_update_data/test/ && svn commit -m "version update by who"
更新工作目錄 cd /svn_update_data/test/ && svn update
生成新版本 cd /svn_update_data/test/ && svn commit -m "version update by testadmin"
用戶端配置:svn (subversion)
./configure --prefix=/usr/local/svn --with-ssl
make &&make install
ln -s /usr/local/svn/bin/svn /usr/bin/
Q&A
1.虛拟機裡的版本是舊的,必須與倉庫同步後才能開服
沒法直接拉倉庫裡的檔案;隻能删除版本 ,然後直接從倉庫拉版本(直接checkout就可以)
2.版本復原(待完善)
svn commit --message "roll back to r10" (送出倉庫)
svn up -r 11 (單機 復原或到指定版本)
3.權限控制,工作目錄與倉庫目錄權限
工作目錄轉移到本地;s66權限設定
4.有些檔案不能import到倉庫
5.怎麼切換倉庫位址
6.怎麼備份svn 倉庫
svnadmin dump --deltas /usr/local/svn/repos/test |bzip2 > dump.bz2
7.怎麼恢複svn備份到新的倉庫
bzcat dump.bz2 | svnadmin load /usr/local/svn/repos/test
8.convmv -f GBK -t utf8 -r ./ --notest
9.怎麼改變檔案的可執行權限
svn propset svn:executable on iFuncity
本文轉自 holy2009 51CTO部落格,原文連結:http://blog.51cto.com/holy2010/684433