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

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

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

    隨筆-124  評論-194  文章-0  trackbacks-0

    一、安裝很easy

    Debian下:

    安裝Subversion包:

    apt-get install subversion

    安裝SSL方式訪問所需要的包,注意必需要apache2才行。這里libapache2-svn包括一個dav模塊用來通過APACHE模塊訪問SVN數據;openssl是用來生成證書用的;apache2-utils是包括a2enmod命令,不要也行。

    apt-get install apache2 libapache2-svn openssl apache2-utils

    其它系統,WINDOWS下就下載相應包來直接安裝。

    LINUX下需要下載包后解壓,再make & make install在這里,少不了就是這些:

    tar xjvf subversion-xxx.tar.bz2

    cd subversion-1.3.1

    ./configure --prefix=/usr/local/subversion

    make

    另外,需要在開發機器上安裝訪問客戶端,在這里

    這個客戶端相當好用,和explore結合的相當好。

    二、SSL訪問是上上之選

    強烈建議使用WEBSSL方式來使用服務,雖然開始配置麻煩點,但一勞永逸。

    這種方式比較安全,且不占用多余端口,另外,從外部通過WEB方式訪問時也比較安全。量大不加價。

    三、subversion配置十分簡單

    官方配置使用文檔相當清楚易懂,在這里。缺點就是婆婆媽媽一大堆,廢話太多。下面是過程:

    找個地方,為subversion創建一個根目錄,以后所有東西都放這里。先以root用戶先建立目錄,呆會再改權限:

    svnadmin create /svnroot

    編輯/svnroot/conf/svnserve.conf,就3句話:

    [general]

    anon-access =none

    auth-access = write

    password-db = passwd

    順次是:沒認證的不能登陸;通過認證的有寫權限;密碼文件是本目錄下的passwd文件。

    馬上編輯這個/svnroot/conf/passwd文件,加入你要的用戶:

    [users]

    harry = harrypass

    sally = sallypass

    再來說下權限,svnroot最好讓一個單獨的系統用戶訪問,不用root更安全。現在創建個srcusr

    popeye:~# useradd srcusr

    popeye:~# passwd srcusr

    Enter new UNIX password:

    Retype new UNIX password:

    passwd: password updated successfully

    把目錄權限交給這個用戶:

    chown –R srcusr:srcusr /svnroot/

    因為apache2是以www-data用戶運行的,要讓它也能寫這個目錄,不然你怎么commit呢。

    adduser www-data usrsrc

    chmod -R g+w /svnroot/

    先將它加入usrsrc用戶組,再修改屬性讓組成員有寫權限。

    到這步,如果你要求不高,就算配置完成了,一句:

    svnserve -d --listen-port 3690 --listen-host 0.0.0.0 -r /svnroot

    啟動就可以用了,當然客戶端訪問要用,svn://打頭。注意listen-host去不得,不然就是用ipv6偵聽,你就啥也連不過來了。

    最好還是以srcusr用戶權限來啟動那就這樣寫:

    su – srcusr –c “svnserve -d --listen-port 3690 --listen-host 0.0.0.0 -r /svnroot”

    由于我們要配置更安全的方式所以繼續往下走。

    四、透過APACHE2來訪問SUBVERSION服務(非SSL方式)

    加載mod_dav_svnssl模塊:

    a2enmod mod_dav_svn

    a2enmod ssl

    這是個工具,名字就是add to enable module,如果沒有這個工具,可以直接:

    cd ./mods-enabled/

    ln -s /etc/apache2/mods-available/ssl.* .

    建立enableavailable的鏈接,就是開啟模塊了,跟這個命令干的事一樣。

    編輯/etc/apache2/httpd.conf文件,加入SUBVERSION的幾行配置,注意開頭處的/repos表明了你在URL里識別路徑。如:

    http://your.host.com/repos/project1/trunk

    APACHE2發現是/repos路徑,就會調用DAV模塊,訪問的就是系統路徑:

    /svnroot/project1/trunk

    配置如下:

    ServerName localhost

    <Location /repos>

    #DAV模塊訪問數據

     DAV svn

    #你的SVN根路徑

     SVNPath /svnroot

    #如果不要SSL,可以不要下面這句

     SSLRequireSSL

     AuthType Basic

     AuthName "Subversion repository"

    #在下面我們馬上要建立這個密碼文件

     AuthUserFile /etc/svn-auth-file

     Require valid-user

    </Location>

    為之前/svnroot/conf/passwd里的用戶生成HTTP的驗證文件:

    $ htpasswd -cm /etc/svn-auth-file harry

    New password: *****

    Re-type new password: *****

    Adding password for user harry

    $ htpasswd -m /etc/svn-auth-file sally

    New password: *******

    Re-type new password: *******

    Adding password for user sally

    重啟服務:

    /etc/init.d/apache2 restart

    到這里,如果你不用SSL,那么就可以用http://your.host.com/repos/project1/trunk

    形式的網址訪問了。瀏覽器會讓你輸入用戶名密碼。

    但這種方式密碼和內容是明文傳送,為了安全我們還是需要SSL方式。

    五、SSL配置一步一步來也不麻煩

    SSLsubversion沒有什么關系,是APACHE2的配置,這些配置也適用于你想讓人家用https來訪問你網站的情況。

    先通過我之前的一篇文章,不但了解了SSL是咋回事,還順便生成了APACHE要的證書。

    注意:只要看到:cat key.pem cert.pem >key-cert.pem生成了這個文件就可以了。

    把這個文件改名并存到:/etc/apache2/ssl/apache.pem,后面配置時用。

    文章:在這里。開始我也不會,會了以后,發現很簡單。

    現在基本條件都已經具備,只要讓APACHE2使用SSL443端口(即https)就可以了。

    先在/etc/apache2/ports.conf里加入:

    Listen 80

    <IfModule mod_ssl.c>

        Listen 443

    </IfModule>

    這樣APACHE2就會在443偵聽。

    再編輯一個虛擬HOST文件,讓APACHE2識別SSL

    cp ./sites-available/default ./sites-enabled/ssl

    有點像啟動MODULE時候的方式,在ENABLED目錄加入一個文件,從一個DEFAULT文件開始。

    編輯這個文件,只要改變開頭:

    NameVirtualHost *:443

    <VirtualHost *:443>

            SSLEngine On

            SSLCertificateFile /etc/apache2/ssl/apache.pem

    ……

    這里的配置就用到了我們先前生成的證書文件。

    另外,原來在此目錄下有一個文件,也需要改一下,把開頭改成:

    NameVirtualHost *:80

    <VirtualHost *:80>

    這樣就有兩個虛擬HOST,分別是80443端口。

    重啟服務:

    /etc/init.d/apache2 restart

    再以https://your.host.com/repos/project1/trunk訪問就可以看到像訪問其它HTTPS網站彈出的接受證書的對話框。在TortoiseSVN里,也是輸入這個路徑就可以。

    好多文檔講得相當復雜,其實,天長日久的基本使用無非就是那幾項。

    下面是簡單明了的使用方式:

    將存在的項目導入到SVN

    mkdir -p /tmp/svn/usertools/trunk
    cd /path/to/usertools
    cp -Rp * /tmp/svn/usertools/trunk
    cd /tmp/usertools
    cd /tmp/svn
    svn import svn://servername_or_IPADDRESS/svnroot ."
         -m "Initial import of usertools"

    之后,可以在任意地方將整個項目CHECKOUT出來進行編輯。我覺得SVN最大好處是不用像CLEARCASE那樣每個文件都要CHECKOUT才能編輯,它是一次CHECKOUT,最后再全部COMMIT

    svn checkout svn://servername_or_IPADDRESS/svnroot/usertools/trunk "
            usertools-current

    我們就這樣開發下去,不斷向TRUNK分支COMMIT代碼,直到有一天我們要RELEASE了,就再創建兩個分支,用svn copy命令:

    svn copy svn://servername_or_IPADDRESS/svnroot/usertools/trunk "
            svn://servername_or_IPADDRESS/svnroot/usertools/1.0-release
    svn copy svn://servername_or_IPADDRESS/svnroot/usertools/trunk "
            svn://servername_or_IPADDRESS/svnroot/usertools/1-maint

    一個是RELEASE分支,一個用來做維護。這樣,我們繼續開發新功能到TRUNK上,如果需要維護,就在1-maint分支上做,如果有需要可以把改動MERGETRUNK

    svn checkout svn://servername_or_IPADDRESS/svnroot/usertools/1-maint "
            usertools-1-maint
    cd usertools-1-maint
    svn merge -r svn://servername_or_IPADDRESS/svnroot/usertools/trunk
    svn commit -m "Merged mantein branch into trunk"

    如果需要RELEASE1.1版本,直接在1-maint上做:

    svn copy svn://servername_or_IPADDRESS/svnroot/usertools/1-maint "
            svn://servername_or_IPADDRESS/svnroot/usertools/1.1-maint
     
    最后,MERGE圖是這樣:
    ------------------------------------------------ usertools-trunk -->
    \                             |           |   \
     ----- usertools-1.0          |           |    --- usertools-2.0
     |                            |           |    |
     ------ usertools-1.0-maint ---------------    ---- usertools-2.0-maint
                                \               \
                                 usertools-1.1 usertools-1.2
     

    使用參看了:這里

    posted on 2007-11-13 13:04 我愛佳娃 閱讀(1879) 評論(0)  編輯  收藏 所屬分類: 服務配置
    主站蜘蛛池模板: 久久www免费人成看国产片| 久久久久久国产a免费观看黄色大片| 国产亚洲精品AA片在线观看不加载 | 中文字幕亚洲激情| 日本免费大黄在线观看| 国产亚洲精品成人AA片| 日韩亚洲国产二区| 久久综合给合久久国产免费| 亚洲精品中文字幕无码A片老| 亚洲伊人色欲综合网| 国产成人精品免费午夜app| 免费人成网上在线观看| 亚洲精品在线观看视频| 国产午夜免费福利红片| 99蜜桃在线观看免费视频网站| 亚洲欧美日本韩国| 亚洲bt加勒比一区二区| 免费va人成视频网站全| 在线观看www日本免费网站| 牛牛在线精品免费视频观看| 亚洲国产美女在线观看| 亚洲午夜久久久久久久久电影网 | 国产亚洲成AV人片在线观黄桃| 免费看韩国黄a片在线观看| 日本一区午夜艳熟免费| 久久亚洲中文字幕无码| 亚洲首页在线观看| 久久久亚洲精品蜜桃臀| 日韩免费视频观看| 99久久免费国产香蕉麻豆| 97在线免费观看视频| 成人婷婷网色偷偷亚洲男人的天堂 | 日韩成人精品日本亚洲| 亚洲欧洲精品久久| 亚洲日韩中文字幕在线播放| 日本高清免费网站| 国产卡二卡三卡四卡免费网址| 四虎影视无码永久免费| 特a级免费高清黄色片 | 国产精品亚洲а∨无码播放麻豆| 亚洲美女视频一区二区三区|