成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

linux下svn的安裝和配置

《linux 下svn 的安裝和配置》一、相關(guān)的幾個(gè)安裝包Apr : apr-1.3.8.tar.gz 和 apr-util-1.3.9.tar.gzApache : httpd-2.2.13.tar

《linux 下svn 的安裝和配置》

一、相關(guān)的幾個(gè)安裝包

Apr : apr-1.3.8.tar.gz 和 apr-util-1.3.9.tar.gz

Apache : httpd-2.2.13.tar.gz

Subversion: subversion-1.5.6.tar.gz 和 subversion-deps-1.5.6tar.gz *說明: SVN 依賴的APR 版本要正確。

Apache 為2.0.x ,對(duì)應(yīng)的APR 版本應(yīng)為0.9.x ;

Apache 為2.2.x ,對(duì)應(yīng)的APR 版本應(yīng)為1.2.x 。

二、 安裝步驟

1. 安裝apr-1.3.8.tar.gz

# tar –zvxf apr-1.3.8.tar.gz (解壓)

# cd apr-1.3.8 (進(jìn)入apr…所在的目錄)

# ./configure (安裝不指定路徑時(shí) 默認(rèn)安裝到/usr/local/apr) # make ; # make install (安裝)

2. 安裝 apr-util-1.3.9.tar.gz

# tar –zvxf apr-util-1.3.9.tar.gz

# cd apr-util-1.3.9

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

# make ; # make install

3. 安裝httpd-2.2.13.tar.gz

# tar xzvf httpd-2.2.6.tar.gz

# cd httpd-2.2.6

# ./configure --prefix=/usr/local/apache2

--enable-dav

--enable-modules=so

--enable-maintainer-mode

--enable-rewrite

--with-apr=/usr/local/apr/bin/apr-1-config

--with-apr-util=/usr/local/apr/bin/apu-1-config

# make # make install

,

安裝之后重新啟動(dòng)apache 服務(wù):# /usr/local/apache2/bin/apachectl –k start / restart * apache的默認(rèn)端口為80(更改端口號(hào):/etc/…/)

4. 安裝subversion

# tar –zvxf subversion-1.5.6.tar.gz

# tar –zvxf subversion-deps-1.5.6.tar.gz (這兩個(gè)自動(dòng)解壓成一個(gè)包 subversion-1.5.6) # cd subversion-1.5.6

(如果linux 系統(tǒng)上已經(jīng)裝有apr 或者apr-util ,移除 apr 存在的版本,

subversion 解壓 后的文件里有apr 相關(guān)的文件,需要移除)

# rm –rf apr

# rm -rf apr-util

說明:由于subversion-deps 包里的APR 是0.9.x 的,

因此編譯svn 時(shí)要?jiǎng)h除從deps 里解壓出來的apr, apr-util,改而使用apache 2.2里提供的

# cd subversion-1.5.6

#./configure

--with-apxs=/usr/local/apache2/bin/apxs

--prefix=/usr/local/svn

--with-apr=/usr/local/apr/bin/apr-1-config

--with-apr-util=/usr/local/apr/bin/apu-1-config

--with-ssl

--with-zlib

--enable-maintainer-mode

#make ; #make install

(如果apache 不是安裝在默認(rèn)路徑,configure 必須加上--with-apxs 選項(xiàng), 如:./configure

--with-apxs=/usr/local/apache2/bin/apxs)

* configure可能存在的問題及解決方法

1. configure: error: could not find library containing RSA_new

-- yum install openssl-devel

2. configure: error: no XML parser was found: expat or libxml 2.x required

-- yum install expat-devel

3. configure: error: --with-zlib requires an argument.

-- 去掉此選項(xiàng)。

(如果: 執(zhí)行了configure,make 后 make install時(shí)出錯(cuò):

/bin/sh /usr/local/httpd-2.2.3/srclib/apr/libtool --mode=install /usr/bin/install -c -m 755 libaprutil-1.la /usr/local/apache2/lib

,

libtool: install: error: cannot install `libaprutil-1.la' to a directory not ending in /usr/local/apache22/lib

make[2]: *** [install] Error 1

則在./configure 后

make clean

make

make install

確定一下svn 有沒有安裝成功

# /usr/local/svn/bin/svnserve --version

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

看到下面兩個(gè)模塊說明安裝成功

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

5. 開始建立版本庫

/usr/local/svn/bin/svnadmin create /svn/project/www (創(chuàng)建倉(cāng)庫"www" )

ls /svn/project/www (查看有沒有創(chuàng)建好, 如果多了一些文件則說明版本庫已經(jīng)創(chuàng)建好) (如果出現(xiàn)“無法創(chuàng)建頂級(jí)目錄”的錯(cuò)誤,請(qǐng)先

cd /

mkdir svn

)

導(dǎo)入項(xiàng)目文件到版本庫

/usr/local/svn/bin/svn import /home/test file:///svn/project/www -m "init"

這條語句將把路徑/share/www下找到的項(xiàng)目文件導(dǎo)入到你創(chuàng)建的/svn/project/www 倉(cāng)庫中去,提交后的修訂版為1

配置提高svn 版本庫的安全性

chmod –R 700 /svn/project/www (不讓其他人有該目錄的權(quán)限)

注意:直接這么chmod 會(huì)導(dǎo)致svn 客戶端無法訪問, 同時(shí)需要修改apache 配置文件./conf/httpd.conf文件,(如果你的水平不夠高的話, 這一步可以先跳過, 以免給自己找麻煩! 等把服務(wù)完全搞定后再來進(jìn)一步提高安全性) 在httpd.conf 文件中有這么一段內(nèi)容: User daemon

Group daemon

,

把上述內(nèi)容改成:

User apache

Group apache

(我的系統(tǒng)在安裝apache 的時(shí)候, 自動(dòng)增加了apache 用戶和apache 組, 如果你系統(tǒng)沒有這個(gè)用戶和組, 則請(qǐng)自己添加該用戶和組)

修改svn 倉(cāng)庫的所有者

chown -R apache:apache /svn/project

6. Apache配置:

配置步驟

1 單資源庫,如果打算只建立一個(gè)資源庫,用這種方式。打開命令提示符,輸入svnadmin create E:ResourcesSVNRepositories?A,回車。其中

E:ResourcesSVNRepositories?A為你的資源庫路徑。

2 多資源庫,如果要?jiǎng)?chuàng)建多個(gè)資源庫,用這種方式。打開命令提示符,輸入svnadmin create E:ResourcesSVNRepositories?A,回車;輸入三vsndmin

create E:ResourcesSVNRepositories?B,回車...

首先應(yīng)保證Apache 能正常運(yùn)行。將SVN 根目錄的bin 目錄下的mod_dav_svn.so和 mod_authz_svn.so兩個(gè)文件拷貝到Apache 根目錄下的modules 目錄下;

打開Apache 配置文件httpd.conf ,找到

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

將前面的#去掉,并添加兩行:

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so

在文件末尾加上

如果是單資源庫:

DAV svn

SVNPath E:¥Resources¥SVN¥Repositories

AuthType Basic

AuthName "Subversion Reporsitory"

,

AuthUserFile E:¥Resources¥SVN¥conf¥passwd

AuthzSVNAccessFile E:¥Resources¥SVN¥conf¥authz

Require valid-user

如果是多資源庫:

DAV svn

SVNListParentPath on

SVNParentPath E:¥Resources¥SVN¥Repositories

AuthType Basic

AuthName "Subversion Reporsitory"

AuthUserFile E:¥Resources¥SVN¥conf¥passwd

AuthzSVNAccessFile E:¥Resources¥SVN¥conf¥authz

Require valid-user

( 其中:是指SVN 服務(wù)的實(shí)例路徑,需要用的方式才可以訪問;E:¥Resources¥SVN¥Repositories 是資源庫主目錄;E:¥Resources¥SVN¥conf 是存放用戶文件和權(quán)限文件的目錄;E:¥Resources¥SVN¥conf¥passwd 就是存放用戶信息的文件,它是一個(gè)沒有后綴的文件,用Apache 的htpasswd.exe 來維護(hù),負(fù)責(zé)將用戶的密碼用MD5加密成暗文;E:¥Resources¥SVN¥conf¥authz 就是存放訪問權(quán)限的文件,它也是一個(gè)沒有后綴的文本文件可以用文本工具直接編輯;AuthType Basic是認(rèn)證類型,此處采用基本類型,即采用用戶名 密碼的方式;AuthName "Subversion Reporsitory"是指認(rèn)證時(shí)代表示,起到提示作用;Require valid-user表示SVN 必須提供用戶和密碼才可以訪問,不能匿名登錄

重啟Apache ,查看Apache Service Monitor狀態(tài)欄是否包含“SVN/1.6.0 DAV/2”字樣。在瀏覽器中輸入http://******/svn/(其中******為你的主機(jī)域名地址或者IP 地址),驗(yàn)證配置。)

方法1:配置svn 權(quán)限管理

1). 添加用戶:

# /usr/local/apache/bin/htpasswd –c /svn/passwd user1

第一次設(shè)置用戶時(shí)使用-c 表示新建一個(gè)用戶文件?;剀嚭筝斎胗脩裘艽a,完成對(duì)用戶的增加, 第二次添加用戶不需要帶-c 參數(shù)

2). 權(quán)限分配:

vi /svn/auth.conf (進(jìn)入文件auth.conf ,對(duì)其進(jìn)行編輯)

,

[groups]

Admin=usr1,user2 (這個(gè)表示admin 群組里的成員 user1,user2)

Develop=u1, u2 (這個(gè)表示Develop 群組里的成員 u1,u2)

[www:/] (這表示,倉(cāng)庫www 的根目錄下的訪問權(quán)限)

user1 = rw (www 倉(cāng)庫user1用戶具有讀和寫權(quán)限)

user2 = r ( www 倉(cāng)庫userl 用戶具只有讀權(quán)限)

@develop=rw (這表示 群 develop 的成員都具有讀寫權(quán)限)

[/] (這個(gè)表示在所有倉(cāng)庫的根目錄下)

* = r (這個(gè)表示對(duì)所有的用戶都具有讀權(quán)限)

注意:在編輯authz.conf 文件時(shí),所有行都必須要頂頭寫,否則會(huì)報(bào)錯(cuò)

3). 配置提高svn 版本庫的安全性

chmod –R 700 /svn/project/www (不讓其他人有該目錄的權(quán)限)

注意:直接這么chmod 會(huì)導(dǎo)致svn 客戶端無法訪問, 同時(shí)需要修改apache 配置文件./conf/httpd.conf文件, 在httpd.conf 文件中有這么一段內(nèi)容:

User daemon

Group daemon

把上述內(nèi)容改成:

User apache

Group apache

(我的系統(tǒng)在安裝apache 的時(shí)候, 自動(dòng)增加了apache 用戶和apache 組, 如果你系統(tǒng)沒有這個(gè)用戶和組, 則請(qǐng)自己添加該用戶和組)

修改svn 倉(cāng)庫的所有者

chown -R apache:apache /svn/project

方法2:配置svn 權(quán)限管理(即authz.conf 的配置)

1. 添加用戶:

/usr/local/apache/bin/htpasswd –c /svn/passwd user1

第一次設(shè)置用戶時(shí)使用-c 表示新建一個(gè)用戶文件?;剀嚭筝斎胗脩裘艽a,完成對(duì)用戶的增加,第二次添加用戶不需要帶-c 參數(shù)

2. 權(quán)限分配:

vi /svn/auth.conf (進(jìn)入文件auth.conf ,對(duì)其進(jìn)行編輯)

,

[groups]

Admin=usr1,user2 (這個(gè)表示admin 群組里的成員 user1,user2)

Develop=u1, u2 (這個(gè)表示Develop 群組里的成員 u1,u2)

[www:/] (這表示,倉(cāng)庫www 的根目錄下的訪問權(quán)限)

user1 = rw (www 倉(cāng)庫user1用戶具有讀和寫權(quán)限)

user2 = r ( www 倉(cāng)庫userl 用戶具只有讀權(quán)限)

@develop=rw (這表示 群 develop 的成員都具有讀寫權(quán)限)

[/] (這個(gè)表示在所有倉(cāng)庫的根目錄下)

* = r (這個(gè)表示對(duì)所有的用戶都具有讀權(quán)限)

注意:在編輯authz.conf 文件時(shí),所有行都必須要頂頭寫,否則會(huì)報(bào)錯(cuò)

7、重啟apache 服務(wù)和啟動(dòng)svn 服務(wù)

/usr/local/apache/bin/apachectl –k restart

就可以通過 http://192.168.18.110/svn/project/www 這個(gè)URL 來訪問倉(cāng)庫了,當(dāng)然,受權(quán)限的限制,必須是合法用戶才能訪問且具有相應(yīng)的權(quán)限

客戶端

windows 客戶端用TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi 也許有更高版本,我沒有測(cè)試

Eclipse 插件:software update > url=http://subclipse.tigris.org/update_1.0.x

注意:

如果輸入用戶名密碼后出現(xiàn):

Could not open the request SVN filesystem

請(qǐng)檢查你的/usr/local/apache/conf/httpd.conf 是否正確

如果客戶端出現(xiàn):

org.tigris.subversion.javahl.clientexception ra layer request failed

請(qǐng)檢查你的url.username password

如果系統(tǒng)時(shí)間和現(xiàn)實(shí)時(shí)間相差太大,可能會(huì)導(dǎo)致安裝出問題,修改系統(tǒng)時(shí)間的命令: Date –s (修改linux 系統(tǒng)時(shí)間)

,

訪問過程中出現(xiàn)的兩個(gè)問題:

1. svn: Can?t create directory ?/subversion/main/db/transactions/0-1.txn?: Permission denied

解答:設(shè)置svn 配置庫庫文件夾的權(quán)限(chmod -R 777 /svn/project/www) 2. Error: 服務(wù)器發(fā)送了意外的返回值(403 Forbidden),在響應(yīng) “CHECKOUT” 的請(qǐng)求

[Linux]svn服務(wù)的安裝和啟動(dòng)設(shè)置

在CentOS 系統(tǒng)下,使用以下命令進(jìn)行SVN 服務(wù)的安裝

# yum -y install subversion

安裝完畢后,svnserve 服務(wù)就被添加到了系統(tǒng)的自動(dòng)啟動(dòng)進(jìn)程里面,但是尚未開啟,所以依然無法隨系統(tǒng)自動(dòng)啟動(dòng)服務(wù)。為了安全起見,我們需要修改SVN 服務(wù)端口,及自定義版本庫所在目錄。所以需要對(duì)以下文件進(jìn)行相應(yīng)的修改。

# vi /etc/rc.d/init.d/svnserve

找到以下內(nèi)容

pidfile=${PIDFILE-/var/run/svnserve.pid}

lockfile=${LOCKFILE-/var/lock/subsys/svnserve}

args="--daemon --pid-file=${pidfile} $OPTIONS"

修改為

pidfile=${PIDFILE-/var/run/svnserve.pid}

lockfile=${LOCKFILE-/var/lock/subsys/svnserve}

logfile=/var/log/svnserve.log

args="--daemon --root /storage/repos --listen-port 621 --pid-file=${pidfile} --log-file=${logfile} $OPTIONS"

--root 是版本庫所在的目錄

--listen-port 是SVN 服務(wù)端口號(hào)

--log-file 是SVN 日志文件

修改完成后使用以下命令將自動(dòng)跟隨系統(tǒng)啟動(dòng)功能進(jìn)行激活

# chkconfig svnserve on

也可以使用以下方式進(jìn)行手工操作

# service svnserve start 啟動(dòng)服務(wù)

# service svnserve stop 停止服務(wù)

# service svnserve restart 重啟服務(wù)

標(biāo)簽: