<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    jojo's blog--快樂憂傷都與你同在
    為夢想而來,為自由而生。 性情若水,風起水興,風息水止,故時而激蕩,時又清平……
    posts - 11,  comments - 30,  trackbacks - 0
    Ubuntu 己是近來 Linux 最熱門的 Distribution,它的3D效果真不是蓋的,要不是ATI不爭器,家裡的伺服器(ATI Radeon 9000)早就把它替換掉了,正好最近要將 CVS 轉換為 SVN 系統,就拿它來練功吧!

    雖然一開始安裝的是 Ubuntu Desktop 版本(目前最新是 9.10 版),但是在 Ubuntu 下安裝伺服器套件是非常簡單的一件事,只要確定你的電腦可以連上網路,確認你的 source.list 是否正確?(建議您安裝 Lazybuntu 懶人包),按下面步驟即可完成安裝:
    (參考文件:在 Ubuntu 中使用 Apache2 管理 Subversion 版本控制系統)

    底下以文字介面的安裝為主,若您使用 GUI 介面的 Synaptic 套件管理程式也可以。
    1. 安裝 Apache2 和 Subversion 模組:
    $sudo apt-get install apache2 apache2-common apache2-utils apache2-doc libapache-svn subversion
    你也可以選擇安裝 subcommander(Ubuntu 底下的 SVN GUI Client)。

    2. 建立 Subversion 儲存庫(Repository)
    a. 建立 SVN Root 目錄:
    $sudo mkdir -p /var/local/svnroot
    b. 初始化儲存庫:
    $sudo svnadmin create /var/local/svnroot
    c. 授予 Apache(www-data) 使用者存取的權限:
    $sudo chown -R www-data:www-data /var/local/svnroot

    3. 修改 Apache2 的設定:
    $sudo gedit /etc/apache2/mods-available/dav_svn.conf
    修改 "Location" 區段,內容對應如下:
    <Location>
    DAV svn
    SVNPath /var/local/svnroot
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /etc/subversion/passwd
    <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
    </LimitExcept>
    </Location>

    Location 後面所接的是在 URL 所要打的網址,以本例而言,透過瀏覽器要輸入:http://localhost/svnroot
    SVNPath 為 Subversion 的檔案庫路徑,如果將 SVNPath 改為 SVNParentPath,則泛指在 SVNParentPath 下的所有目錄都會被視為是 Subversion 檔案庫。
    AuthUserFile 則是指存放使用者名稱及密碼的檔案路徑。

    4. 創建使用者驗証資訊:
    $sudo htpasswd2 [-c] /etc/subversion/passwd username
    依照指示輸入使用者密碼即可完成驗証。
    -c:表示是否要新建檔案,舊有檔案內容會完全刪除,適用於第一次建立 passwd 檔時。

    5. 重新啟動 Apache2:
    $sudo /etc/init.d/apache2 restart

    6. 打開瀏覽器,訪問http://localhost/svnroot, 就可以看到Subversion庫的網頁。(當然,現在還沒有任何東東,下面我們要導入一些文件)

    7. 匯入(inmport) /home/username/workspace中的文件到http://localhost/svnroot 下的workspace目錄(原始專案目錄);"操作注釋"的內容可隨需求添加,username 為專案使用者名稱。
    $ svn import -m "操作注釋" /home/username/workspace http://localhost/svnroot/workspace

    8. 取出(checkout)剛才匯入的專案:
    checkout http://localhost/svnroot/workspace 中的文件到/home/username/test
    $svn checkout http://localhost/svnroot/workspace /home/username/test
    注意:匯出的目錄名稱不可與匯入的目錄名稱相同(最好是將原始的專案目錄(workspace)與匯出的工作目錄(sandbox)區分開來)。

    8. 若您需要 Windows 下的 GUI 介面工具,可以下載安裝 TortoiseSVN 工具。(請一併下載並安裝語言套件Language Pack)
    安裝完成後請依下步驟設定語言介面:

    a. 開啟 TortoiseSVN 設定頁面(在入一資料夾上按滑鼠右鍵)
    b. 選擇語言版本
    c. 中文化後的選單介面



    在安裝好了 Subversion Server後,最重要的莫過於對於使用者權限的控管,底下將介紹如何針對不同的使用者設置不同的存取權限:
    9. 修改 dav 配置檔 /etc/apache2/mods-available/dav_svn.conf:
    <Location /svntest>
        DAV svn
        SVNPath /var/local/svntest
        AuthType Basic
        AuthName "Subversion test repository"
        AuthUserFile "/var/local/svntest/conf/passwd"
        AuthzSVNAccessFile "/var/local/svntest/conf/authz"
        Require valid-user
        SVNAutoversioning on
    </Location>

    10. 創建 SVN 儲存庫 svntest:
        sudo svnadmin create /var/local/svntest
        sudo find /var/local/svntest -type f -exec chmod 660 {} ";
        sudo find /var/local/svntest -type d -exec chmod 2770 {} ";
        sudo chown -R root.www-data /var/local/svntest

    11. 修改儲存庫設定檔 /var/local/svntest/conf/svnserver.conf:
    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz

    12. 創建使用者資料庫:
        cd /var/local/svntest/conf
        sudo htpasswd [-c] passwd user1_id
        然後依照指示輸入 user1_id 的密碼
        若有多個使用者,請重覆上述指令(請移除 [-c] 選項)

    13. 編輯儲存庫存取權限 /var/local/svntest/conf/authz:
        [groups]
        #group_name = user1,user2,user3...
        software = aaa,bbb,ccc
        hardware = ddd,eee

        #[repository:PATH]
        [/]
        # '@' 符號用來表示群組名稱
        @software = rw
        ddd = rw
        * = r

        [svntest:/sch]
        @hardware = rw
        @software = r
        * = r

    14. 重新啟動 apache2:
        sudo /etc/init.d/apache2 restart

    posted on 2009-05-08 15:31 Blog of JoJo 閱讀(701) 評論(2)  編輯  收藏 所屬分類: 每日一記

    FeedBack:
    # re: 每日一學 2009/05/08 怎樣安裝配置 subversion server + apache
    2009-05-08 15:49 | Blog of JoJo
    =======Window 下安裝Subversion Server============
    http://blog.roodo.com/rocksaying/archives/2385729.html

    Subversion (簡稱 SVN) 是繼 CVS 之後新興的版本控制工具 (version control system) 。對於版本控制工具的諸多概念與名詞,我並不打算說明,因為《Version Control with Subversion》已經說得很仔細。以我個人的經驗,任何接觸過版本控制工具的 programmer ,都會上癮,深陷其中、不可自拔。誇張地形容, Programmer 可以沒有 IDE 工具,但不能沒有版本控制工具。

    如我這類常常接觸 open source software 的 Programmer ,多數皆熟悉 CVS/SVN 這類版本控制工具。我原本預期國內資訊軟體公司會更普遍地使用版本控制工具,但匪夷所思的是國內資訊軟體公司中的資訊工程師似乎對其非常陌生。例如在我過去任職的一間通過 CMMI level-2 認證的資訊軟體公司之中,工程師竟然沒有使用版本控制工具的習慣。我這自學起家的人,完全無法理解國內的程設人才正規養成教育出了什麼問題?為什麼他們不用呢?所以本文預期作為 Subversion 的快速入手指南,使 programmer 可以在自己的桌面環境中安裝 Subversion ,並用它來維護為自己寫的小工具程式。透過這一過程,養成 programmer 使用版本控制工具的習慣。沒錯, Subversion 不是只用在專案軟體開發的大傢伙,就算是為了個人用途撰寫的小工具程式,它都能幫上不少忙。

    多年前,我在 GNU/Linux 和 FreeBSD 環境下把玩 BBS 程式碼時 (Firebird BBS, TIP) ,我就開始接觸 CVS 這個版本控制工具。當我面對組成 BBS 的上百份 C 語言原始檔、上萬行程式碼時, CVS 是不可或缺的工具。沒有 CVS/SVN 這類版本控制工具,任何修改程式碼的動作都會增加 programmer 大腦記憶體的負擔, programmer 將會浪費許多時間在搜尋與比對程式碼的工作之上。就算是撰寫個人使用的小程式,版本控制工具仍然帶給 programmer 許多便利之處。我為自己寫過的小工具不知凡幾,有些程式寫完後又過了好幾個月才會想到再修改。此時版本控制工具的提交 (commit) 記錄功能就能幫我喚起以往撰寫過程中的記憶。分支功能可以讓我無後顧之憂地為我的小工具添加新功能,確認無誤後再合併回主幹。
    取得安裝套件

    安裝 Subversion server 其實是件很簡單的事,許多 GNU/Linux distribution 都已經提供 Subversion package ,只要一個安裝指令就能完成安裝動作。雖然大多數使用者並不使用 GNU/Linux 作為桌面環境,而是使用 Microsoft Windows 2k/xp 作為家中的桌面環境。但在這桌面環境下安裝 Subversion 服務仍然是件非常簡單的事。例如本文內容就是在 Microsoft Windows XP 平臺上進行 Subversion server 的實際安裝工作。

    首先,請先到「Subversion」網站中取得 Subversion server 的安裝套件。在「下載頁面」中列出了多種平臺的可執行安裝套件。 Windows 平臺使用者,請開啟 Subversion Win32 binaries 之頁面下載。撰寫本文時,下載的是 svn-win32-1.4.0.zip 。這個安裝套件就只是一個 Zip 壓縮包,裡面是一組包含 Subversion server 以及 client 的命令列工具,所以以下的操作過程, GNU/Linux 和 MS Windows 平臺皆適用。
    安裝與啟動 Subversion server

    取得 Subversion 安裝套件的壓縮包後,解開其中的檔案放置到你想放的目錄中。此例中放在 "C:\Program Files\svn-win32" 。工具皆在其 bin 目錄中,主要使用到三個工具。

    * svnserve
    Subversion Server 主程式。本文提到「啟動 Subversion server」,意思就是執行 svnserve 此一程式。
    * svnadmin
    Subversion 專案管理工具。負責新增空白專案、刪除專案等動作。
    * svn
    Subversion 專案內容存取工具。舉凡 checkout (提出專案內容), commit (提交修改內容), update, revert 等存取動作,皆使用此工具。

    設置 Subversion server 的方法很多,本文只說明最簡單的一種方式,就是單獨運行 svnserve ,只要執行 svnserve 時加上 "--daemon" 參數即可,這種方式適合做為個人用途。若要進行 team work ,請參閱《Version Control with Subversion - Chapter 6. Server Configuration》進行配置。另有一個常用的選擇性參數 "--root" 可以指示 Subversion server 搜尋專案貯藏庫 (Repository) 的起點。 MS Windows 平臺使用者,可以建立 svnserve.exe 的捷徑,將 "--daemon" 和 "--root" 附加在「目標欄位」,如圖「svnserve 捷徑設定」所示。日後需要使用 Subversion 時,便可直接點擊捷徑啟動 Subversion server 。作為個人用途,這種需要時再啟動的方式也就足夠了。如果你想在不登入桌面的情況下使用 Subversion 服務,請參閱《Version Control with Subversion - Chapter 6. Server Configuration》,將 Subversion server 設定為系統服務。 GNU/Linux 可以選擇 inet daemon 和 apache server 兩種設置方式。而 Windows 平臺使用者,在 svn-win32 1.40 版之後,可以將 svnserve 設定為 Windows Service (系統服務) ,請參閱《TortoiseSVN Manual - Svnserve Based Server》。
    svnserve 捷徑設定
    圖1: svnserve 捷徑設定
    Subversion server 如何尋找專案貯藏庫 (Repository)

    Subversion 預設使用專屬的 URL 格式存取專案,其格式為 "svn://主機名稱/專案貯藏庫路徑/" 。本文只在個人桌面環境下使用,所以主機名稱為 localhost ?;旧?,你可以將專案貯藏庫 (Repository) 放在任何目錄中。若啟動 Subversion server 時未指定 root 路徑 (未加 "--root") ,則 Subversion server 會將 URL 所指示的專案貯藏庫路徑視為完整的本地檔案路徑。例如 URL 若為 "svn://localhost/repository/project1/" ,則 Subversion server 會認為專案貯藏庫放置在 "/repository/project1" (Windows 則為 "c:\repository\project1") 。 Windows 平臺的使用者在此需要注意一點,你只能選擇其中一個磁碟放置 Repository ,預設是 "C:" 。這是因為 Subversion 存取專案內容的 URL 不能包括磁碟代號,因此若你將專案貯藏庫放在其他磁碟中,就必須在啟動 Subversion server 時加上 "--root" 參數指示磁碟代號,例如 "svnserve --daemon --root d:"。將各個專案的貯藏庫集中放置在一個目錄下,其實是個好主意,配合 "--root" 參數指定 root 路徑,可以少記很多字。例如將專案的貯藏庫都放置在 "d:\repository" 的目錄中,那麼啟動 Subversion server 的參數應為 "--daemon --root d:\repository" ,專案貯藏庫的 URL 則簡化為 "svn://localhost/專案貯藏庫目錄/" 。
    實例測試

    所有專案的貯藏庫都存放在 "d:\repository" 目錄之中,故啟動 Subversion server 的命令列內容為 "svnserve --daemon --root d:\repository" 。見圖「svnserve 捷徑設定」。

    現在要建立一個名為「hello world」的專案,故在 "d:\repository" 目錄中,建立一個名為 "hello_world" 的目錄以貯藏專案內容。建立目錄後,再使用命令列工具 "svnadmin" ,配合參數 "create" 於此目錄中建立空白專案貯藏庫 (Repository),見圖「Create a repository by svnadmin」。已安裝 TortoiseSVN 的使用者,可以用圖形化介面操作,見圖「Create a repository by TortoiseSVN」。 TortoiseSVN 建立專案時,會詢問使用者要以何種方式儲存專案,建議使用預設的「Berkeley database (BDB)」方式。
    Create a repository by svnadmin
    圖2: Create a repository by svnadmin
    Create a repository by TortoiseSVN - 1
    圖3: Create a repository by TortoiseSVN - 1
    Create a repository by TortoiseSVN - 2
    圖4: Create a repository by TortoiseSVN - 2

    Subversion 工具會自動在 "hello_world" 目錄中產生專案所需的初始檔案。其中最重要的是專案組態檔 "conf/svnserve.conf" 以及密碼檔 "conf/passwd" 。Subversion 提供多種靈活的使用者認證方式,在此只用 Subversion 內建的認證方式。首先應指定未認證者 (annonymous) 及已認證者 (authorized) 的專案存取權限。在此例中因為是個人用途,所以應禁止未認證者存取,設定 "anon-access = none" ;允許已認證者讀取及寫入,設定 "auth-access = write" 。接著用最簡單的密碼檔方式設定認證資訊,只需將使用者識別帳號和密碼寫入密碼檔 "conf/passwd" ,設定 "password-db = passwd" 。見圖「Set configuration of repository」與「Set password of repository」。注意, Subversion server 一經啟動便成為一個網路服務,任何人都可以透過網路連線取得電腦中的專案內容,所以一定要用密碼管制。在個人用途或非公開的開發團隊中,更應為 Subversion server 設置網路防火牆,以阻絕外來使用者的存取企圖。
    Set configuration of repository
    圖5: Set configuration of repository
    Set password of repository
    圖6: Set password of repository

    設定組態及密碼後,專案貯藏庫的建立工作便算完成。接下來測試是否可以存取專案貯藏庫。請先啟動 Subversion server 。接下來,此例中將專案貯藏庫放置在 "d:\repository\hello_world" ,且啟動 Subversion server 時已經指定 "d:\repository" 為 root 目錄,所以專案的 URL 應該是 "svn://localhost/hello_world/" ,就以此 URL 向 Subversion server 提出 (checkout) hello_world 專案,提出的內容,稱之為工作複本 (working copy) 。此例將工作複本放在 "d:\src\hello" 。見圖「Checkout a repository」。如果一切無誤,那麼 Subversion 就會在 "d:\src\hello" 之中產生工作複本了。
    Checkout a repository by svn
    圖7: Checkout a repository by svn
    Checkout a repository by TortoiseSVN
    圖8: Checkout a repository by TortoiseSVN
    軟體專案管理的起點

    軟體專案管理之中,充斥了太多理論,有心提高軟體生產品質的使用者,不論是軟體開發團隊的 PM ,亦或是習慣為自己使用而動手寫程式的 programmer ,也許都被那些軟體專案管理的理論弄得昏頭轉向。然而它們的起點,都是從版本控制著手的。透過這篇快速入門,從無到有的設置服務並建立空白專案,只要三個步驟就完成了,相信可以讓各位了解建立一個版本控制服務其實並不難。接下來,我預計還會再完成一篇使用文章,以編寫程式碼的過程為實例,說明 svn 和 TortoiseSVN 的實用功能。
    [+]Roodo Cliip  回復  更多評論
      
    # re: 每日一學 2009/05/08 怎樣安裝配置 subversion server + apache
    2009-05-08 17:32 | Blog of JoJo
    首先下載Subversion Windows版本的服務器軟件,下載地址如下:
    http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
    文件為svn-1.2.0-setup.exe,然后執行安裝,安裝目錄如:d:\develop\subversion,然后設置一下系統的環境變量Path,將Subversion的bin路徑加入到系統的path中。

    創建Subersion庫:首先建立一個目錄存放Subversion的庫,在該庫中存放所以的Subversion項目,如D:\repository\subversion

    創建一個新的Subversion項目。
    只需執行: svnadmin create D:\repository\subversion\projectnamePHPChina
    下面需要設置項目的用戶信息,只需打開Subversion項目conf目錄下passwd文件添加新的用戶即可,
    [users]
    admin = mypassword
    接下來是設置項目的一些其他信息,打開conf目錄下的svnserve.conf文件,然后進行如下設置即可:
    [general]
    anon-access = read
    auth-access = write
    password-db = passwd
    realm = projectname

    啟動Subversion,這里可以通過命令行啟動,最好使用SVN Service Wrapper,你可以通過以下地址下載:http://dark.clansoft.dk/~mbn/svnservice,將SVNService.exe拷貝到Subversion安裝主目錄的bin目錄下即可,然后執行以下命令,就可以將Subversion以windows服務方式啟動啦。
    SVNService -install -d -r D:\repository\subversion

    向Subversion中導入項目:現在我們需要將項目導入到Subversion的庫中,只需執行一下命令: svn import d:\projectname svn://localhost/projectname -m “initial import” –username admin –password mypassword
    這樣項目就導入到subversion庫中啦。

    將項目導出:從Subversion項目中導出項目也很簡單,只需執行以下操作:
    svn co svn://localhost/projectname –username admin –password mypassword  回復  更多評論
      

    <2009年5月>
    262728293012
    3456789
    10111213141516
    17181920212223
    24252627282930
    31123456

    常用鏈接

    留言簿(6)

    隨筆檔案

    文章分類

    文章檔案

    新聞分類

    新聞檔案

    相冊

    收藏夾

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲专区先锋影音| 亚洲欧洲日产国产综合网| 亚洲人成免费电影| 国产乱妇高清无乱码免费| 国产成人亚洲午夜电影| 亚洲免费福利在线视频| 亚洲欧洲精品一区二区三区| 亚洲色图综合在线| 免费国产成人午夜私人影视| 丁香花免费完整高清观看| 免费福利在线播放| 最近中文字幕无免费| 最近中文字幕完整免费视频ww | 在线免费观看一区二区三区| 最近免费中文字幕大全免费版视频| 黄桃AV无码免费一区二区三区| 一个人看的www视频免费在线观看| 国产综合成人亚洲区| 在线播放免费人成视频网站| 特级毛片A级毛片免费播放| 黄网站色成年片大免费高清| 国产福利在线观看永久免费| 一级毛片免费在线| 最近免费中文字幕mv在线电影| 国产曰批免费视频播放免费s| 97无码免费人妻超级碰碰碰碰| 永久免费无码网站在线观看| 亚洲А∨精品天堂在线| 亚洲欧洲国产日韩精品| 亚洲一区二区久久| 国产午夜无码片免费| 大学生一级毛片免费看| 国产性爱在线观看亚洲黄色一级片| 亚洲精品福利视频| 美女被吸屁股免费网站| 免费A级毛片无码专区| 亚洲Av无码乱码在线播放| 亚洲国产精品网站久久| a色毛片免费视频| 中文字幕精品亚洲无线码一区| 亚洲午夜无码久久|