SVN Server 安裝(Linux)

linux redhat下安裝svn:

1.先卸載老版本的svn

如果rpm -e subversion 不能卸載的話,用以下命令:

rpm -e --allmatches subversion

(subversion的1.6版本無需在單獨下載下面的包,可以直接下載subversion1.6.12-deps.tar.gz)

然後先解壓subversion-1.6.12.tar.gz,再解壓subversion1.6.12-deps.tar.gz

2.下載32/64位的安裝包,直接安裝即可,我的系統是redhat 64位

tar zxvf apr-1.3.8.tar.gz

./configure --prefix=/usr/local/apr

make && make install

tar zxvf apr-util-1.3.4.tar.gz

./configure --with-apr=/usr/local/apr/

make && make install

tar zxvf subversion-1.5.5.tar.gz

./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr

./configure --prefix=/usr/local/svn

make && make install

注意:如果這個時候提示你lib.so之類的東西,那就是沒有找到那個包,此時你需要做的是在/etc/ld.so.conf

3.mkdir /data/svn

4.進入/data/svn/ 執行svnadmin create repos

5.svnserve -d -r /data/svn

6.修改/data/svn/repos/conf/svnserve.conf,把下面三行的註釋去掉

1.anon-access = none

2.auth-access = write  

3.password-db = passwd 

4.authz-db = authz

7.修改/data/svn/repos/conf/passwd,添加用戶和密碼

1.shanshan = shanshan

2.jiafei = jiafei

8.導入project

1.svn import -m "Import rails project hilog" /data/soft file:///data/svn/repos/project

svn co svn://IP/repos/project

9.如果不能正常訪問需要關閉服務器的防火牆:/etc/init.d/iptables stop

還需修改/etc/selinux/config 文件的SELINUX=enforcing 修改爲SELINUX=disabled

如果以上方法不能正確創建SVN,可是試試以下的方法:

1)安裝Apache Apr

 wget http://apache.mirror.phpchina.com/apr/apr-1.3.3.tar.gz

 tar -zxvf apr-1.3.3.tar.gz

 cd apr-1.3.3

 ./configure --prefix=/usr/local/apr

 make

 make install

2) 安裝Apache Apr Util

 wget http://apache.mirror.phpchina.com/apr/apr-util-1.3.4.tar.gz

 tar -zxvf apr-util-1.3.4.tar.gz

 cd apr-util-1.3.4

 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

 make

 make install


3)安裝Apache Httpd


 wget http://labs.xiaonei.com/apache-mirror/httpd/httpd-2.2.11.tar.gz


 tar -zxvf httpd-2.2.11.tar.gz


 cd httpd-2.2.11

 ./configure --prefix=/usr/local/apache2.2 --with-apr=/usr/local/apr --with-apr-  util=/usr/local/apr-util --enable-dav    

 make

 make install

4)安裝subversion

 wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz

 tar -zxvf subversion-1.6.0.tar.gz

 cd subversion-1.6.0

 ./configure --prefix=/usr/local/subversion1.6 --with-apr=/usr/local/apr/ --with-apr-  util=/usr/local/apr-util --with-apxs=/usr/local/apache2.2/bin/apxs


說明:如果configure無法通過,出現沒有找到sqlite3.c沒有找到的錯誤,那麼需要下載sqlite-amalgamation,設置如下

            mkdir subversion-1.6.0/sqlite-amalgamation

            wget http://www.sqlite.org/sqlite-amalgamation-3.6.11.tar.gz

            tar -zxvf sqlite-amalgamation-3.6.11.tar.gz

            cp sqlite-3.6.11/* subversion-1.6.0/sqlite-amalgamation/

            然後重新configure即可

           】

 make

 make install


如果編譯成功,那麼在/usr/local/apache2.2/modules下會出現mod_dav_svn.so 和 mod_authz_svn.so 模塊。

安裝過程結束。以下是配置svn和apache,配置過程如下

1)創建svn用戶

groupadd svn

useradd -g svn svn

以後代碼庫的創建維護等,都用這個帳戶來操作。

2)創建版本庫

  切換用戶

  su - svn

  編輯.bash_profile

  加上一下配置

   SVN_HOME=/usr/local/subversion

   export SVN_HOME

   PATH=$SVN_HOME/bin:$PATH

   export PATH

   export LC_ALL=C

   創建版本庫:

   svnadmin create --fs-type fsfs testprojects

   此時,在/home/svn/testprojects下出現以下文件,如下:

   conf/ db/ format hooks/ locks/ README.txt

   創建啓動Subversion的腳本:

   echo '/usr/local/subversion/bin/svnserve -d -r /home/svn/' > start_svn.sh

   chmod +x start_svn.sh

   ./start_svn.sh

  將啓動腳本放置到開機自動啓動腳本中:

  以root身份修改文件:/etc/rc.d/rc.local,添加以下文字:

  su -c /home/svn/start_svn.sh svn

3)創建一個項目

  切換到svn用戶

  su - svn

  新建一個項目,假設爲mytest

  mkdir /home/svn/mytest

  在此文件夾下新建三個子目錄

  mkdir /home/svn/mytest/trunk

  mkdir /home/svn/mytest/branches

  mkdir /home/svn/mytest/tags

  說明,以上3個目錄並不是svn必須的,但是隻是一個習慣,詳細說明見:http://www.subversion.org.cn/svnbook/nightly/svnbook.html#svn.intro.install

  將此目錄導入到版本庫中:

  svn import /home/svn/mytest file:///home/svn/myprojects -m "initial import"

  可以通過svn協議:svn://192.168.0.10/myprojects/trunk來對此項目進行操作。

4)設置myprojects訪問的用戶名和密碼

   編輯文件/home/svn/myprojects/conf/passwd文件

   在[users] 按照一下格式設置用戶名和密碼:

   用戶名1=密碼1

   用戶名2=密碼2

   例如test=test,表示用戶名是test,密碼也是test

   編輯文件/home/svn/myprojects/conf/svnserve.conf

   加上幾行配置:

   anon-access = none

   auth-access = write

   password-db = passwd

   authz-db = authz

   注意,此幾行配置所在行第一個字母錢不能有任何空格,否則會出現類似svnserve.conf:12: Option expected 這樣的錯誤

   保存退出,然後重啓svn server即可。

   可以使用svn client來測試是否能commit和update

5)配置apache,以便支持svn支持http協議

   vi /usr/local/apache2.2/conf/httpd.conf

   檢查svn Web DAV是否加載

      LoadModule dav_svn_module     modules/mod_dav_svn.so

      LoadModule authz_svn_module   modules/mod_authz_svn.so

修改啓動httpd的默認用戶爲svn

       User svn

       Group svn

配置虛擬主機:

    去掉Include conf/extra/httpd-vhosts.conf前面的註釋

    編輯httpd-vhosts.conf

    vi /usr/local/apache2.2/conf/extra/httpd-vhosts.conf

    ServerAdmin [email protected]

    ServerName 192.168.0.10

    ErrorLog logs/svn_error_log

    CustomLog logs/svn_access_log common

       DAV svn

       SVNListParentPath on

       SVNParentPath /home/svn

 保存退出。


啓動Apache,/usr/local/apache2.2/bin/apachectl start


輸入url:http://192.168.0.10/myprojects可以查看svn庫的文件。


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