濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > ubuntu下安裝和配置SVN的詳細(xì)方法介紹

ubuntu下安裝和配置SVN的詳細(xì)方法介紹

熱門標(biāo)簽:文德數(shù)慧科技有限公司 企業(yè)電話機(jī)器人靠譜嗎 福州營(yíng)銷電銷機(jī)器人招商 地圖標(biāo)注員騙局 各種地圖標(biāo)注 智能外呼系統(tǒng)的選購(gòu) 地圖標(biāo)注不在現(xiàn)場(chǎng)怎么上傳門頭標(biāo) 400電話申請(qǐng)商客通 河北點(diǎn)撥外呼系統(tǒng)哪家公司做的好

ubuntu安裝和配置SVN

第一步:安裝apache2  libapache2-svn subversion


復(fù)制代碼
代碼如下:

sudo apt-get install apache2
sudo apt-get install subversion
sudo apt-get install libapache2-svn

安裝完后按照提示


復(fù)制代碼
代碼如下:

Run '/etc/init.d/apache2 restart' to activate new configuration!

重啟apache2

第二步:創(chuàng)建SVN庫(kù)和項(xiàng)目


復(fù)制代碼
代碼如下:

sudo mkdir /home/svn //創(chuàng)建SVN庫(kù)
sudo svnadmin create /home/svn/project //創(chuàng)建項(xiàng)目

第三步:創(chuàng)建組并添加成員

sudo addgroup subversion     //創(chuàng)建一個(gè)叫subversion的組為擁有倉(cāng)庫(kù)所在的目錄
系統(tǒng)提示:正在添加組"subversion" (GID 1001)...
完成。
sudo  usermod -G subversion -a www-data   //將自己和“www-data”(Apache 用戶)加入組成員中   
查看:more /etc/group | grep subversion
系統(tǒng)提示:subversion:x:1001:www-data

第四步:修改項(xiàng)目權(quán)限

sudo chown -R root:subversion /home/svn/project
sudo chmod -R g+rws /home/svn/project   //賦予組成員對(duì)所有新加入文件倉(cāng)庫(kù)的文件擁有相應(yīng)的權(quán)限
查看txn-current-lock文件的權(quán)限和用戶以及組信息
 ls -l /home/svn/myproject/db/txn-current-lock
系統(tǒng)提示:-rw-rwSr-- 1 root subversion 0 2011-01-25 17:47  /home/svn/project/db/txn-current-lock

第五步:通過(guò)命令訪問(wèn)庫(kù)

sudo svn co file://lodalhost/home/svn/project   //第一種方法,知道主機(jī)名時(shí)用
sudo svn co file:///home/svn/project    //第二種方法,當(dāng)不確定主機(jī)命時(shí)用,這用的是file:///,三個(gè)斜杠
系統(tǒng)提示:取出版本 0。
己可以取出版本,說(shuō)明SVN服務(wù)器己正常運(yùn)行,下面試從webdav訪問(wèn)

第六步:配置apache2

修改 /etc/apache2/mods-available/dav_svn.conf
sudo vim /etc/apache2/mods-available/dav_svn.conf
加入以下代碼:
================================
Location /svn/project>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "project subversion repository"
AuthUserFile /etc/subversion/passwd
LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
/LimitExcept>
/Location>

如果需要用戶每次登錄時(shí)都進(jìn)行用戶密碼驗(yàn)證,就將LimitExcept GET PROPFIND OPTIONS REPORT>與/LimitExcept>兩行注釋掉   
加入代碼后重啟apache2

第七步:建立/etc/subversion/passwd文件,這個(gè)文件里包含了用戶授權(quán)的詳細(xì)信息

添加用戶
sudo htpasswd -c /etc/subversion/passwd [user_name]                //第一次添加用戶使用參數(shù)“-c”以后再添加就不用了
訪問(wèn)文件倉(cāng)庫(kù)
 svn co http://hostname/svn/project project --username [username]
OK!這次通過(guò)web頁(yè)面訪問(wèn)到版本庫(kù)了,下面試一下導(dǎo)入版本庫(kù)
導(dǎo)入版本庫(kù)
把/var/www/下的內(nèi)容導(dǎo)入版本號(hào)中:
sudo svn  import -m "第一次導(dǎo)入"  /var/www http://192.168.0.5/svn/project
========================================
系統(tǒng)提示:
認(rèn)證領(lǐng)域: http://192.168.0.5:80> myproject subversion repository
“root”的密碼:
認(rèn)證領(lǐng)域: http://192.168.0.5:80> myproject subversion repository
用戶名: test
“test”的密碼:
增加           /var/www/index.html
-----------------------------------------------------------------------
注意!  你的密碼,對(duì)于認(rèn)證域:
   http://192.168.0.5:80> myproject subversion repository
只能明文保存在磁盤上!  如果可能的話,請(qǐng)考慮配置你的系統(tǒng),讓 Subversion
可以保存加密后的密碼。請(qǐng)參閱文檔以獲得詳細(xì)信息。
你可以通過(guò)在“/home/icedot/.subversion/servers”中設(shè)置選項(xiàng)“store-plaintext-passwords”為“yes”或“no”,
來(lái)避免再次出現(xiàn)此警告。
-----------------------------------------------------------------------
保存未加密的密碼(yes/no)?
請(qǐng)輸入 'yes' 或 'no': yes
提交后的版本為 1。
==========================================
最后在windows下通過(guò)TortoiseSVN及web頁(yè)面訪問(wèn),成功。
==========================================
試驗(yàn)過(guò)程中曾經(jīng)出現(xiàn)過(guò)的錯(cuò)誤
檢出版本庫(kù)報(bào)錯(cuò):
sudo svn co http://192.168.0.5/home/svn/project
svn: 方法 OPTIONS 失敗于 “http://192.168.0.5/home/svn/myproject”: 200 OK (http://192.168.0.5)
這個(gè)報(bào)錯(cuò)在網(wǎng)上查了很久,沒什么可借鑒的資料,模糊的覺的可能是說(shuō)用戶名和權(quán)限不對(duì),以待后面確認(rèn)
sudo svn co file://localhost/home/svn/project
svn: 無(wú)法為URL打開ra_local會(huì)話
svn: 無(wú)法打開版本庫(kù)“file://localhost/home/svn/projcet”

1. 安裝SVN


復(fù)制代碼
代碼如下:

  apt-get install subversion

2. 建立svn倉(cāng)庫(kù)

  1). 建立svn目錄:mkdir /home/.svn(使用隱藏目錄)
  2). cd /home/.svn   
  3). mkdir astar
  4). 創(chuàng)建倉(cāng)庫(kù)astar:svnadmin create /home/.svn/astar,執(zhí)行完畢后astar目錄有svnadmin創(chuàng)建的目錄和文件
  5). mkdir test
  6). 創(chuàng)建倉(cāng)庫(kù)test:svnadmin create /home/.svn/test,執(zhí)行完畢后test目錄有svnadmin創(chuàng)建的目錄和文件

3. 配置和管理svn

  1). 每個(gè)倉(cāng)庫(kù)的配置文件在$repos/conf/下,vi svnserve.conf,配置項(xiàng)在[general]下:
    anon-access:匿名用戶的權(quán)限,可以為read,write和none,默認(rèn)值read。不允許匿名用戶訪問(wèn):anon-access = none
    auth-access:認(rèn)證用戶的權(quán)限,可以為read,write和none,默認(rèn)值write。
    password-db:密碼數(shù)據(jù)庫(kù)的路徑,去掉前邊的#
    authz-db:認(rèn)證規(guī)則庫(kù)的路徑,去掉前邊的#。
    注意:這些配置項(xiàng)的行都要頂格,否則會(huì)報(bào)錯(cuò)。修改配置后需要重啟svn才能生效。
  2). 配置passwd文件
    這是每個(gè)用戶的密碼文件,比較簡(jiǎn)單,就是“用戶名=密碼”,采用的是明碼。如allen=111111
  3). 配置authz文件
    1. [groups] section:為了便于管理,可以將一些用戶放到一個(gè)組里邊,比如:owner=allen,ellen
    2. groups下邊的sections表示對(duì)一個(gè)目錄的認(rèn)證規(guī)則,比如對(duì)根目錄的認(rèn)證規(guī)則的section為[/]。設(shè)置單用戶的認(rèn)證規(guī)則時(shí)一個(gè)用戶一行,如:
      [/]   
      allen=rw  #allen對(duì)根目錄的權(quán)限為rw
      ellen=r    #ellen對(duì)根目錄的權(quán)限為r
      如果使用group,需要在group名字前加@,如
      @owner=rw  #group owner中的用戶均為rw,等價(jià)于上邊的兩句話
    啟動(dòng)時(shí)如果從/home/.svn/astar啟動(dòng),/就是astar目錄,用如上方式以astar目錄為根設(shè)置權(quán)限。
    如果從/home/.svn/啟動(dòng),每個(gè)倉(cāng)庫(kù)根還是自己的起始目錄??梢圆捎萌缟戏绞皆O(shè)置astar的權(quán)限,也可以采用如下方式:
      [astar:/]
      @owner=rw
    設(shè)置test的權(quán)限如下:
      [test:/]
      @harry_and_sally = rw
    簡(jiǎn)言之,每個(gè)倉(cāng)庫(kù)的根目錄(/)就是自己的起始目錄;[repos:/]這種方式只適用于多倉(cāng)庫(kù)的情況;[/]適合于單倉(cāng)庫(kù)和單倉(cāng)庫(kù)的方式。
    3. 不能跨越倉(cāng)庫(kù)設(shè)置權(quán)限。

4. 啟動(dòng)和停止svn   

  1). 啟動(dòng):
    1. 從astar目錄啟動(dòng),svnserve -d -r /home/.svn/astar,根目錄(/)是astar,authz中規(guī)則的配置使用section[/]。訪問(wèn)方式為:
      svn://192.168.0.87/
    2. 從.svn目錄啟動(dòng),svnserve -d -r /home/.svn,根目錄(/)是.svn,authz中對(duì)astar的配置使用section[astar:/] ,對(duì)test的配置使用section[test:/]。訪問(wèn)方式為:
      svn://192.18.0.87/astar
      svn://192.18.0.87/test
    如果需要svn自啟動(dòng),把命令加入/etc/rc.local中
  2). 檢查svn服務(wù)器是否已經(jīng)啟動(dòng)(svn默認(rèn)使用3690端口):netstat -an | grep 3690
  3). 停止:killall svnserve

5. svn client

  推薦使用TortoiseSVN, http://tortoisesvn.tigris.org/
  Eclipse插件,http://subclipse.tigris.org/

作者 t80t90s

標(biāo)簽:長(zhǎng)沙 鎮(zhèn)江 曲靖 潛江 鎮(zhèn)江 新余 雞西 南陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ubuntu下安裝和配置SVN的詳細(xì)方法介紹》,本文關(guān)鍵詞  ubuntu,下,安裝,和,配置,SVN,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ubuntu下安裝和配置SVN的詳細(xì)方法介紹》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ubuntu下安裝和配置SVN的詳細(xì)方法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    乳山市| 巨野县| 额尔古纳市| 巴楚县| 达尔| 通渭县| 张家口市| 惠安县| 永安市| 辛集市| 金塔县| 清远市| 黎川县| 山阳县| 虹口区| 札达县| 文登市| 洛川县| 泗阳县| 石林| 诏安县| 谢通门县| 页游| 湖口县| 远安县| 山阳县| 三穗县| 乐亭县| 抚松县| 长春市| 津南区| 内丘县| 苗栗县| 理塘县| 丰城市| 芮城县| 屏东县| 定安县| 清苑县| 凤阳县| 南漳县|