青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

教父的告白
一切都是紙老虎
posts - 82,  comments - 7,  trackbacks - 0

在ubuntu下安裝subversion服務器

在ubuntu下安裝subversion服務器

originally by: zengpuzhang <zengpuzhang@gmail.com>

Use the subversion for apache2 on ubunut 5.10.

* Install apache2

sudo apt-get install apache2

* It will download apache2 apache2-common apache2-mpm-worker apache2-utils

* Install subversion

sudo apt-get install subversion

* Install libapache2-svn

sudo apt-get install libapache2-svn

在ubuntu下安裝subversion服務器

originally by: zengpuzhang <zengpuzhang@gmail.com>

Use the subversion for apache2 on ubunut 5.10.

* Install apache2

sudo apt-get install apache2

* It will download apache2 apache2-common apache2-mpm-worker apache2-utils

* Install subversion

sudo apt-get install subversion

* Install libapache2-svn

sudo apt-get install libapache2-svn

* Create subversion home foder and project
(其中兩個最常用的位置之一是:/usr/local/svn)
cd /home/
sudo mkdir svn
cd svn
sudo svnadmin create project
cd /home
sudo chown www-data.www-data svn -R

* Configure the apache and subversion

cd /etc/apache2
sudo mkdir authz
cd authz
sudo touch project.authz
sudo touch dav_svn.passwd
sudo vi /etc/apache2/mods-enabled/dav_svn.conf

* Add the content like this:

<Location /svn/project>
DAV svn
SVNPath /home/svn/project
AuthzSVNAccessFile /etc/apache2/authz/project.authz
AuthType Basic
AuthName "Project Subversion Repository"
AuthUserFile /etc/apache2/authz/dav_svn.passwd
Require valid-user
</Location>

* Save the dav_svn.conf and edit the project.authz

sudo vi /etc/apache2/authz/project.authz

* Add the content like this

[/]
zengpuzhang=rw

* Sava the project.authz and create a user name zengpuzhang

sudo htpasswd2 -c /etc/apache2/authz/dav_svn.passwd zengpuzhang(第一個用戶的時候)
(sudo htpasswd2 -m /etc/apache2/authz/dav_svn.passwd xxxx , 以后的用戶)


* Input the user`s password

* Restart the apache

sudo /etc/init.d/apache2 restart

* Done!

subversion checked svn co

$svn co http://192.168.10.163/svn/project
認證領域:<http://192.168.10.163:80> Project Subversion Repository
用戶登錄名:zengpuzhang
“zengpuzhang”的密碼:
取出修訂版 0。

subversion checked svn add

$cd project
$touch test
$svn add test
A test

subversion checked svn ci

$svn ci -m “just a test”
新增 test
傳輸文件數據.
提交后的修訂版為 1。
* enjoy it .


簡介

如果您對 Subversion 還比較陌生,本節將給您一個關于 Subversion 的簡要介紹。

Subversion 是一款開放源代碼的版本控制系統。使用 Subversion,您可以重新加載源代碼和文檔的歷史版本。Subversion 管理了源代碼在各個時期的版本。一個文件樹被集中放置在文件倉庫中。這個文件倉庫很像是一個傳統的文件服務器,只不過它能夠記住文件和目錄的每一次變化。

[編輯]假設

首先我們假設您能夠在 Ubuntu 中操作 Linux 的命令、編輯文件、啟動和停止服務。當然,我們還認為您的 Ubuntu 正在運行中,您可以使用 sudo 操作并且您打算使用 Subversion。

我們假設您可能需要使用所有可能的方法訪問 SVN 文件倉庫。同時我們也認為您應該已經配置好了您的 /etc/apt/sources.list 文件。

[編輯]本文涉及的范圍

要通過 HTTP 協議訪問 SVN 文件倉庫,您需要安裝并配置好 Web 服務器。Apache 2 被證實可以很好的與 SVN 一起工作。關于 Apache 2 的安裝超出了本文的范圍,盡管如此,本文還是會涉及如何配置 Apache 2 使用 SVN。

類似的,要通過 HTTPS 協議訪問 SVN 文件倉庫,您需要在您的 Apache 2 中安裝并配置好數字證書,這也不在本文的討論范圍之中。

[編輯]安裝

幸運的,Subversion 已經包含在 main 倉庫中。所以,要安裝 Subversion,您只需要簡單的運行:

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

如果系統報告了依賴關系的錯誤,請找出相應的軟件包并安裝它們。如果存在其它問題,也請自行解決。如果您是再不能解決這些問題,可以考慮通過 Ubuntu 的網站、Wiki、論壇或郵件列表尋求支持。

[編輯]服務器配置

您應該已經安裝了上述的軟件包。本節將闡述如何創建 SVN 文件倉庫以及如何設置項目的訪問權限。

[編輯]創建 SVN 倉庫

許多位置都可以放置 Subversion 文件倉庫,其中兩個最常用的是:/usr/local/svn 以及 /home/svn。為了在下面的描述中簡單明了,我們假設您的 Subversion 文件倉庫放在 /home/svn,并且你的項目名稱是簡單的“myproject”。

同樣的,也有許多常用的方式設置文件倉庫的訪問權限。然而,這也是安裝過程中最經常出現錯誤的地方,因此我們會對此進行一個詳細說明。典型的情況下,您應該創建一個名為“Subversion”的組來擁有文件倉庫所在的目錄。下面是一個快速的操作說明,有關內容請參考相關文檔的詳細說明:

  • 在 Ubuntu 菜單上選擇“系統->系統管理->用戶和組”;
  • 切換到“組”標簽;
  • 點擊“添加組”按鈕;
  • 組名為“subversion”;
  • 將您自己和“www-data”(Apache 用戶)加入組成員中;
  • 點擊“OK”以確認修改,關閉該程序。

或者使用命令完成上述功能(增加組,并且把用戶加到組里):

sudo addgroup subversion
sudo usermod -G subversion -a www-data

再或者直接使用命令編輯組文件"sudo vi /etc/group",增加組和成員(不推薦):

$ sudo vi /etc/group

結果看上去,像這樣。

$ cat /etc/group|grep subversion
subversion:x:1001:www-data,exp

您需要注銷然后再登錄以便您能夠成為 subversion 組的一員,然后就可以執行簽入文件(Check in,也稱提交文件)的操作了。

現在執行下面的命令

$ sudo mkdir /home/svn
$ cd /home/svn
$ sudo mkdir myproject
$ sudo chown -R root:subversion myproject

下面的命令用于創建 SVN 文件倉庫:

$ sudo svnadmin create /home/svn/myproject

賦予組成員對所有新加入文件倉庫的文件擁有相應的權限:

$ sudo chmod -R g+rws myproject

如果上面這個命令在創建SVN文件倉庫之前運行,你可能在后續Check in的時候遇到如下錯誤:

Can't open '/home/svn/myproject/db/txn-current-lock': Permission denied

查看txn-current-lock文件的權限和用戶以及組信息,應該類似于:

$ ls -l /home/svn/myproject/db/txn-current-lock
-rw-rwSr-- 1 root subversion  0  2009-06-18  15:33  txn-current-lock

除了權限以外,用戶及其組如果不對,則仍然會遇到上述問題,可以再次運行命令:

$ sudo chown -R root:subversion myproject

[編輯]訪問方式

Subversion 文件倉庫可以通過許多不同的方式進行訪問(Check Out,簽出)——通過本地硬盤,或者通過各種網絡協議。無論如何,文件倉庫的位置總是使用 URL 來表示。下表顯示了不同的 URL 模式對應的訪問方法:

模式訪問方法
file:///直接訪問本地硬盤上文件倉庫
http://通過 WebDAV 協議訪問支持 Subversion 的 Apache 2 Web 服務器
https://類似 http://,支持 SSL 加密
svn://通過自帶協議訪問 svnserve 服務器
svn+ssh://類似 svn://,支持通過 SSH 通道


本節中,我們將看到如何配置 SVN 以使之能夠通過所有的方法得以訪問。當然這里我們之討論基本的方法。要了解更高級的用途,我們推薦您閱讀《使用 Subversion 進行版本控制》在線電子書

[編輯]直接訪問文件倉庫(file://)

這是所有訪問方式中最簡單的。它不需要事先運行任何 SVN 服務。這種訪問方式用于訪問本地的 SVN 文件倉庫。語法是:

$ svn co file:///home/svn/myproject
或者
$ svn co file://localhost/home/svn/myproject

注意:如果您并不確定主機的名稱,您必須使用三個斜杠(///),而如果您指定了主機的名稱,則您必須使用兩個斜杠(//).

對文件倉庫的訪問權限基于文件系統的權限。如果該用戶具有讀/寫權限,那么他/她就可以簽出/提交修改。如果您像前面我們說描述的那樣設置了相應的組,您可以簡單的將一個用戶添加到“subversion”組中以使其具有簽出和提交的權限。

[編輯]通過 WebDAV 協議訪問(http://)

要通過 WebDAV 協議訪問 SVN 文件倉庫,您必須配置您的 Apache 2 Web 服務器。您必須加入下面的代碼片段到您的 /etc/apache2/mods-available/dav_svn.conf中:

<Location /svn/myproject>
DAV svn
SVNPath /home/svn/myproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /etc/subversion/passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

如果需要用戶每次登錄時都進行用戶密碼驗證,請將<LimitExcept GET PROPFIND OPTIONS REPORT>與</LimitExcept>兩行注釋掉。

當您添加了上面的內容,您必須重新起動 Apache 2 Web 服務器,請輸入下面的命令:

sudo /etc/init.d/apache2 restart

接下來,您需要創建 /etc/subversion/passwd 文件,該文件包含了用戶授權的詳細信息。要添加用戶,您可以執行下面的命令:

sudo htpasswd -c /etc/subversion/passwd user_name

它會提示您輸入密碼,當您輸入了密碼,該用戶就建立了。“-c”選項表示創建新的/etc/subversion/passwd文件,所以user_name所指的用戶將是文件中唯一的用戶。如果要添加其他用戶,則去掉“-c”選項即可:

sudo htpasswd /etc/subversion/passwd other_user_name

您可以通過下面的命令來訪問文件倉庫:

$ svn co http://hostname/svn/myproject myproject --username user_name

它會提示您輸入密碼。您必須輸入您使用 htpasswd 設置的密碼。當通過驗證,項目的文件就被簽出了。

警告:密碼是通過純文本傳輸的。如果您擔心密碼泄漏的問題,我們建議您使用 SSL 加密,有關詳情請看下一節。

[編輯]通過具有安全套接字(SSL)的 WebDAV 協議訪問(https://)

通過具有 SSL 加密的 WebDAV 協議訪問 SVN 文件倉庫(https://)非常類似上節所述的內容,除了您必須為您的 Apache 2 Web 服務器設置數字證書之外。

您可以安裝由諸如 Verisign 發放的數字簽名,或者您可以安裝您自己的數字簽名。

我們假設您已經為 Apache 2 Web 服務器安裝和配置好了相應的數字證書。現在按照上一節所描述的方法訪問 SVN 文件倉庫,別忘了把 http:// 換成https://。如何,幾乎是一模一樣的!

[編輯]通過自帶協議訪問(svn://)

當您創建了 SVN 文件倉庫,您可以修改 /home/svn/myproject/conf/svnserve.conf 來配置其訪問控制。


例如,您可以取消下面的注釋符號來設置授權機制:

# [general]
# password-db = passwd

現在,您可以在“passwd”文件中維護用戶清單。編輯同一目錄下“passwd”文件,添加新用戶。語法如下:

username = password
#(注意行開始不要有多余空格)

要了解詳情,請參考該文件。


現在,您可以在本地或者遠程通過 svn:// 當文 SVN 了,您可以使用“svnserve”來運行 svnserver,語法如下:

$ svnserve -d --foreground -r /home/svn
# -d -- daemon mode
# --foreground -- run in foreground (useful for debugging)
# -r -- root of directory to serve
要了解更多信息,請輸入:
$ svnserve --help

當您執行了該命令,SVN 就開始監聽默認的端口(3690)。您可以通過下面的命令來訪問文件倉庫:

$ svn co svn://hostname/myproject myproject --username user_name

基于服務器的配置,它會要求輸入密碼。一旦通過驗證,就會簽出文件倉庫中的代碼。


要同步文件倉庫和本地的副本,您可以執行 update 子命令,語法如下:

$ cd project_dir
$ svn update

要了解更多的 SVN 子命令,您可以參考手冊。例如要了解 co (checkout) 命令,請執行:

$ svn co --help
或者這樣
$ svn --help commit
或者直接
? svn help co
checkout (co): 從版本庫簽出工作副本。
使用: checkout URL[@REV]... [PATH]
。。。。。

一個實例:

? killall svnserve; svnserve -d -r /home/svn/
/home/svn/lj12-source/conf ? dog *
authz:[groups]
authz:lj12 = veexp
authz:[lj12-source:/] <-注意寫法。
authz:veexp = rw
authz:@lj12 = rw
authz:* = passwd:[users] <-2個用戶和密碼。
passwd:veexp = icep
passwd:test = test 
svnserve.conf:[general]
svnserve.conf:anon-access = none
svnserve.conf:auth-access = write
svnserve.conf:password-db = passwd
svnserve.conf:authz-db = authz <-如果不啟用authz,則test也可以取出。
? svn co svn://localhost/lj12-source --username veexp
認證領域: <svn://localhost:3690> a712643f-661e-0410-8ad4-f0554cd88977
用戶名: veexp “veexp”的密碼:
A lj12-source/tim.h A lj12-source/en.c
......

認證失敗的密碼緩沖記錄位置,明文密碼。到1.6版本,可能使用keyring管理。如果調試密碼,直接刪除如下文件就可。

~/.subversion/auth/svn.simple/:

eea34a6f7baa67a3639cacd6a428dba4

[編輯]通過具被SSH隧道保護的自帶協議訪問(svn+ssh://)

配置和服務器進程于上節所述相同。我們假設您已經運行了“svnserve”命令。

我們還假設您運行了 ssh 服務并允許接入。要驗證這一點,請嘗試使用 ssh 登錄計算機。如果您可以登錄,那么大功告成,如果不能,請在執行下面的步驟前解決它。

svn+ssh:// 協議使用 SSH 加密來訪問 SVN 文件倉庫。如您所知,數據傳輸是加密的。要訪問這樣的文件倉庫,請輸入:

$ svn co svn+ssh://hostname/home/svn/myproject myproject --username user_name

注意:在這種方式下,您必須使用完整的路徑(/home/svn/myproject)來訪問 SVN 文件倉庫

基于服務器的配置,它會要求輸入密碼。您必須輸入您用于登錄 ssh 的密碼,一旦通過驗證,就會簽出文件倉庫中的代碼。

您還應該參考 SVN book 以了解關于 svn+ssh:// 協議的詳細信息。

posted on 2009-11-26 15:01 暗夜教父 閱讀(902) 評論(0)  編輯 收藏 引用 所屬分類: Linux & Unix

<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

常用鏈接

留言簿(2)

隨筆分類

隨筆檔案

文章分類

文章檔案

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            老司机午夜精品视频| 国产亚洲欧美在线| 亚洲精品在线二区| 久久久久成人精品免费播放动漫| 亚洲一区二区影院| 欧美伦理a级免费电影| 欧美国产视频在线观看| 在线成人h网| 欧美中文字幕| 欧美亚韩一区| 午夜久久久久久| 欧美视频一区二区三区四区| 99在线热播精品免费| 午夜视黄欧洲亚洲| 亚洲一级免费视频| 国自产拍偷拍福利精品免费一| 噜噜噜91成人网| 日韩视频一区二区三区| 亚洲国产精品日韩| 亚洲最新视频在线播放| 亚洲啪啪91| 欧美一区永久视频免费观看| 国产婷婷色一区二区三区| 久热精品在线视频| 欧美激情视频在线免费观看 欧美视频免费一| 一本色道婷婷久久欧美| 久久国产一区| 亚洲另类一区二区| 亚洲欧美日韩视频一区| 亚洲乱码精品一二三四区日韩在线| 亚洲精品一区久久久久久| 午夜精品偷拍| 欧美黄色影院| 欧美一区二区观看视频| 亚洲美女毛片| 蜜桃久久精品乱码一区二区| 日韩一区二区免费高清| 精品91久久久久| 国产精品家庭影院| 欧美大片在线观看一区二区| 午夜久久tv| 亚洲自拍偷拍福利| 一区二区国产日产| 久久综合九色九九| 国产日韩欧美高清| 亚洲一级二级| 91久久精品日日躁夜夜躁欧美 | 午夜精品免费视频| 91久久精品国产91性色tv| 久久精品国产99国产精品| 性欧美大战久久久久久久免费观看 | 亚洲午夜精品一区二区三区他趣| 一区二区欧美国产| 六月婷婷久久| 亚洲一二三四久久| 日韩亚洲精品视频| 噜噜噜91成人网| 尤物yw午夜国产精品视频| 欧美影片第一页| 午夜精品理论片| 欧美专区亚洲专区| 国产精品网站在线| 国产精品香蕉在线观看| 亚洲最快最全在线视频| 正在播放亚洲一区| 亚洲影院高清在线| 99re热这里只有精品视频| 欧美精品二区| 亚洲视频在线一区观看| 日韩写真在线| 国产精品日日摸夜夜摸av| 午夜伦欧美伦电影理论片| 午夜精品在线观看| 黄色精品在线看| 欧美大片免费观看在线观看网站推荐| 欧美**字幕| 亚洲日本理论电影| 欧美啪啪一区| 亚洲一级二级| 香蕉免费一区二区三区在线观看| 国产一区二区福利| 欧美粗暴jizz性欧美20| 欧美激情综合五月色丁香小说| 亚洲视频狠狠| 午夜一区二区三区在线观看| 国内精品视频一区| 中文国产成人精品| 亚洲香蕉视频| 影音先锋一区| 99精品热视频| 国内精品久久久久影院 日本资源| 免费欧美在线视频| 欧美精品久久久久a| 亚洲欧美日韩在线高清直播| 欧美在线观看视频一区二区三区| 亚洲国产婷婷香蕉久久久久久| 亚洲视频网在线直播| 亚洲字幕一区二区| 亚洲第一中文字幕| 欧美一区午夜精品| 欧美成人69| 欧美亚洲自偷自偷| 亚洲国产精品一区二区第四页av | 亚洲特色特黄| 亚洲国产精品久久久久秋霞影院| 午夜精品久久久久久| 久久久一区二区三区| 一区二区黄色| 亚洲日韩欧美一区二区在线| 国产精品久久77777| 亚洲女同在线| 欧美精品在线免费播放| 亚洲欧美另类在线观看| 欧美α欧美αv大片| 久久国产欧美| 国产精品久久久久久久久借妻| 欧美成人伊人久久综合网| 国产精品一区二区三区四区 | 麻豆久久婷婷| 亚洲欧美影音先锋| 亚洲精品中文字| 久久漫画官网| 在线观看成人av| 午夜精品久久| 欧美一区二区三区免费看| 一区二区三区在线高清| 欧美日韩精品在线观看| 在线精品国精品国产尤物884a| 一区二区高清在线观看| 99爱精品视频| 欧美激情精品久久久久久黑人 | 欧美国产日韩精品免费观看| 看片网站欧美日韩| 一区二区在线看| 久久精品一区二区国产| 黄色亚洲精品| 欧美与黑人午夜性猛交久久久| 先锋影音久久久| 国产精品久久夜| 久久久人成影片一区二区三区| 性色av一区二区三区在线观看| 一区二区三区**美女毛片| 欧美精品尤物在线| 91久久夜色精品国产九色| 亚洲精品国产拍免费91在线| 亚洲日本中文字幕| 亚洲精品美女在线观看| 欧美xart系列在线观看| 亚洲欧洲精品一区二区三区不卡 | 亚洲一区在线观看视频| 狠狠综合久久| 久久久久久久97| 欧美承认网站| 亚洲成色精品| 欧美黑人在线播放| 亚洲精品日韩久久| 亚洲欧美中文另类| 伊人精品在线| 欧美日本中文字幕| 亚洲自拍偷拍视频| 老色鬼精品视频在线观看播放| 一区二区三区在线免费观看| 久久国产精品99国产| 亚洲二区在线视频| 国产精品wwwwww| 午夜综合激情| 欧美成人伊人久久综合网| 亚洲午夜在线观看| 国产伦精品免费视频| 免费在线欧美视频| 久久久久亚洲综合| 亚洲国产欧美精品| 国产精品视频1区| 久久亚洲精品一区二区| 日韩西西人体444www| 久久一区中文字幕| 国产色产综合产在线视频| 久久先锋资源| 一区二区欧美在线| 欧美成人免费在线视频| 午夜亚洲性色视频| 亚洲黄色成人| 国产乱码精品一区二区三区五月婷| 噜噜噜在线观看免费视频日韩| 亚洲天堂免费在线观看视频| 欧美激情片在线观看| 久久er精品视频| 一区二区不卡在线视频 午夜欧美不卡'| 国产精品久久久爽爽爽麻豆色哟哟 | 久久精品国产第一区二区三区| 亚洲激情视频| 国产无一区二区| 欧美视频日韩| 欧美韩国日本一区| 久久婷婷麻豆| 欧美一区二区视频在线| 制服丝袜激情欧洲亚洲| 亚洲自拍偷拍视频| 亚洲免费观看高清完整版在线观看| 精品动漫av|