日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CentOS 5.5下搭建部署独立SVN服务器全程详解

發布時間:2023/12/9 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS 5.5下搭建部署独立SVN服务器全程详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SVN服務器有2種運行方式:
1、獨立服務器 (例如:svn://xxx.com/xxx);
2、借助apache?? (例如http://svn.xxx.com/xxx);
為了不依賴apache,我選擇第一種方式:獨立的svn服務器。
SVN存儲版本數據也有2種方式:
1、bdb;
2、fsfs。
由于bdb方式在服務器中斷時,有可能鎖住數據,所以還是fsfs方式更安全一點,我也選擇這種方式。
具體部署:
1.下載subversion安裝包

[root@server ~]# cd /usr/local/src
[root@server src]# ls
[root@server src]#
wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz
[root@server src]# wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz

[root@server src]# tar xfvz subversion-1.6.6.tar.gz
[root@server src]# tar xfvz subversion-deps-1.6.6.tar.gz
[root@server src]# cd subversion-1.6.6
[root@server subversion-1.6.6]#

2.編譯SVN
首先檢測系統有沒有安裝SSL:
[root@server subversion-1.6.6]# find / -name opensslv.h
[root@server subversion-1.6.6]#
找不到,就執行如下命令進行安裝:
[root@server subversion-1.6.6]# yum install openssl
[root@server subversion-1.6.6]# yum install openssl-devel
?
安裝之后用find / -name opensslv.h命令找到opensslv.h所在的目錄,即下列--with-openssl=后面的路徑,編譯:
[root@server subversion-1.6.6]# find / -name opensslv.h
/usr/include/openssl/opensslv.h

[root@server subversion-1.6.6]# ./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db
注:以svnserve方式運行,不加apache編譯參數。以fsfs格式存儲版本庫,不編譯berkeley-db。
此時編譯報如下錯誤:
configure: WARNING: unrecognized options: --with-openssl
configure: Configuring Subversion 1.6.6
configure: creating config.nice
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/usr/local/src/subversion-1.6.6':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
說明沒有安裝gcc相關庫,使用如下命令安裝gcc后再編譯:
[root@server subversion-1.6.6]# yum -y install gcc
[root@server subversion-1.6.6]#?./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db
?
最后出現下面WARNING,直接忽略即可,因為不使用BDB存儲。
configure: WARNING: we have configured without BDB filesystem support
You don't seem to have Berkeley DB version 4.0.14 or newer
installed and linked to APR-UTIL. We have created Makefiles which
will build without the Berkeley DB back-end; your repositories will
use FSFS as the default back-end. You can find the latest version of
Berkeley DB here:
http://www.sleepycat.com/download/index.shtml?
3.安裝SVN
為避免出現以下錯誤
error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
先執行以下操作:
1)、編輯/etc/ld.so.conf文件,添加下面一行:
/usr/local/lib
2)、保存后運行ldconfig:
/sbin/ldconfig

注:ld.so.conf和ldconfig用于維護系統動態鏈接庫。
安裝

[root@server subversion-1.6.6]#?make && make install

安裝完成,執行以下命令測試:

[root@server subversion-1.6.6]#?/usr/local/svn/bin/svnserve --version

svnserve,版本 1.6.6 (r40053)
?? 編譯于 Feb 15 2012,22:15:26

版權所有 (C) 2000-2009 CollabNet。
Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。
此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。

下列版本庫后端(FS) 模塊可用:

* fs_fs : 模塊與文本文件(FSFS)版本庫一起工作。

為了方便下操作,下面將SVN的BIN添加到PATH,編輯/etc/profile,添加:

PATH=/usr/local/svn/bin:$PATH
保存后,使其立即生效:
source /etc/profile
4.配置SVN
建立版本庫目錄,可建多個:

[root@server ~]# mkdir -p /home/svndata/repos?????? #建立版本庫
[root@server ~]# /usr/local/svn/bin/svnadmin create /home/svndata/repos???????#修改版本庫配置文件?

編輯/home/svndata/repos/conf/svnserve.conf,內容修改為:
[general]
anon-access = none
auth-access = write
password-db = /usr/local/svn/conf/passwd.conf
authz-db = /usr/local/svn/conf/authz.conf
realm = repos?
注意:對用戶配置文件的修改立即生效,不必重啟svn。
在/usr/local/svn/下面新建conf目錄,并在/usr/local/svn/conf內新建passwd.conf和authz.conf文件:

mkdir conf
cd conf/

touch passwd.conf
touch authz.conf

添加用戶及密碼:

[root@server ~]# useradd wll
[root@server ~]# passwd wll

編輯/usr/local/svn/conf/passwd.conf,添加如下代碼并保存:
[users]
wll = 123456
配置svn用戶訪問權限,編輯usr/local/svn/conf/authz.conf,添加如下代碼并保存:

[groups]
admin = wll
[/]
@admin = rw
# [repos:/abc/aaa]
# king = rw
# [repos:/pass]
# king =svn

注意:
* 權限配置文件中出現的用戶名必須已在用戶配置文件中定義。
* 對權限配置文件的修改立即生效,不必重啟svn。
用戶組格式:
[groups]
= ,
其中,1個用戶組可以包含1個或多個用戶,用戶間以逗號分隔。
版本庫目錄格式:
[<版本庫>:/項目/目錄]
@<用戶組名> = <權限>
<用戶名> = <權限>
其中,方框號內部分可以有多種寫法:
[/],表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定為/home/svndata,[/]就是表示對全部版本庫設置權限。
[repos:/] 表示對版本庫repos設置權限;
[repos:/abc] 表示對版本庫repos中的abc項目設置權限;
[repos:/abc/aaa] 表示對版本庫repos中的abc項目的aaa目錄設置權限;
權限主體可以是用戶組、用戶或*,用戶組在前面加@,*表示全部用戶。
權限可以是w、r、wr和空,空表示沒有任何權限。

建立啟動svn的用戶:??
[root@server ~]# useradd svn
[root@server ~]# passwd svn
允許用戶svn訪問版本庫:
[root@server ~]# chown -R svn:svn /home/svndata?
啟動svn:

[root@server ~]# su - svn -c "svnserve -d --listen-port 9999 -r /home/svndata"

其中:
su - svn :表示以用戶svn的身份啟動svn;
-d :表示以daemon方式(后臺運行)運行;
--listen-port 9999 :表示使用9999端口,可以換成你需要的端口。但注意,使用1024以下的端口需要root權限;
-r /home/svndata :指定根目錄是/home/svndata。

5.將svn加入到開機啟動
編輯/etc/rc.d/rc.local文件,加入如下啟動命令:
/usr/local/svn/bin/svnserve -d --listen-port 9999 -r /home/svndata
如果想停止svn,則使用如下命令:
killall svnserve
如果想將svn作為服務,在/etc/rc.d/init.d/目錄下新建名為svn的文件并設置權限為755,并添加如下代碼:
#!/bin/bash
# build this file in /etc/rc.d/init.d/svn
# chmod 755 /etc/rc.d/init.d/svn
# centos下可以用如下命令管理svn: service svn start(restart/stop)
SVN_HOME=/home/svndata
if [ ! -f "/usr/local/svn/bin/svnserve" ]
then
??? echo "svnserver startup: cannot start"
??? exit
fi
case "$1" in
??? start)
??????? echo "Starting svnserve..."
??????? /usr/local/svn/bin/svnserve -d --listen-port 9999 -r $SVN_HOME
??????? echo "Finished!"
??????? ;;
??? stop)
??????? echo "Stoping svnserve..."
??????? killall svnserve
??????? echo "Finished!"
??????? ;;
??? restart)
??????? $0 stop
??????? $0 start
??????? ;;
??? *)
??????? echo "Usage: svn { start | stop | restart } "
??????? exit 1
esac?
6.連接SVN
安裝TortoiseSVN,重啟系統。啟動TortoiseSVN并在地址欄中輸入

svn://192.168.1.87:9999/repos

根據提示輸入用戶名與密碼后就可以

總結

以上是生活随笔為你收集整理的CentOS 5.5下搭建部署独立SVN服务器全程详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。