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

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

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

    靈魂-放水

    為學(xué)日益,為道日損。

    BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
      296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks
    一、安裝
    第一次安裝Subversion,在昨天的安裝過程中,出現(xiàn)了一些問題:
    第一步,安裝Apache+Subversion
    ?????? 首先,我選擇了apache_2.2.3+svn-1.3.2的組合。開始安裝Apache server就報錯,提示http.conf第133行出錯,打開在前面加了個#,啟動成功。接著安裝svn-1.3.2,配置好httpd.conf之后發(fā)現(xiàn)apche的服務(wù)無法啟動,說是無法加載mod_dav_svn.so。baidu之后發(fā)現(xiàn)是svn無法在apache2.2下面安裝,其官方下載頁面也有提示說:Note that the Apache modules included in this package was compiled against Apache HTTP Server 2.0, and thus will not work with Apache HTTP Server 2.2.下載的過程中,沒注意這個東西!下次得多留意這些細(xì)節(jié)。

    ?????? 只好重新下載安裝apache_2.0.59版本,把Subversion/bin下面所有.dll文件復(fù)制到Apache Group\Apache2\bin下,提示有文件覆蓋,選擇不覆蓋;再將Subversion/bin下的.so文件復(fù)制到Apache Group\Apache2\modules下。

    安裝Apache2.x時注意事項:

    請確保你輸入正確的服務(wù)器URL(如果你的服務(wù)器沒有DNS名稱,你可以直接輸入IP地址)。我建議你將Apache安裝成 for all Users,on Port 80,as a service。注意:如果你已經(jīng)有一個IIS或者其它的程序使用80端口,安裝可能會失敗。如果是這樣,你可以到程序目錄下的Apache Group\Apache2\conf目錄中找到文件httpd.conf,將其中的Listen 80改成一個不用的端口,比如Listen 81。重新運(yùn)行安裝程序,這次應(yīng)該不會再有問題了。


    第二步,修改apache的配置文件
    接著打開Apache HTTP Server 的 httpd.conf(在 /conf/ 目錄下),先找到以下兩行:
    #LoadModule dav_module modules/mod_dav.so
    #LoadModule dav_fs_module modules/mod_dav_fs.so
    把這兩行最前面的 '#' 字符刪除,然后把下面這行加到這些 LoadModule 指令的后面:
    LoadModule dav_svn_module modules/mod_dav_svn.so
    LoadModule authz_svn_module modules/mod_authz_svn.so
    用記事本打開 Apache HTTP Server 的 httpd.conf,在文件最后面加上以下幾行:
    <Location /svn>
    ??? DAV svn
    ??? SVNParentPath d:/svn
    </Location>
    其中d:/svn為你要建的倉庫的父目錄(必須為本地目錄),最好用雙引號引一下.

    第三步,創(chuàng)建倉庫
    根據(jù)apache的配置文件的設(shè)置建立目錄:d:/svn.然后我們就可以在下面建立倉庫了,創(chuàng)建方法如下:
    c:\>svnadmin create d:/svn/repository(svn大寫的時候居然驗證訪問被拒絕)
    命令執(zhí)行成功之后,會在d:/svn/repository下面生成很多的文件和目錄

    第四步,使用
    重新啟動Apache Server
    在瀏覽器中輸入網(wǎng)址:
    http://localhost/svn/repository/
    這時候,看到頁面顯示:

    Revision 0: /
    Powered by Subversion version 1.3.2 (r19776).





    安裝成功,接下來將進(jìn)行進(jìn)一步的設(shè)置。

    二、配置

    1.? 以兩種方式運(yùn)行

    (1) 以apache方式運(yùn)行
    ? svn使用apache的權(quán)限管理對檔案庫及目錄進(jìn)行讀寫管理。
    ??htpasswd的調(diào)用:
    ??? 1)用cmd進(jìn)入到Apache的bin目錄下,直接開始調(diào)用
    ??? 2)把htpasswd添加到系統(tǒng)變量里.
    ??
    ? 建立保存用戶名和密碼的文件
    ? htpasswd -c? svn-auth-filename? username1
    ? 然后,會提示輸入密碼,這里就加入了一個用戶了。然后再加一個用戶:
    ? htpasswd -m ?/svn-auth-filename username2
    ?
    ? 建立控制用戶訪問權(quán)限的文件svn-access-filename
    ?[svn1:/]?????????????? //這表示,倉庫svn1的根目錄下的訪問權(quán)限
    ?harry = rw???????????? // svn1倉庫harry用戶具有讀和寫權(quán)限
    ?sally = r?????????????? // svn1倉庫sally用戶具有讀權(quán)限
    ?[svn2:/]?????????????? //svn2倉庫根目錄下的訪問權(quán)限
    ?harry = r?????????????? // harry用戶在svn2倉庫根目錄下只有讀權(quán)限
    ?sally =?????????????? // sally用戶在 svn2倉庫根目錄下無任何權(quán)限
    ?[svn2:/src]?????????? //svn2倉庫下src目錄的訪問權(quán)限
    ?harry=rw????????????
    ?sally=r
    ?[/]????????????????? // 這個表示在所有倉庫的根目錄下
    ?* = r?????????????? // 這個表示對所有的用戶都具有讀權(quán)限
    ?[groups]?????????????? // 這個表示群組設(shè)置
    ?svn1-developers = harry, sally?????????? // 這個表示某群組里的成員
    ?svn2-developers = sally
    ?[svn1:/]???????????
    ?@svn1-developers = rw?????? // 如果在前面加上@符號,則表示這是個群組權(quán)限設(shè)置
    ?
    然后修改httpd.conf配置:
    <Location /svn>
    DAV svn
    SVNParentPath /svn
    AuthType Basic
    AuthName "Subversion repository"(注意引號)
    AuthUserFile? svn-auth-filename (保存用戶名和密碼)
    Require valid-user
    AuthzSVNAccessFile? svn-access-filename(保存用戶訪問的權(quán)限策略)
    </Location>
    (注:)
    svn-access-filename,svn-auth-filename 文件直接可以放到C:\Program Files\Apache Group\Apache2\下,這也是默認(rèn)的目錄,置于其他目錄下,啟動apache server出現(xiàn)錯錯誤。
    AuthUserFile文件需要用htpasswd工具創(chuàng)建、維護(hù);AuthzSVNAccessFile 文件可以用Subversion創(chuàng)建倉庫以后,生成的conf文件夾下面的authz文件加以修改。
    如果已經(jīng)有一個apache服務(wù),希望兩個apache服務(wù)同時運(yùn)行,則修改其中一個的服務(wù)端口。
    修改httpd.conf中的一行: Listen 80 將80改成其他不用的端口號

    啟動apahce就可以通過
    http://svnmachine-ip/svn/svn1
    http://svnmachine-ip/svn/svn2
    這兩個URL來訪問倉庫了,當(dāng)然,要受權(quán)限的限制,必須是合法用戶才能訪問且具有相應(yīng)的權(quán)限

    (2) svnserve方式運(yùn)行
    這種方式的運(yùn)行又可以分為以下兩種(這和vsftp有些相似)
    1) standalone mode
    直接運(yùn)行 #svnserve –d
    運(yùn)行 lsof -i :3690可以看到SVN服務(wù)器已經(jīng)在運(yùn)行

    2) xinetd mode
    在/etc/xinetd.d/下生成svnserve文件,內(nèi)容如下
    service svnserve
    {
    disable = no
    socket_type = stream
    protocol = tcp
    wait = no
    user = svnpub? (最好建一個這樣的用戶管理svn)
    server = /usr/local/bin/svnserve
    server_args = -i
    }
    編輯 /etc/services 檔,加入底下兩行:
    svnserve 3690/tcp # Subversion svnserve
    svnserve 3690/udp # Subversion svnserve
    重啟xinetd服務(wù),運(yùn)行 netstat -a|grep svnserve 可以看到SVN服務(wù)器已經(jīng)在運(yùn)行

    默認(rèn)下客戶可以以匿名方式通過svn://方式任意訪問檔案庫,為了限制其權(quán)限,比如只允許讀操作,可以通過修改檔案庫conf子目錄中的svnseve.conf文件來實(shí)現(xiàn)。
    #vi /svn1/conf/svnseve.conf
    將下面三行前的#去掉
    anon-access = none??????????? //則匿名用戶不可以通過svn://方式訪問檔案庫
    auth-access = write????
    password-db = passwd????????? //使用passwd中的用戶名和密碼進(jìn)行認(rèn)證,有一點(diǎn)不好的是這里面的密碼輸?shù)氖敲魑?br />authz-db = authz????????????? //使用authz中的權(quán)限控制策略,寫法如同apache中的svn-access-filename

    如果想更強(qiáng)的安全性可以使用svn+ssh://訪問機(jī)制。
    首當(dāng)用戶通過svn+ssh://訪問時,服務(wù)器會自動啟動ssh認(rèn)證機(jī)制,要求用戶輸入密碼,對于window用戶來說還需要安裝第三方軟件openssh,才可以采用這種機(jī)制。

    2.? 將代碼導(dǎo)入項目倉庫。在要導(dǎo)入倉庫的目錄上面點(diǎn)擊右鍵,點(diǎn)擊TortoiseSVN項的子菜單Import…在URl里面填寫http://服務(wù)器IP/svn/project,這里project就是剛剛建立的項目倉庫,

    在下面填入注釋,點(diǎn)擊OK,彈出提示輸入用戶名密碼對話框,填入flmn和password,就可以把代碼導(dǎo)入倉庫了。剛剛導(dǎo)入的文件并沒有顯示被svn管理,現(xiàn)在把這個目錄里文件都刪除,再在右鍵菜單里選擇SVN Checkout…就可以導(dǎo)出代碼,再看這個目錄,就有個小圖標(biāo)在文件夾圖標(biāo)下面了。

    3.? 對于其它操作,和CVS差不多,這里就不贅述了。可以參考TortoiseSVN幫助文件。


    posted on 2006-08-28 10:20 放水老倌 閱讀(666) 評論(0)  編輯  收藏 所屬分類: 配置管理
    主站蜘蛛池模板: 乱爱性全过程免费视频| 久久亚洲精品11p| 亚洲色一区二区三区四区| 国产亚洲精品成人久久网站| 无码免费又爽又高潮喷水的视频| 抽搐一进一出gif免费视频| 暖暖在线视频免费视频| 国产香蕉九九久久精品免费| 国产免费牲交视频| 亚洲精品高清无码视频| 亚洲六月丁香六月婷婷蜜芽| 亚洲爆乳大丰满无码专区| 国产VA免费精品高清在线| 4444www免费看| 四虎1515hm免费国产| 亚洲AV无码专区国产乱码电影| 亚洲免费网站在线观看| 婷婷亚洲综合一区二区| 免费黄网站在线看| 国内自产拍自a免费毛片| 国产亚洲视频在线播放| 国产成人精品日本亚洲18图| 日产久久强奸免费的看| 最近免费最新高清中文字幕韩国| 国产成人免费片在线视频观看| 亚洲第一极品精品无码久久 | 国产中文字幕免费观看| 国产国拍亚洲精品mv在线观看| 亚洲偷自精品三十六区| 韩国免费A级毛片久久| 97人伦色伦成人免费视频 | 亚洲人成网站在线观看播放| 亚洲一级毛片视频| 一区二区在线免费视频| 91嫩草国产在线观看免费| 中文字幕亚洲一区| 亚洲精品人成网在线播放影院| 香蕉免费在线视频| 四虎在线视频免费观看| 亚洲无线电影官网| 成人午夜影视全部免费看|