热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LINUX上开发环境搭建备忘apache+ftp+cvs+gnats+samba

文章标题:LINUX上开发环境搭建备忘apache+ftp+cvs+gnats+samba。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  作者: 车东 chedong@bigfoot.com
  最后更新:2002-12-22 23:35:56
  
  版权声明:可以任意转载,转载时请务必标明原始出处和作者信息
  
  关键词:linux develop environment cvs version contral gnats bug tracking samba dhcpd wget
  
  内容摘要:
  基于开源软件的开发环境搭建,包括:WEB服务(APACHE),IP管理(DHCP),FTP服务(FTP),版本控制(CVS),文件共享(SAMBA),数据库服务器(MYSQL),备份机制(wget + rsync),每个服务都提供了简单的基本配置示范。
  
  服务器规划如下:
  
   主服务器 (Main) 备份服务器(Backup)
  __________________ _______________
  |APACHE WEB SERVER | | File Backup |
  |SAMBA FILE 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下载源文件编译即可(安装位置和配置文件可能有所不同)。
  
  缺省配置:主服务器上
  
  ddns-update-style none;
  #缺省每个IP租期2天
  default-lease-time 120000;
  max-lease-time 920000;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
  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;
  }
  辅服务器上唯一不同的地方是:
  
  
  subnet 192.168.0.0 netmask 255.255.255.0{
   range 192.168.0.110 192.168.0.150;
  }
  主服务器上的应用安装:
  
  WEB服务:APACHE
  
  主要用作文件的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安装笔记
  
  窍门:
  在模块设置中,文件名40字符以上是被截断的,让自动目录索引是显示完整的文件名:
  
   #增加NameWidth选项,并且文件名长度是*(自动适应当前目录下最长文件名)
   IndexOptions FancyIndexing +NameWidth=*
  如果是CGI开发,如何让用户在自己的目录下能够发布CGI程序,比如:http://192.168.0.200/~chedong/cgi-bin/my_cgi:在
  模块设置中,添加
  
  ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2
  版本控制:CVS
  
  CVS缺省在服务器上几乎都安装好了,只要按照以下步骤初始化即可:
  
  在/etc/profile里:
  主服务器设置:
  export CVSROOT=/home/cvsroot
  辅服务器里设置:
  export CVSROOT=:ext:$USER@192.168.0.200:/home/cvsroot
  export CVS_RSH=ssh
  
  然后在主服务器上cvs init初始化:
  
  关于CVSWEB的设置,重复以下CVS常用命令手册中CVSWEB部分的内容:
  
  CVSWEB的下载:CVSWEB从最初的版本已经演化出很多功能界面更丰富的版本,这个是个人感觉安装设置比较方便的:
  http://www.spaghetti-code.de/software/linux/cvsweb/
  
  下载解包:
  tar zxf cvsweb.tgz
  把配置文件cvsweb.conf放到安全的地方(比如和apache的配置放在同一个目录下),
  修改:cvsweb.cgi让CGI找到配置文件:
  $cOnfig= $ENV{'CVSWEB_CONFIG'} || '/path/to/apache/conf/cvsweb.conf';
  
  转到/path/to/apache/conf下并修改cvsweb.conf:
  
  修改CVSROOT路径设置:
  %CVSROOT = (
  'Development' => '/path/to/cvsroot', #<==修改指向本地的CVSROOT
  );
  缺省不显示已经删除的文档:
  "hideattic" => "1",#<==缺省不显示已经删除的文档
  在配置文件cvsweb.conf中还可以定制页头的描述信息,你可以修改$long_intro成你需要的文字
  首先可以CVS进库里的就是以上系统的安装文档。
  
  GNATS:GNU bug 跟踪系统安装
  
  安装步骤
  配置和编译软件
  ./configure -with-full-gnats -with-gnats-root=/home/gnats
  make all
  #make install
  在CRONTAB中加入
  0,10,20,30,40,50 * * * * /usr/local/libexec/gnats/queue-pr -run
  
  d. 配置mail 别名 /etc/aliases
  gnats-admin: address
  bug-q: "|exec-prefix/libexec/gnats/queue-pr -q"
  bug-log : /home/gnats/gnats-adm/bugs.log
  bugs: bug-q,bug-log
  e. 安装daemon
  /etc/services support 1528/tcp #gnats
  /etc/inetd.conf support stream tcp nowait gnats /usr/loca/libexec/gnats/gnatsd gnatsd
  作为XINETD启动:
  /etc/xinetd.d/gnatsd
  service gnatsd
  {
  disable = no
  socket_type = stream
  protocol = tcp
  wait = no
  user = gnats
  passenv =
  server = /usr/local/libexec/gnats/gnatsd
  server_args = gnatsd
  }
  配置数据库
  /etc/gnats-db.conf /home/gnats:cs_db
  配置SENDMAIL
  /etc/smrsh ln /usr/local/libexec/gnats/queue-pr queue-pr
  系统修改
  /home/gnats/gnats-adm 下的文件:
  categories 文件 分类
  responsible
  address 文件
  state 状态文件
  
  gnatsweb安装:gnatsweb是GNATS的WEB界面
  根据INSTALL说明中的将:
  从CPAN下载2.X系列的CGI.pm并安装
  http://www.cpan.org/modules/by-authors/Lincoln_D_Stein/
  从CPAN下载MIME::BASE64并安装
  http://www.cpan.org/modules/by-module/MIME/
  
  修改gnatsweb.pl指向指定服务端口(假设GNATS SERVER已经设置能够访问),并加入状态颜色PATCH
  diff gnatsweb.pl /home/apache/cgi-bin/gnatsweb-2.9.3/gnatsweb.pl
  21c21
  <$site_gnats_host = 'localhost';
  ---
  > $site_gnats_host = '172.16.11.234';
  1934,1937c1934,1937
  $id";
    <
推荐阅读
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 众筹商城与传统商城的区别及php众筹网站的程序源码
    本文介绍了众筹商城与传统商城的区别,包括所售产品和玩法不同以及运营方式不同。同时还提到了php众筹网站的程序源码和方维众筹的安装和环境问题。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 目录浏览漏洞与目录遍历漏洞的危害及修复方法
    本文讨论了目录浏览漏洞与目录遍历漏洞的危害,包括网站结构暴露、隐秘文件访问等。同时介绍了检测方法,如使用漏洞扫描器和搜索关键词。最后提供了针对常见中间件的修复方式,包括关闭目录浏览功能。对于保护网站安全具有一定的参考价值。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
author-avatar
小Q理性的激情农_885
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有