這篇文章主要講解了“ubuntu下安裝和配置SVN的詳細(xì)方法”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“ubuntu下安裝和配置SVN的詳細(xì)方法”吧!
創(chuàng)新互聯(lián)是一家專業(yè)提供南鄭企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、做網(wǎng)站、HTML5建站、小程序制作等業(yè)務(wù)。10年已為南鄭眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站制作公司優(yōu)惠進(jìn)行中。
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
第五步:通過(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
加入以下代碼:
================================
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "project subversion repository"
AuthUserFile /etc/subversion/passwd
Require valid-user
如果需要用戶每次登錄時(shí)都進(jìn)行用戶密碼驗(yàn)證,就將
加入代碼后重啟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)域:
“root”的密碼:
認(rèn)證領(lǐng)域:
用戶名: test
“test”的密碼:
增加 /var/www/index.html
-----------------------------------------------------------------------
注意! 你的密碼,對(duì)于認(rèn)證域:
只能明文保存在磁盤(pán)上! 如果可能的話,請(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)上查了很久,沒(méi)什么可借鑒的資料,模糊的覺(jué)的可能是說(shuō)用戶名和權(quán)限不對(duì),以待后面確認(rèn)
sudo svn co file://localhost/home/svn/project
svn: 無(wú)法為URL打開(kāi)ra_local會(huì)話
svn: 無(wú)法打開(kāi)版本庫(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。不允許匿名用戶訪問(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
感謝各位的閱讀,以上就是“ubuntu下安裝和配置SVN的詳細(xì)方法”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)ubuntu下安裝和配置SVN的詳細(xì)方法這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!