溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

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

發(fā)布時(shí)間:2021-09-02 17:02:40 來源:億速云 閱讀:155 作者:chen 欄目:系統(tǒng)運(yùn)維

這篇文章主要講解了“ubuntu下安裝和配置SVN的詳細(xì)方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ubuntu下安裝和配置SVN的詳細(xì)方法”吧!

ubuntu安裝和配置SVN

第一步:安裝apache2  libapache2-svn subversion

代碼如下:


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

安裝完后按照提示

代碼如下:


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

重啟apache2

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

代碼如下:


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

第五步:通過命令訪問庫(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。
己可以取出版本,說明SVN服務(wù)器己正常運(yùn)行,下面試從webdav訪問

第六步:配置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”以后再添加就不用了
訪問文件倉(cāng)庫(kù)
 svn co http://hostname/svn/project project --username [username]
OK!這次通過web頁面訪問到版本庫(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ì)信息。
你可以通過在“/home/icedot/.subversion/servers”中設(shè)置選項(xiàng)“store-plaintext-passwords”為“yes”或“no”,
來避免再次出現(xiàn)此警告。
-----------------------------------------------------------------------
保存未加密的密碼(yes/no)?
請(qǐng)輸入 'yes' 或 'no': yes
提交后的版本為 1。
==========================================
最后在windows下通過TortoiseSVN及web頁面訪問,成功。
==========================================
試驗(yàn)過程中曾經(jīng)出現(xiàn)過的錯(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)上查了很久,沒什么可借鑒的資料,模糊的覺的可能是說用戶名和權(quán)限不對(duì),以待后面確認(rèn)
sudo svn co file://localhost/home/svn/project
svn: 無法為URL打開ra_local會(huì)話
svn: 無法打開版本庫(kù)“file://localhost/home/svn/projcet”

1. 安裝SVN

代碼如下:


  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。不允許匿名用戶訪問: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[/]。訪問方式為:
      svn://192.168.0.87/
    2. 從.svn目錄啟動(dòng),svnserve -d -r /home/.svn,根目錄(/)是.svn,authz中對(duì)astar的配置使用section[astar:/] ,對(duì)test的配置使用section[test:/]。訪問方式為:
      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

感謝各位的閱讀,以上就是“ubuntu下安裝和配置SVN的詳細(xì)方法”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)ubuntu下安裝和配置SVN的詳細(xì)方法這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI