• <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>
            posts - 28, comments - 179, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            subversion安裝配置記錄

            Posted on 2007-07-02 10:18 chemz 閱讀(4232) 評論(2)  編輯 收藏 引用 所屬分類: Other
                                         subversion安裝配置記錄
                由于前些年在版本的管理上采用的都是CVS系統,總體上而言還是很優秀的,經過了多年
            的項目開發管理經歷,在使用CVS系統在管理中大型的軟件項目時還是遇到了很多不可克服的
            缺陷和局限性,主要表現在如下的幾個方向:
                1. 無法進行文件名稱的修改活動,這樣一來就會導致必須先刪除該文件再上傳,丟失了
                   歷史信息,要不就必須到服務上將xxx,v文件進行改名(我采用這種方法,不過總是
                   找管理員太不方便了);
                2. 目錄名稱沒有被管理,這樣就不能進行改名等動作,其實項目的目錄結構對于項目的
                   成功起了非常重要的作用,每次也只能到服務器上進行修改;
                3. 項目的分支代價太高,需要對每一個文件都進行標記,對于大的項目耗時太長,并且
                   基本上不能刪除廢棄了的分支和標記,因為那樣很容易導致項目倉庫的損壞,我就遇
                   到了好多次這種讓人發狂的情況;
                4. 對于文件二進制和文本的處理經常會出現混亂,結果就使將二進制文件當作文本上傳
                   后內容被擴展導致丟失,因為有些時候二進制文件的擴展名和某些文本文件的擴展名
                   相同了,所以導致CVS識別就會出錯。
                上面所列舉的就是我這多年來管理軟件項目開發時所遇到的幾個最大的問題,其他我沒
            有遇到的問題不易再次評價。所以為了能夠更好的解決版本管理中遇到的問題同時將版本的
            管理工作進一步的作好,前一段時間嘗試著安裝并配置了subversion(簡稱svn)系統,試圖
            使用svn來替換CVS系統,以解決上述問題。通過近三個月的使用感覺上目前還沒有遇到其他
            的什么工具移植上的問題,因為svn和CVS系統在命令行接口上報此一致,同時所使用的
            TorToiseSVN和TorToiseCVS基本上相同,所以適應性非常的好,同時也解決了上面的幾個問
            題,所以特將svn系統的安裝和配置過程記錄下來。
                1. Linux和svn的安裝
                   最好將svn系統安裝在Linux操作系統環境下,這樣一來系統比較的穩定可靠,同時
                   也可以減少很多的病毒和攻擊的服務器日常維護工作量;我將svn安裝在了RHEL5的
                   服務器版本下,其實該操作系統本身自帶有一個1.4.2的svn的版本,所以基本上來
                   將只要你在安裝操作系統時選擇了svn就會安裝該軟件系統了,同時還需要注意由于
                   我選擇了采用http協議作為svn的訪問協議,所以還必須同時安裝apache和對應與svn
                   的module,主要有如下的包需要安裝上去:
                       apr-1.2.7-11.i386.rpm
                       apr-util-1.2.7-6.i386.rpm
                       mod_dav_svn-1.4.2-2.el5.i386.rpm
                   如果你沒有安裝此三個軟件包,也可以在安裝完成后手工進行安裝就可以了,如果
                   要確認是否成功的安裝了svn可以通過如下的命令進行驗證:
                       svn --version
                2. apache和svn的配置
                   在安裝完成后就可以進行配置了,首先必須配置apache一使得apache能成功載入svn
                   的插件模塊。
                   2.1. apache的配置
                        進入到/etc/httpd/conf目錄下用vim打開httpd.conf配置文件進行選項的修改:
                        a. KeepAlive選項
                           該選項可以修改也可以不修改,主要是為了提高http協議訪問的性能,可以
                           使得svn倉庫的訪問更快,KeepAlive表示可以保持http的永久性TCP連接,
                           省去了每次都需要進行重建TCP連接的巨大開銷,找到如下幾個選項并修改:
                              KeepAlive On
                              MaxKeepAliveRequests 100
                              KeepAliveTimeout 15
                         b. ServerAdmin/ServerName選項
                            對于需要對系統進行管理的可以在ServerAdmin選項設置成為管理員的email
                            地址,這樣在出現問題時apache會自動發送郵件到該地址中;而ServerName
                            必須設置為本服務器的域名,如xxx.xxx.cn:80。
                   2.2. svn的配置
                        進入到/etc/httpd/conf.d目錄下用vim打開subversion.conf配置文件進行選項的
                        修改:
                        a. module的配置
                           一定要保證下面的兩句話存在于配置文件中,否則無法在如svn的模塊,就
                           無法訪問svn的倉庫了:
                           LoadModule dav_svn_module     modules/mod_dav_svn.so
                           LoadModule authz_svn_module   modules/mod_authz_svn.so
                        b. 倉庫目錄配置
                           項目倉庫就是用于存放項目目錄結構的服務器目錄,一般情況下Linux的規則
                           時間容易變化的內容存放在/var目錄下,所以我們需要在/var目錄下創建一個
                           svn目錄,這樣所有的項目的根目錄都作為/var/svn/目錄下的一級子目錄了,
                           這樣以來就可以在一個倉庫目錄下存放多個項目了;同時還必須在/var/svn/
                           目錄下創建一個conf目錄用于存放svn的配置文件,然后將下面的一段添加到
                           subversion.conf文件中:
                           <Location /svn>
                               DAV svn
                               SVNParentPath /var/svn
                               AuthType Basic
                               AuthName "Subversion repository"
                               AuthUserFile /var/svn/conf/passwd.conf
                               AuthzSVNAccessFile /var/svn/conf/authz.conf
                               Require valid-user
                           </Location>
                           上面的配置含義其實很好理解,就不一一解釋了,而對于passwd.conf和
                           authz.conf這兩個用戶密碼和權限的配置文件將會在下面的倉庫配置中進行
                           描述。
                     配置完成了上述的工作后我們需要驗證apache是否能夠啟動,一般情況下需要通過
                     如下的命令來設置apache自動在系統運行時啟動:
                         chkconfig --level 345 httpd on
                         service httpd start
                     第一句話表示將httpd設置成為在模式345下自動運行。
                3. 項目倉庫配置
                   倉庫的配置基本上來講就比較的簡單了通過如下的命令就可以創建一個項目的倉庫了:
                       cd /var/svn
                       svnadmin create proj
                   有了項目倉庫后還必須進行對應的訪問用戶和權限的配置,否則無法訪問,具體如下:
                       cd /var/sv/conf
                       htpasswd -b -c passwd.conf user1 pass1
                   這樣一來會自動地在/var/svn/conf目錄下創建一個passwd.conf密碼文件,同時里面
                   包含了user1用戶和其密碼pass1,要注意一旦運行了該命令后passwd.conf就會被創建
                   下次再添加用戶名和密碼時就不能夠在使用-c參數了,-c表示重新創建密碼文件,這
                   樣會導致以前的信息丟失,緊緊使用-b選項就可以了。
                   此時還需要創建一個權限控制文件authz.conf,可以通過vim authz.conf來完成:
                   一般情況下內容像下面這個樣子:
                    [groups]
                    g_leader = pm
                    g_dev = dev1,dev2,dev3
                    
                    #=============================== proj Repository ==========================
                    [proj:/]
                    @g_leader = r
                    @g_dev = rw
                    user1 = r
                    * =
                   
                    [proj:/xxx/tags]
                    @g_dev = r
                    dev1 = rw
                    * =
                   首先[groups]標記所定義的是分組信息(當然你可以不分組),一般會根據參與者的
                   性質對其進行分組,比如:團隊的領導、開發人員、測試人員、發行人員等,因為他、
                   們具有相似的權限,這樣也方便控制;定義的格式非常的簡單,等號的左邊表示組名,
                   右邊是用逗號隔開的用戶名。
                   下面就是具體的項目和目錄權限的配置了(可以做的很細,到每一個項目的子目錄),
                   [proj:/]標簽表示的是某個項目(proj)的目錄(/)的權限配置,其中proj表示項目
                   倉庫名稱,/表示項目的目錄名(此處是根目錄的意思);而下面就可以針對組或用戶
                   進行配置了,注意組名稱的前面必須要加一個@符號,權限只有三種:r、w、無;對于
                   不用允許訪問的用戶必須保證其等號的右邊是空的;svn的默認情況下是所有的用戶均
                   具有只讀權限,如果需要關閉這個默認的配置必須將* =添加到對應的配置中。
                4. 項目的導入
                   經過上面的配置后svn的系統就可以正常的運行了,此時還需要將項目的目錄導入到
                   倉庫中,一般情況下可以采用TorToiseSVN進行項目的import,其實很簡單只要在本
                   地硬盤中創建好項目的目錄,然后點擊鼠標右鍵選擇TortoiseSVN/Import菜單就可
                   以了。
                  
                  
             

            Feedback

            # re: subversion安裝配置記錄  回復  更多評論   

            2007-07-05 16:07 by walkspeed
            多多介紹。讓大家都使用起來。版本管理對以一個團隊來說非常的重要(三個人以上就是一個團隊了)。人會遺忘,而機器不會。不要將每個項目都從頭開始,要學會在以前的項目上修改。而這一切都需要版本的管理。

            # re: subversion安裝配置記錄  回復  更多評論   

            2007-07-06 23:00 by pass86
            在WINDOWS下怎么配置呢?TortoiseSVN在WINDOWS下的。
            免费国产99久久久香蕉| 亚洲精品高清国产一线久久| 国产精品久久久久久福利69堂| 久久国产乱子精品免费女| 国产精品成人久久久久三级午夜电影 | 国产香蕉久久精品综合网| 国内精品久久久久影院老司| 精品免费久久久久久久| 国产成人无码精品久久久免费| 久久久久久国产精品无码下载| 99久久99久久| 久久久久久综合网天天| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 久久ZYZ资源站无码中文动漫| 狠狠色综合久久久久尤物| 国内精品人妻无码久久久影院导航| 欧美亚洲国产精品久久蜜芽| 久久午夜免费视频| 国产精品99久久久久久猫咪| 97久久香蕉国产线看观看| 久久人与动人物a级毛片| 久久久久国产精品三级网| 丁香狠狠色婷婷久久综合| 亚洲狠狠婷婷综合久久久久| 亚洲国产成人久久综合区| 精品久久久久久无码人妻热| 2021精品国产综合久久| 久久人人爽人人爽人人AV| 综合久久精品色| 无码乱码观看精品久久| 久久精品国产一区二区 | 亚洲AⅤ优女AV综合久久久| 久久国产精品成人片免费| 久久精品国产亚洲AV香蕉| 亚洲国产精品嫩草影院久久| 午夜视频久久久久一区| 久久久精品视频免费观看| 久久99精品久久久久久噜噜| 久久婷婷五月综合色99啪ak| 久久久久国色AV免费看图片| 久久天天躁狠狠躁夜夜av浪潮|