乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      項(xiàng)目開發(fā)平臺(tái)搭建:svn+trac+viewvc

       ekylin 2006-08-06

      開發(fā)服務(wù)器環(huán)境搭建

      • 目的:在Linux平臺(tái)上搭建一個(gè)協(xié)同開發(fā)工作環(huán)境
      • 軟件:Linux 2.6 + Apache2 + PHP4.x + Mysql5.x; subversion1.3.1 + mantis1.0.2
      • 基本思路:
        • 使用LAMP搭建一個(gè)Web接口,便于管理
        • 使用subversion進(jìn)行版本控制
        • 使用trac進(jìn)行bug(缺陷)跟蹤(也可選用mantis)。
      一、安裝軟件
          在linux下常用的安裝方式是使用rpm包,我們選用yum(或者apt-get)工具來解決包之間的依賴關(guān)系,具體如何用法,這里不再贅述,不懂得問一下Mr. Google或者百度先生吧。如果你覺得自己用tar包,編譯安裝的方式比較爽,你也可以試一下,不過不推薦喲,別人幫你做好了,干嗎還要費(fèi)那個(gè)勁。我這里給出一個(gè)自動(dòng)化的腳本,可能里面某些軟件在你機(jī)器上的配置找不到,那么需要你到網(wǎng)上查一下,把相應(yīng)倉庫的地址加入到y(tǒng)um的配置文件當(dāng)中。

      #!/bin/bash

      # install python
      yum -y install python.i386 python-devel.i386 python-lxml.i386 python-sqlite.i386 python-clearsilver.i386 swig.i386 python-setuptools.noarch

      # install subversion
      yum -y install subversion.i386 subversion-devel.i386

       
      # install clearsilver
      yum -y install clearsilver.i386 clearsilver-devel.i386

       

      # install sqlite
      yum -y install clearsilver.i386 clearsilver-devel.i386

      # install LAMP
      yum -y install httpd.i386 mod_auth_mysql.i386 mod_dav_svn.i386 mod_log_sql.i386 mod_authz_ldap.i386 mod_python.i386 mod_ssl.i386

      yum -y install MySQL-python.i386 mysql.i386 mysql-devel.i386 mysql-server.i386

      yum -y install php-xml.i386 php.i386 mod_suphp.i386 php-devel.i386 php-ldap.i386 p-readline.i386

      # install optional
      yum -y install enscript.i386

      # install trac
      yum -y install trac.noarch

      # install mantis
      yum -y install mantis.noarch

      上述軟件安裝完成之后,默認(rèn)情況下trac被安裝在/usr/share/trac下,其他應(yīng)該在/bin或者/usr/bin目錄下。  
      軟件安裝完成之后,下面就開始我們的平臺(tái)搭建。我們要建立兩個(gè)工程projectA和projectB,使用WEB界面進(jìn)行管理。
      二、搭建平臺(tái)
      • 創(chuàng)建subversion倉庫并配置subversion

      假定倉庫的地址為 /work/repos,我們進(jìn)行如下的操作:

      #svnadmin create --fs-type fsfs /work/repos/projectA
      #svnadmin create --fs-type fsfs /work/repos/projectB
      經(jīng)過上面兩步,我們已經(jīng)創(chuàng)建了兩個(gè)倉庫,下面是要對(duì)它進(jìn)行一些設(shè)定了,主要就是訪問權(quán)限之類的以及服務(wù)運(yùn)行方式。關(guān)于subversion的用法,可以到其站點(diǎn)或者svn中國上找本文檔看看。

      • 權(quán)限的設(shè)置

      主要設(shè)置 /work/repos/ProjectA/conf/下面的passwd和authz文件,具體如何設(shè)置請(qǐng)查看svn的幫助。

      • 服務(wù)運(yùn)行方式

      subversion有三種運(yùn)行方式,本地,svnsever,以及同apache整合,我們要使用的是最后一種方式,后面會(huì)具體介紹如何配置。

      • 創(chuàng)建trac環(huán)境并對(duì)其進(jìn)行配置

      接下來我們要?jiǎng)?chuàng)建trac的環(huán)境,假定我們安裝到/work/trac-env/目錄下,使用如下命令:

      #trac-admin /work/trac-env/projectA initenv
      #trac-admin /work/trac-env/projectB initenv
      在執(zhí)行上述命令的時(shí)候會(huì)問你svn倉庫的地址,告訴它在/work/repos/projectA,/work/repos/ProjectB下面就是了,如果你弄錯(cuò)了也沒有關(guān)系,因?yàn)榭梢允謩?dòng)配置的,而且很簡單哪。配置文件放在了conf/trac.ini下,具體配置選項(xiàng)的意義和用法,這里也不講,參考其主頁上的說明。

      • 配置apache

      我們的主要精力放在了如何把subversion以及trac和apache結(jié)合起來,提供一個(gè)web管理界面上,所以這部分是我們的重頭戲。

      如果按照我們上面的腳本的安裝方式,在安裝完成后,在/etc/httpd/conf.d/目錄下面應(yīng)該有subversion.conf和trac.conf兩個(gè)文件,我們分別配置他們就行了,二者沒有必然的聯(lián)系。

      • 首先來配置subversion
      主要是配置 /etc/httpd/conf.d/subversion.conf

      LoadModule dav_svn_module     modules/mod_dav_svn.so
      LoadModule authz_svn_module   modules/mod_authz_svn.so
      #上面兩行用于家在模塊
      <Location /repos>
         DAV svn
      #   SVNPath /work/repos/projectA #如果只顯示一個(gè)工程,則用這個(gè)
         SVNParentPath /work/repos #顯示所有工程
      # 下面進(jìn)行權(quán)限配置
      #   # Limit write permission to list of valid users.
         <LimitExcept GET PROPFIND OPTIONS REPORT>
      #      # Require SSL connection for password protection.
      #      # SSLRequireSSL
      #
            AuthType Basic
            AuthName "subversion repository"
            AuthUserFile /work/repos/.htpasswd  #密碼文件必須用htpasswd生成
            AuthzSVNAccessFile /work/repos/.authz #管理組的權(quán)限
            Require valid-user
         </LimitExcept>
      </Location>
      可以使用命令 #htpasswd -cm /work/repos/.htpasswd lirui來為用戶lirui添加密碼,建立文件/work/repos/.authz,并按照svn的格式要求配置它。

      在配置完成后,重新啟動(dòng)http服務(wù):#apachectl restart
      這時(shí)候就可以通過命令:svn co http://your_site_ip/repos/projectA
      把projectA的源碼check到本地了(前提是你有相應(yīng)權(quán)限),如果具有寫權(quán)限,以后可以直接通過svn commit命令提交修改結(jié)果。

      • 再來配置trac

      配置/etc/httpd/conf.d/trac.conf,下面是給出的一個(gè)藍(lán)本

      #設(shè)定目錄權(quán)限,如果不設(shè)置這個(gè),你會(huì)得到?jīng)]有訪問權(quán)限的錯(cuò)誤,很煩人喲
      <Directory "/usr/share/trac/htdocs">
          Order allow,deny
              Allow from all
      </Directory>
       #以后你就可以輸入 http://your_site/trac來訪問,執(zhí)行的就是這個(gè)trac.cgi

      ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi

      ### Trac need to know where the database is located
      <Location "/trac">
       #       SetEnv TRAC_ENV "/work/trac-env/projectA" #如果只顯示一個(gè)工程,用這個(gè)
            SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #顯示多個(gè)工程
      </Location>
       
      ### You need this to allow users to authenticate
      <Location "/trac/login">
          AuthType Basic
          AuthName "trac"
          AuthUserFile /work/trac-env/trac.htpasswd #使用htpasswd生成的密碼文件
          Require valid-user
      </location>

      ScriptAlias /trac/projectA /usr/share/trac/cgi-bin/trac.cgi

      ### Trac need to know where the database is located
      <Location "/trac/projectA">
            SetEnv TRAC_ENV "/work/trac-env/projectA" #如果只顯示一個(gè)工程,用這個(gè)
       #      SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #顯示多個(gè)工程
      </Location>
       
      ### You need this to allow users to authenticate
      <Location "/trac/project/Alogin">
          AuthType Basic
          AuthName "trac"
          AuthUserFile /work/trac-env/projectA/trac.htpasswd #使用htpasswd生成的密碼文件
          Require valid-user
      </location>

      ScriptAlias /trac/projectB /usr/share/trac/cgi-bin/trac.cgi

      ### Trac need to know where the database is located
      <Location "/trac/projectA">
             SetEnv TRAC_ENV "/work/trac-env/projectB" #如果只顯示一個(gè)工程,用這個(gè)
       #      SetEnv TRAC_ENV_PARENT_DIR "/work/trac-env" #顯示多個(gè)工程
      </Location>
       
      ### You need this to allow users to authenticate
      <Location "/trac/project/Alogin">
          AuthType Basic
          AuthName "trac"
          AuthUserFile /work/trac-env/projectB/trac.htpasswd #使用htpasswd生成的密碼文件
          Require valid-user
      </location>

       至此,我們已經(jīng)配置完了,現(xiàn)在在瀏覽器輸入 http://your_site_ip/trac/projectA 就能看到一個(gè)web界面的管理系統(tǒng)了,好好體驗(yàn)一把嘍。

      還有一點(diǎn)不是很爽,有時(shí)候我們需要只輸入IP就能找到我們需要的網(wǎng)頁,比如我們輸入http://your_site就得到一個(gè)頁面,而不要http://your_site_ip/trac/projectA才得到。我的做法是建立文件/var/www/html/index.html,并設(shè)置其轉(zhuǎn)到對(duì)應(yīng)頁。下面是我的一個(gè)設(shè)置:

      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
      <html>
      <head>
        <title>Redirection</title>
        <meta http-equiv="refresh" content="0;URL=/trac/projectA">
      </head>
      <body>
      <h1><center>
                      edirecting to trac bug system ...<br>
              <a href="/trac/projectA">哈哈,到這來</a>
      </h1>
      </body>
      </html>

      三、使用簡介

      • svn 使用簡介
      如果你之前使用過cvs,那么你肯定也會(huì)用svn,因?yàn)樗鼈兊拿罨疽粯?,而且常用的也就那么幾個(gè)“ update, commit, status, log“等,如果沒有用過,那么找本svn book來看,或者直接到 http://subverion. 上面看它的文檔吧
      • trac使用簡介
      主要講述它的導(dǎo)航欄中每個(gè)項(xiàng)目的用途
      • 在wiki上發(fā)布項(xiàng)目的各種文檔,項(xiàng)目信息等;
      • souce一欄可以看到工程的源碼,而且可以看到詳細(xì)的更改信息,語法高亮,版本記錄,修改信息等,而且可以以不同顏色區(qū)分兩個(gè)版本的不同,比cvs有更好的界面
      • 使用ticket來匯報(bào)bug,可以對(duì)bug進(jìn)行跟蹤,可以設(shè)置郵件提醒
      • 在roadmap一欄,對(duì)工程進(jìn)度進(jìn)行跟蹤
      • 可以提供Rss支持,訂閱RSS,隨時(shí)跟蹤網(wǎng)站的變化
      l

      這里也給出另外一種選擇: svn(cvs)〔版本控制〕 + viewVC〔web界面〕 + mantis〔bug追蹤〕,如果可能的話,我會(huì)給出這種選擇的配置情況。這里有一篇講述如何在windows下安裝viewVC的 http://schnell.blogchina.com/4627119.html , 還有竹筍炒肉的mantis學(xué)習(xí)筆記http://hedong./archives/000263.html

      四 viewvc 安裝手記

      基本步驟如下

      1. 下載viewvc-1.0.0.tar.gz和enscript-1.6.4.tar.gz
      2. 將二者分解解壓縮進(jìn)行安裝
      3. 拷貝安裝viewvc目錄下 bin/cgi/viewvc.cgi 到 /var/www/cgi-bin/viewvc.cgi
      4. 配置viewvc,告訴它你的源碼倉庫所在的位置
      5. 如果需要的話,還可以為apache配置scriptAlias 
      這里給出一個(gè)自動(dòng)安裝的腳本,它自動(dòng)幫你完成了上面的1,2,3步的工作

      #!/bin/bash
      wget http://viewvc./files/documents/3330/31766/viewvc-1.0.0.tar.gz
      wget http://www./mtr/genscript/enscript-1.6.4.tar.gz

      tar -xf enscript-1.6.4.tar.gz
      cd enscript-1.6.4
      ./configure
      make && make install

      # if success, enscript will install on /usr/local/bin /usr/local/share/enscript

      tar xf viewvc-1.0.0.tar.gz
      cd viewvc-1.0.0
      # just press <enter> for options
      read pause
      ./viewvc-install

      # just press <enter> for options
      echo ‘install viewvc ok‘
      # after that viewvc will be installed in /usr/local/viewvc-1.0.0

      cp /usr/local/viewvc-1.0.0/bin/cgi/viewvc.cgi /var/www/cgi-bin

      echo ‘++++++++++++++++++++++++++++++++++++++++++++++++++‘
      echo ‘| configure /usr/local/viewvc-1.0.0/viewvc.conf |‘
      echo ‘++++++++++++++++++++++++++++++++++++++++++++++++++‘
      這里再給出一個(gè)viewvc的配置范例,其中主要設(shè)置的地方在 root_parents,default_root 以及有關(guān)enscript用于語法高亮的東西
      root_parents = /home/svn-repos: svn,
      /home/cvs-repos: cvs
      default_root = hypersim
      use_rcsparse = 0
      address = <div>Administered by: <strong>ASL HyperSim Team</strong> <a href="mailto:lirui@ncic.ac.cn">lirui</a>
      forbidden =
      kv_files =
      languages = en-us

      [options]
      root_as_url_component = 0
      default_file_view = log
      checkout_magic = 0
      http_expiration_time = 600
      generate_etags = 1
      sort_by = file
      sort_group_dirs = 1
      hide_attic = 1
      log_sort = date
      diff_format = h
      hide_cvsroot = 1
      hr_breakable = 1
      hr_funout = 0
      hr_ignore_white = 1
      hr_ignore_keyword_subst = 1
      hr_intraline = 0
      allow_annotate = 1
      allow_markup = 1
      allow_compress = 1
      template_dir = templates
      show_subdir_lastmod = 0
      show_logs = 1
      show_log_in_markup = 1
      cross_copies = 1
      use_localtime = 0
      py2html_path = .
      short_log_len = 80

      #setting for syntax highlightning
      use_enscript = 1
      enscript_path = /usr/loca/bin
      # should we add line numbers?
      highlight_line_numbers = 1
      # convert tabs to ## spaces (use 0 for no conversion)
      highlight_convert_tabs = 4

      use_php = 0
      php_exe_path = php
      allow_tar = 0
      use_cvsgraph = 0
      cvsgraph_path =
      cvsgraph_conf = cvsgraph.conf
      use_re_search = 0
      use_pagesize = 0
      limit_changes = 100

      [cvsdb]
      enabled = 0

      其中這些都在各自的領(lǐng)域做的都很好,如果有一個(gè)能夠把這些工具集大成者,就很好了,有個(gè)scmbug好像在做這方面的努力。

       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多