• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

基于开源软件的开发环境搭建

发布: 2008-8-15 13:12 | 作者: 不详 | 来源: 测试时代采编 | 查看: 130次 | 进入软件测试论坛讨论

领测软件测试网



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解析 

这里只做一个只读共享的简单配置, 

[global]
#别人会通过"网上邻居"看到WORKGROUP组里名为的Linux机器,注释是:My Samba Server
workgroup = WORKGROUP
netbios name = Linux server
string = My Samba Server 
#日志设置
log file = /var/log/samba/%m.log 
max log size = 50 
#安全设置 security = share
#用SAMBA的WINS服务支持,并且用/etc/hosts做内部域名解析
wins support = yes 
name resolve order = hosts lmhosts wins bcast 
dns proxy = yes
[public]
#一个共享设置
comment = Public Stuff 
path = /home/share
public = yes 
guest ok = yes
read only = yes
writable = no
printable = no 

[docs] 
#一个需要密码验证的设置,密码通过#smbpasswd -a user password增加 
comment = Public Stuff
security = user 
encrypt passwords = yes 
smb passwd file = /etc/samba/smbpasswd
path = /home/docs 
public = yes 
guest ok = no
read only = yes 
writable = no

在这里为了让大家能够在内部使用dev.example.com访问主服务器(192.168.0.200),我用DHCP设置主服务器(192.168.0.200)同时也是是内部的WINS服务器,而在200的SAMBA服务中,启用了WINS支持,并设置WINS用可以利用DNS做 NETBIOS名称解析。这样如果DNS读取的是/etc/hosts文件中的设置的话,hosts文件就可以当作WINS域名配置文件了,在 /etc/hosts里设置了:
192.168.0.200 dev.example.com bbs.example.com dev bbs
192.168.0.201 bak.example.com backup
后,通过DHCP获得IP的内网客户端就可以直接通过: dev.example.com访问开发服务器了。 

所有的机器名前缀我都使用了缩写:dev, bbs bak之类的,原因是samba的NMBD实际上是NETBIOS名称的解析,名称长度是16个字符(实际是15个)有限制的。因此,虽然 192.168.0.202 username.example.com虽然是一个合法的DNS名称解析,但由于username.example.com长度超过了16个字符,所以通过SAMBA的WINS服务解析仍然无法找到。dev.chedong.com相当于\\dev.chedong.com\这样的一台机器。当初用 SAMBA的WINS解析在客户端总是ping不通testing.chedong.com这个问题困扰了我好一阵。 

WEB服务:APACHE + php + resin 

主要用作文件的WEB共享和一些应用的前端浏览(CVSWEB GNATSWEB PHPMYADMIN等),Apache,这里仍然使用了1.3,因为很多应用,比如PHP在2.0上运行还不是完整。 

安装: http://httpd.apache.org下载最新版本: 

编译选项:这样可以让所有的模块都通过配置文件动态加载,方便后面其他应用模块的添加删除:
./configure --prefix=/home/apache --enable-shared=max --enable-module=most
更多安装说明可以参考: APACHE安装笔记 

重复如下:
apache:
diff httpd.h httpd.h.orig
314c314
< #define HARD_SERVER_LIMIT 2560
---
> #define HARD_SERVER_LIMIT 256 

./configure --prefix=/home/apache --enable-shared=max --enable-module=most 

删除过多的注释:
grep -v "#" httpd.conf.default >httpd.conf 

php + mysql 

mysql: innodb效率和ORACLE差不多,一般应用用不上
./configure --prefix=/home/mysql --without-innodb 

./configure --with-apxs=/home/apache/bin/apxs --enable-track-vars \
--with-mysql=/home/mysql \
--with-oci8=/home/oracle/product/8.1.7 \
--with-oracle=/home/oracle/product/8.1.7
make 
#make install 

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

32/3<123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网