centos下svn安裝配置2種方法詳解

來源:互聯網
上載者:User

svn安裝一

1.首先下載subversion安裝包之後解壓,進入subversion目錄

wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz
tar xfvz subversion-1.6.6.tar.gz
tar xfvz subversion-deps-1.6.6.tar.gz
cd subversion-1.6.6
2.編譯檔案

首先檢測系統有沒有安裝SSL:

find / -name opensslv.h
如果找不到,就執行如下命令進行安裝:

yum install openssl yum install openssl-devel
安裝之後用find / -name opensslv.h命令找到opensslv.h所在的目錄,即下列–with-openssl=後面的路徑,
運行編譯:

./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db
3.進行安裝

先執行以下操作:
(1)、編輯ld.so.conf檔案:

vi /etc/ld.so.conf
添加下面一行:

/usr/local/lib
(2)、儲存後運行ldconfig:

/sbin/ldconfig
make && make install
(3)安裝完成,執行以下命令測試:

/usr/local/svn/bin/svnserve --version
為了方便下操作,下面將SVN的BIN添加到PATH:

vi /etc/profile
倒數第二行添加:

PATH=/usr/local/svn/bin:$PATH
儲存後,使其立即生效:

source /etc/profile
4.配置svn
建立版本庫目錄,可建多個:

mkdir -p /home/svndata/repos
建立版本庫:

svnadmin create /home/svndata/repos
修改版本庫設定檔:

vi /home/svndata/repos/conf/svnserve.conf
[general]
anon-access = read
auth-access = write
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = repos

其他的注釋可以刪除掉

5.建立密碼檔案和認證檔案

在/usr/local/svn/下面建立conf檔案

並再/usr/local/svn/檔案內建立passwd.conf和authz.conf檔案:

cd /usr/local/svn/
mkdir conf
touch passwd.conf
touch authz.conf
添加使用者及密碼:

vi /usr/local/svn/conf/passwd.conf
添加如下代碼並儲存:

[users]
clvalueDQ = 123456
svn       = 1234567
配置svn使用者存取權限:

vi /usr/local/svn/conf/authz.conf
[groups]
admin=wll,svn
[/]
@admin = rw
[repos:/]
@admin=rw

svn配置完畢。

建立啟動svn的使用者:

useradd svn passwd svn
根據提示,為使用者svn設定密碼。
允許使用者svn訪問版本庫:

chown -R svn:svn /home/svndata
啟動svn:

如果報錯

svnserve: 不能綁定伺服器通訊端: 地址已在使用

則先殺死進程

killall svnserve

再啟動

svnserve -d –listen-port 9999 -r /home/svndata

 

6.將svn加入到開機啟動

編輯rc.local檔案:

vi /etc/rc.d/rc.local
加入如下啟動命令:

/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /home/svndata
 

7.串連SVN
安裝TortoiseSVN,重啟系統。
啟動TortoiseSVN並在地址欄中輸入svn://192.168.x.x:9999/repos
根據提示輸入使用者名稱與密碼後就可以使用版本控制啦。

你可以在本地瀏覽器中輸入網址192.168.x.x:9999/repos

顯示

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops depth log-revprops partial-replay ) ) )
 

8.開啟許可權驗證

svn co svn://192.168.3.109/repos –username wll –password 123456

顯示:

 

———————————————————————–
ATTENTION! Your password for authentication realm:

<svn://192.168.3.109:3690> repos

can only be stored to disk unencrypted! You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible. See the documentation for details.

You can avoid future appearances of this warning by setting the value
of the ‘store-plaintext-passwords’ option to either ‘yes’ or ‘no’ in
‘/root/.subversion/servers’.
———————————————————————–
儲存未加密的密碼(yes/no)?

選擇yes

 

9。註:

常見錯誤

(1).報錯無法串連顯示“ 目標機器積極拒絕”,主要是防火牆的緣故

需要開啟 9999連接埠 編輯iptables

 

vi /etc/sysconfig/iptables

 

# Generated by iptables-save v1.4.7 on Tue Jul 23 09:58:01 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2:80]
-A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 9999 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Jul 23 09:58:01 2013

儲存後重啟防火牆
[root@localhost conf]# service iptables restart

 

(2)出現 svn: Invalid authz configuration 或者 svn: 認證功能失敗

此處多為authz.conf檔案的錯誤和svnserve.conf 檔案的錯誤

vi /usr/local/svn/conf/authz.conf
[groups]
admin=wll,svn
[/] #不要有空格
@admin = rw
[repos:/]
@admin=rw

 

vi /home/svndata/repos/conf/svnserve.conf

[general]
anon-access = read#不要有空格
auth-access = write#不要有空格
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = repos

 

格式儲存好後 在認證

svn co svn://192.168.3.109:9999/repos

依次 輸入密碼

 
svn安裝二

一、下載相關軟體

wget http://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.1.tar.gz
二、安裝及配置

1、解壓:(要在同一個目錄下)

tar -zxvf subversion-1.6.1.tar.gz
tar -zxvf subversion-deps-1.6.1.tar.gz
2、編譯安裝:

./configure --prefix=/usr/local/svn/
make && make install
3、把SVN相關命令路徑添加到環境變數

echo "export PATH=$PATH:/usr/local/svn/bin/" >> /etc/profile
source /etc/profile
三、建立測試倉庫

1、建立SVN的根目錄

mkdir -p /opt/svn/
2、建立一個測試倉庫

mkdir -p /opt/svn/svntest/
svnadmin create /opt/svn/svntest/
3、修改設定檔
在cd /opt/svn/svntest/conf/目錄下有三個檔案:
svnserve.conf 是svn的設定檔
authz 是設定使用者權限的設定檔(可自訂檔案名稱,在svnserve.conf的authz-db = authz中指定)
passwd 是設定使用者名稱和密碼的設定檔(可自訂檔案名稱,在svnserve.conf的password-db = passwd中指定)

vi svnserve.conf
修改如下:
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
==================================================================

vi authz
修改如下:
[svntest:/]
92csz.com = rw
#給svntest倉庫添加一個名稱為92csz.com的使用者,許可權為可寫。
==================================================================

vi passwd
修改如下:
92csz.com = 123456
#由於是測試,密碼設定為123456
四、在客戶機安裝svn用戶端

1、下載地址:

http://code.google.com/p/rails4scm/downloads/detail?name=tortoisewin32svn.msi

2、下載完成後,直接next安裝即可,安裝完成後需要重啟生效。
五、啟動伺服器及測試

1、啟SVN服務,並指定SVN的根目錄:

svnserve -d -r /opt/svn/
2、檢查服務是否已經正常起來:

netstat -tunlp | grep svn
結果如下,則表示正常監聽3690連接埠
tcp 000.0.0.0:36900.0.0.0:*                   LISTEN 8646/svnserve
3、測試

在案頭上建立一個名稱為svntest的目錄,在此目錄上點擊右鍵,選擇Checkout,在首行填寫svn伺服器的IP地址及倉庫名稱

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.