| 内容摘要:本文主要介绍一些小组开发环境搭建中经常会遇到一些服务器服务设置,这些服务很多都是鉴于大部分的开发客户端仍然是Windows设置的,每个服务都提供了简单的基本配置示范。包括: - IP管理(DHCP):服务器IP地址的管理和解析(结合SAMBA的WINS服务),开发客户端的IP管理;
- WEB服务(APACHE):文档共享,CVS的WEB界面浏览,论坛工具等;
- FTP服务(FTP):用于文件下载/共享;
- 版本控制(CVS):程序源代码和文档的版本控制;
- 文件共享(SAMBA):基于NETBIOS的文件共享,方便WINDOWS客户端的访问(比如一些工具的安装等);
- 数据库服务器(MYSQL):一些应用的后台数据库服务;
- 备份机制(wget + rsync):备份
小组开发环境搭建备忘 ——dhcp+apache+ftp+cvs+samba作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com 写于:2003/01 最后更新:Tue, 26 Oct 2004 02:25:01 GMT 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 http://www.chedong.com/tech/dev.html 关键词: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 | |WIKI/BLOG SERVER | <=Backup=> | | |Database backup | | | ------------------ --------------- 硬件准备:至少要2台服务器 - 从理论上说,任何系统的崩溃只是时间问题,而且谁也不能保证开发者不犯错误
- 解决的办法只有:备份,备份,备份……
操作系统准备 FreeBSD或GNU/Linux,系统安装时,本文的配置主要以在RedHat8上运行为例。注意:安装时要将“开发工具”大类选上,后面的很多工具都需要使用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: 建议用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 on AllowOverwrite on Port 21 Umask 022
UseReverseDNS off MaxInstances 30 User ftp Group ftp
- 不反相解析登陆机器的域名 UseReverseDNS off
- 使用了系统缺省的apache用户/组运行服务
- 使用AuthUserFile把一些虚拟用户映射成系统帐户是一种更安全的方式,可以把多个只需要FTP权限的开发者用虚拟帐号映射成一个系统用户。这些虚拟用户的认证密码在ftpd.passwd中设置,从而实现了于系统认证的分离:
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下载源文件编译即可(安装位置和配置文件可能有所不同)。 缺省配置:主服务器上 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[1] [2] [3] 下一页
|