本文主要介紹一些小組開發環境搭建中經常會遇到一些服務器服務設置,這些服務很多都是鑒于大部分的開發客戶端仍然是Windows設置的,每個服務都提供了簡單的基本配置示范。
關鍵詞:linux develop environment cvs version contral gnats bug tracking samba dhcpd wget
內容摘要:本文主要介紹一些小組開發環境搭建中經常會遇到一些服務器服務設置,這些服務很多都是鑒于大部分的開發客戶端仍然是Windows設置的,每個服務都提供了簡單的基本配置示范。包括:
IP管理(DHCP):服務器IP地址的管理和解析(結合SAMBA的WINS服務),開發客戶端的IP管理; WEB服務(APACHE):文檔共享,CVS的WEB界面瀏覽,論壇工具等;
FTP服務(FTP):用于文件下載/共享;
版本控制(CVS):程序源代碼和文檔的版本控制;
文件共享(SAMBA):基于NETBIOS的文件共享,方便WINDOWS客戶端的訪問(比如一些工具的安裝等); 數據庫服務器(MYSQL):一些應用的后臺數據庫服務; 備份機制(wget + rsync):備份
很多設置是缺省按照在bash環境中,在tcsh環境中,有一些設置不太一直。
服務器規劃如下:
主服務器 (Main) 備份服務器(Backup)
__________________ _______________
|APACHE WEB SERVER | | File Backup |
|SAMBA SHARE | | |
|DHCP SERVER | | DHCP Backup |
|CVS SERVER | | MySQL server |
|GNATS SERVER | | |
|PHORUM SERVER | | |
|Database backup | | |
------------------ ---------------
硬件準備:至少要2臺服務器
從理論上說,任何系統的崩潰只是時間問題,而且誰也不能保證開發者不犯錯誤
解決的辦法只有:備份,備份,備份……
操作系統準備
FreeBSD或GNU/Liunx,系統安裝時,本文的配置主要以在RedHat 8上運行為例。注意:安裝時要將“開發工具”大類選上,后面的很多工具都需要使用GCC進行編譯,有的應用腳本運行用到了PERL。2臺主服務器分別使用IP地址192.168.0.200和192.168.0.201。
2臺機器上都安裝的服務:SSH FTP DHCP服務
SSH: 基本的登陸服務,對于內部分開發來說一般用缺省的可以了,但是建議將/etc/ssh/sshd_config中的:
PermitRootLogin yes改成PermitRootLogin no
FTP:如果是FREEBSD建議用PROFTPD代替:http://www.proftpd.org/
安裝:
tar zxf proftpd-version.tar.gz
cd proftpd-version/
./configure
make
make install
缺省配置/usr/local/etc/proftpd.conf
ServerName "ProFTPD"
ServerType standalone
DefaultServer on
AllowOverwrite on
Port 21
Umask 022
#不反相解析登陸機器的域名
UseReverseDNS off
MaxInstances 30
User nobody
Group nogroup
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下載源文件編譯即可(安裝位置和配置文件可能有所不同)。