2008-10-29 60 views
7

雖然我理解了這個概念,但我從未使用過任何類型的源代碼控制。我感到困惑的(也許只是沒有意識到)是我獲得了什麼好處和/或爲什麼我想要配置Subversion和Apache?我是否需要使用Apache進行配置才能夠通過網絡從其他計算機訪問我的存儲庫?請隨時提供您認爲相關的任何其他細節?使用Subversion和Apache

我現在的設置是筆記本電腦(Windows   XP Pro)和虛擬機(Windows   XP Pro)。在我的虛擬機上,我有Apache 2.2,MySQL 5和PHP 5.這個設置是我的主要關注點,雖然我很高興聽到與我的場景不同的示例/情況。

+0

我認爲你在非維基模式下很好 - 這不是一個真正的主觀/輪詢類型的問題。 – 2008-10-29 20:01:46

回答

2

沒有必要使用Apache來設置Subversion。我已經使用了Subversion多年,並且從來沒有這樣做過(雖然有一些原因可以解決,主要是與身份驗證基礎結構有關)。既然你是在Windows世界中,我已經看到VisualSVN Server強烈推薦,並且很容易設置和去。

2

我認爲你的情況是如果你想使用WebDAV協議來訪問你的SVN倉庫。在這種情況下,基本上允許Apache將文件訪問作爲SVN本身的中介(不直接連接到存儲庫)進行處理。

我聽說這個工程很好,但有幾種選擇。看看SVN Book(檢查Google)的起點。

1

使用Apache,您可以通過WebDAV訪問您的存儲庫,即通過標準端口上的HTTP訪問您的存儲庫,以便您可以在企業防火牆後訪問/發佈您的存儲庫,例如可能不允許svnserve端口。

3

當端口3690需要關閉時它可能是有益的。它還允許用戶使用瀏覽器瀏覽代碼,這有利有弊。你不需要有一個Subversion客戶端來查看代碼,但是一個Web瀏覽器使得一個糟糕的版本庫瀏覽器。

設置它不是太棘手。 I found this page to be useful

但是,如果您只是在本地VM環境中使用它,svnserve將適合您。

1

我們在一個小團隊(6人)環境中使用Subversion,使用Visual SVN存儲庫。最初我們沒有Apache Web服務器,只有IIS,但現在我們也運行Apache,但沒有令人信服的理由將Apache用於存儲庫。

1

SVN 可以是一個客戶端 - 服務器系統中,如果你想份額你與其他人的代碼。但是,如果您想單獨使用代碼(即使來自多臺計算機!),您根本不需要任何服務器!

你可以在幾乎所有的SVN客戶端和本地SVN倉庫中使用file:// - protocol build。

您的SVN存儲庫也可以從網絡共享工作。但是,如果你單獨使用這個方法,你應該使用這種方法只有

0

您不必使用Apache。有一個自定義服務器 - svnserve.exe可以用來代替。默認情況下它在端口3690上運行,但在設置時可以使用--port開關將其設置爲不同的端口。

Greg Hewgill給了你一個鏈接,它會告訴你使用哪個版本的Subversion服務器,以及不同的用例。如果您不需要與任何類型的身份驗證進行集成,它基本歸結爲svnserve。如果您需要更復雜的場景,請使用Apache。

我有一個處理svnserve的商業Windows控制檯。我的個人資料有鏈接查看該實用程序。如果您決定使用Apache,我建議您使用VisualSVN Server

3

如果您希望在存儲庫中使用ACL,則通過Apache託管SVN存儲庫的優勢將發揮作用。

您可以配置基本身份驗證,並根據每個目錄(或每個文件,如果您感覺需要)限制權限。例如,您可以配置存儲庫以允許訪客結帳,但任何寫入存儲庫的操作都需要特定的有效用戶。

使用Apache對用戶進行身份驗證的結果意味着您不必在.htpasswd中定義用戶。 Apache可以掛接到LDAP,大多數任何類型的SQL服務器,甚至可以使用Kerberos身份驗證。

使用簡單的svnserve可能就足夠了。但是,細粒度的權限無法應用,您將無法掛接到其他用戶數據庫進行身份驗證。

但是從您的描述來看,以上所有可能都是矯枉過正。 Apache提供的優勢在很大程度上對單個用戶來說毫無用處,並且不值得冒險。

+0

您還可以使用Apache獲得一些其他「免費」功能,例如Web瀏覽器中的存儲庫目錄列表以及Apache日誌文件中的大量日誌記錄信息 – 2009-12-05 00:26:03