本文主要介绍一些小组开发环境搭建中经常会遇到一些服务器服务设置,这些服务很多都是鉴于大部分的开发客户端仍然是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下载源文件编译即可(安装位置和配置文件可能有所不同)。