• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    基于開源軟件的開發環境搭建

    發布: 2008-8-13 11:34 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 48次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:

    IP管理(DHCP):服務器IP地址的管理和解析(結合SAMBA的WINS服務),開發客戶端的IP管理;
    WEB服務(APACHE):文檔共享,CVS的WEB界面瀏覽,論壇工具等;
    FTP服務(FTP):用于文件下載/共享;
    版本控制(CVS):程序源代碼和文檔的版本控制;
    文件共享(SAMBA):基于NETBIOS的文件共享,方便WINDOWS客戶端的訪問(比如一些工具的安裝等);
    數據庫服務器(MYSQL):一些應用的后臺數據庫服務;
    備份機制(wget + rsync):備份
    很多設置是缺省按照在bash環境中,在tcsh環境中,有一些設置不太一致。

    服務器規劃如下:

     

    硬件準備:至少要2臺服務器
    從理論上說,任何系統的崩潰只是時間問題,而且誰也不能保證開發者不犯錯誤;
    解決以上問題的辦法只有:備份,備份,備份……
    操作系統準備

    FreeBSD或GNU/Linux,系統安裝時,本文的配置主要以在RedHat 8上運行為例。注意:安裝時要將“開發工具”大選上,后面的很多工具都需要使用GCC進行編譯,有的應用腳本運行用到了perl。2臺主服務器分別使用 IP地址192.168.0.200和192.168.0.201
    語言環境缺省設置:

    vi /etc/sysconfig/i18n

    刪除UTF-8相關設置:
    LANG="en_US"
    SUPPORTED="en_US:en"
    SYSFONT="latarcyrheb-sun16"

    GNU/Linux安裝完后:經常有很多不必要的服務需要刪除,但根據服務器的不同,要刪除的服務也不一樣:本來是想總結一個統一的腳本,后來發現是需要刪除的服務比需要保留的服務多,而且缺省有那些服務和系統版本,安裝的模式也相關。這里我總結的了一個簡單的方法來刪除不必要的服務:

    首先:備份原始服務設置:

    #chkconfig --list > chkconfig.orig

    生成刪除腳本:把所有在LEVEL 3啟動的服務過濾出來,并生成chkconfig service off 這樣的命令

    #chkconfig --list | grep 3:on | awk '{print "chkconfig "$1" off"}'
    chkconfig kudzu offchkconfig syslog off
    chkconfig netfs offchkconfig network off
    chkconfig random off
    chkconfig rawdevices off
    chkconfig pcmcia off
    chkconfig keytable off
    chkconfig apmd off
    chkconfig atd off
    chkconfig gpm off
    chkconfig autofs off
    chkconfig iptables off
    chkconfig isdn off
    chkconfig sshd off
    chkconfig portmap off
    chkconfig nfslock off
    chkconfig sendmail off
    chkconfig rhnsd off
    chkconfig crond off
    chkconfig anacron off
    chkconfig xfs off
    chkconfig xinetd off

    我們把需要保留的服務從這個列表中刪除:
    一般WEB服務器只留network sshd crond atd syslog
    刪掉相應的行以后就生成了不需要的服務刪除腳本:

    chkconfig kudzu off
    chkconfig syslog off
    chkconfig netfs off
    chkconfig rawdevices off
    chkconfig pcmcia off
    chkconfig keytable off
    chkconfig apmd off
    chkconfig gpm off
    chkconfig autofs off
    chkconfig iptables off
    chkconfig isdn off
    chkconfig portmap off
    chkconfig nfslock off
    chkconfig sendmail off
    chkconfig rhnsd off
    chkconfig xfs off
    chkconfig xinetd off

    2臺機器上都安裝的服務:SSH FTP DHCP服務

    SSH

    基本的登陸服務,對于內部分開發來說一般用缺省的就可以了,但是建議將/etc/ssh/sshd_config中的:
    PermitRootLogin yes改成PermitRootLogin no

    FTP

    建議用proftpd代替原有的ftp服務:http://www.proftpd.org/ 當然如果是vsftpd就不用換了
    安裝:tar zxf proftpd-version.tar.gz; cd proftpd-version/; ./configure; make; make install
    缺省配置/usr/local/etc/proftpd.conf

    ServerName "ProFTPD"
    ServerType standalone
    DefaultServer onAllowOverwrite on
    Port 21
    Umask 022
    UseReverseDNS off
    MaxInstances 30
    User apache
    Group apache
    不反相解析登陸機器的域名 UseReverseDNS off
    使用了系統缺省的apache用戶/組運行服務
    使用AuthUserFile把一些虛擬用戶映射成系統帳戶是一種更安全的方式,可以把多個只需要FTP權限的開發者用虛擬帳號映射成一個系統用戶。這些虛擬用戶的認證密碼在ftpd.passwd中設置,從而實現了于系統認證的分離:
    ftpasswd是一個perl腳本,下載即可使用: ftpasswd --passwd --name=test --uid=501 --gid=501 --home=/home/test --shell=/sbin/nologin --file=/etc/ftpd.passwd
    然后在proftpd.conf配置中增加:DefaultRoot ~ 讓用戶只能在自己的目錄下工作,不能通過cd ..轉向更上級目錄進行操作
    AuthUserFile /etc/ftpd.passwd
    DefaultRoot ~
    DHCP

    為了更方便的管理在同一個局域網中開發者的IP地址和服務器的IP地址,最好將服務器安排在一定范圍內的靜態IP內(比如 192.168.0.200以上),將(192.168.0.10-200)范圍內為開發機客戶端提供動態IP。假設我們的主服務器 (192.168.0.200)和輔助開發服務器(192.168.0.201)使用靜態IP,同時為網段內提供192.168.0.10-200動態 IP分配服務。DHCP服務在2臺服務器上都安裝,一個做主DHCP服務,用于給子網IP池提供70%的IP,另外一臺做備份,擁有IP池的30%。在例子中:200負責10-100,201負責110-150。缺省dhcpd沒有安裝的話,從安裝盤上找到DHCP軟件包安裝或者從http://www.isc.org下載源文件編譯即可(安裝位置和配置文件可能有所不同)。

    缺省配置文件位于/etc/dhcpd.conf 缺省配置:主服務器上

    ddns-update-style none;
    default-lease-time 120000;
    max-lease-time 920000;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.0.255;
    option netbios-name-servers 192.168.0.200;
    option routers 192.168.0.1;
    option domain-name-servers 202.106.196.115,202.96.199.133;
    option domain-name "example.com";
    subnet 192.168.0.0 netmask 255.255.255.0{
    range 192.168.0.10 192.168.0.100;
    }

    說明:

    缺省每個IP租期2天: default-lease-time 120000;
    最長租期: max-lease-time 920000;
    缺省子網掩碼:option subnet-mask 255.255.255.0;
    缺省廣播地址:option broadcast-address 192.168.0.255;
    讓192.168.0.200上的samba服務啟用WINS服務:用于內部域名解析
    option netbios-name-servers 192.168.0.200;
    缺省網關 option routers 192.168.0.1;
    缺省域名服務器 option domain-name-servers 202.106.196.115,202.96.199.133;
    缺省域名 option domain-name "example.com";

    #一個缺省的子網設置:
    subnet 192.168.0.0 netmask 255.255.255.0{
    #為子網動態分配0.10-100的IP
    range 192.168.0.10 192.168.0.100;
    }
    輔DHCP服務器上唯一不同的地方是:為子網動態分配0.110-150的IP,主DHCP和附DHCP服務器的IP池不能相互重疊

    subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.110 192.168.0.150; }

    注意:
    如果主服務器是2塊網卡并同時用作NAT服務,則外網IP是DHCP不能廣播的,需要將外網IP地址屏蔽廣播
    加入:
    subnet 202.102.34.102 netmask 255.255.255.255 {}

    主服務器上的應用安裝:

    SAMBA服務:用于文件的共享和內部WINS解析

    這里只做一個只讀共享的簡單配置,

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 環境 開發 開源 軟件

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>