Linux下SVN+Apache簡要安裝記錄

      網上有資料,但總有些許問題,因此自己記錄下來。

 

有些雜湊,但基本解決了所有問題,其他的可參見參考網頁(見後,本文結構從網頁1中梳理而來)

 

一、下載安裝APACHE2,安裝文件能到官方網站
http:/www.apache.org
下載.
tar xvzf httd-2.2.16.tar.gz
cd httpd-2.2.16
/安裝APR和APR-UTIL
cd srclib/apr
./buildconf
./configure --prefix=/opt/svn/data/apr
make && make install
cd ../apr-util
./buildconf
./configure --prefix=/opt/svn/data/apr --with-apr=/opt/svn/data/apr
make && make install
cd ../..
./configure --enable-dav --prefix=/opt/svn/data/apache2 --with-apr=/opt/svn/data/apr --with-apr-util=/opt/svn/data/apr --enable-so --enable-rewrite
make && make install
二、安裝subversion
1。編譯安裝,安裝文件能到官方網站
http:/www.subversion.org.cn
下載.
tar zvxf subversion-1.6.12.tar.gz
tar zvxf subversion-deps-1.6.12.tar.gz
cd ./subversion-1.6.12
./configure --prefix=/opt/svn/data/subversion --with-apr=/opt/svn/data/apr --with-apr-util=/opt/svn/data/apr --with-apxs=/opt/svn/data/apache2/bin/apxs
make && make install
    編譯完成後會自動在 apache2/conf/httpd.conf 添加
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

2。創建一個subversion版本庫
mkdir -p /opt/svn/data/svn
/opt/svn/data/subversion/bin/svnadmin create /opt/svn/data/svn/MyProject
mkdir /opt/svn/data/svn/access
mkdir /opt/svn/data/svn/root1
mkdir /opt/svn/data/svn/root2
3。修改svn版本庫的設置文件
vi /opt/svn/data/svn/MyProject/conf/svnserve.conf
將[general]一行前面的"#"去掉,並且不能有空格符號。
4。創建apache的認證用戶和認證組
/opt/svn/data/apache2/bin/htpasswd -cb /opt/svn/data/svn/access/http_auth_userfile admin admin
/opt/svn/data/apache2/bin/htpasswd -b /opt/svn/data/svn/access/http_auth_userfile user01 user01
/opt/svn/data/apache2/bin/htpasswd -b /opt/svn/data/svn/access/http_auth_userfile user02 user02
5。編輯subversion版本庫權限控制文件
   $> vi /opt/svn/data/svn/access/svn_auth_groups
##subversion版本庫組權限控制
#
[groups]
MyProjects = user01,admin,user02
[/]
admin = rw
[root1:/]
usersgroup01 = rw
usersgroup02 = r
[root2:/]
usersgroup01 = r
usersgroup02 = rw
$> vi /opt/svn/data/svn/access/http_auth_groupfile
sys-users: liuliu
tech-users: you
6。修改文件訪問權限
chown -R nobody /opt/svn/data/svn
chmod -R 777 /opt/svn/data/svn
三、在apache2的httpd.conf中加入以下代碼:
<Location /svn>

   DAV svn
   SVNParentPath /opt/svn/data/svn
   # our access control policy
   AuthzSVNAccessFile /opt/svn/data/svn/access/svn_auth_groups
   # how to authenticate a user or group
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /opt/svn/data/svn/access/http_auth_userfile
   AuthGroupFile /opt/svn/data/svn/access/http_auth_groupfile
   Require group usersgroup01 usersgroup02
</Location>

四、啓動subversion服務器
/opt/svn/data/subversion/bin/svnserve -d -r /opt/svn/data/svn
五、檢查權限設置是否正確:
能在瀏覽器的地址欄裏直接輸入http:/ip/svn/地址/版本庫路徑,會彈出一個驗證窗口。
六,導入版本庫和取得一個版本庫的拷貝
svn import /opt/svn/data/sysadmin/README.txt http:/ip/svn/MyProject  (-m "initial import"? 注:我是直接用TortoiseSVN和eclipse插件訪問的)
備份以前的SVN庫

#svnadmin dump /data/svn/repos/MyProject/ > /root/tony.tang

把備份出來的數據恢復到本地

#svnadmin load /data/svn/repos/MyProject/ < /home/tony.tang

 

參考資料:

http://www.sudu.cn/info/html/edu/20060102/295979.html (lost and something wrong)

http://blog.csdn.net/leishiwei/archive/2009/11/27/4888837.aspx(good but somehow complex)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章