关键字:开发环境搭建 开源软件
本文主要介绍一些小组开发环境搭建中经常会遇到一些服务器服务设置,这些服务很多都是鉴于大部分的开发客户端仍然是Windows设置的,每个服务都提供了简单的基本配置示范。包括:
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