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

如何集成Linux、Apache、PHP4、FastCGI、Oracle、MySQL环境

一.准备工作要实现将LinuxApachePHP4FastCGIOracleMySQL环境集成,必需先准备好以下软件包:(一)数据库的Perl接口1.perl5的Oracle数据库DBI驱动程序:DBD-Oracle-1.03.tar.gz2.perl5的通用数据库接口程序:DBI-1.13.tar.gz3.perl5的MySQL数据库DBI驱

一. 准备工作 要实现将Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境集成,必需先准备好以下软件包: (一)数据库的Perl接口 1.perl5的Oracle数据库DBI驱动程序:DBD-Oracle-1.03.tar.gz 2.perl5的通用数据库接口程序:DBI-1.13.tar.gz 3.perl5的MySQL数据库DBI驱

  一. 准备工作

  要实现将Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境集成,必需先准备好以下软件包:

  (一)数据库的Perl接口

  1.perl5的Oracle数据库DBI驱动程序:DBD-Oracle-1.03.tar.gz

  2.perl5的通用数据库接口程序:DBI-1.13.tar.gz

  3.perl5的MySQL数据库DBI驱动程序:Msql-Mysql-modules-1.2209.tar.gz

  (二)Oracle数据库

  4.Oracle 8iR2(8.1.6) for Linux安装盘:oracle8161.tar.gz

  (三)MySQL数据库

  5.MySQL 3.22.32服务器程序包:MySQL-3.22.32-1.i386.rpm

  6.MySQL客户端程序包:MySQL-client-3.22.32-1.i386.rpm

  7.MySQL开发包(头文件/库文件):MySQL-devel-3.22.32-1.i386.rpm

  8.MySQL共享库程序包:MySQL-shared-3.22.32-1.i386.rpm

  (四)Apache服务器

  9.Apache 1.3.12源码包:apache_1.3.12.tar.gz

  (五)PHP模块

  10.PHP 4.0.0源码包:php-4.0.0.tar.gz

  (六)FastCGI模块

  11.FastCGI模块源码包:mod_fastcgi_2.2.4.tar.gz

  12.FastCGI的perl开发模块:FCGI-0.53.tar.gz共5页。

  二. 安装Oracle客户端

  由于Oracle 8.1.6是在XWindows下安装的,所以必须是事先配置好XWindow,如果你的显卡不支持XWindow,也可以用exceed进行远程安装(这里不提远程如何安装)。

  在此简单列出操作过程:

  (一)设置环境变量:

  在/etc/profile中加入:

  export ORACLE_HOME=/opt/oracle8i/u01

  export ORACLE_BASE=/opt/oracle8i

  export ORACLE_OWNER=oracle

  export ORACLE_SID=ORCL

  export ORACLE_TERM=ansi

  export PATH=$PATH:$ORACLE_HOME/bin

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

  (二)建立oracle组和用户

  #/usr/sbin/groupadd dba

  #/usr/sbin/useradd -g dba oracle

  #/usr/bin/passwd oracle

  (三)创建$ORACLE_HOME目录

  #mkdir /opt

  #mkdir /opt/oracle8i

  #mkdir /opt/oracle8i/u01

  #chown -R oracle.dba /opt

  (四)安装reacle 8iR2

  以oracle用户登录,解开Oracle安装包:

  $tar zxvf oracle8161.tar.gz

  $startx 启动XWindow界面,并打开一个rxvt终端窗口

  $cd Oracle8iR2

  $./runInstaller

  此时出现Oracle安装界面,在安装时选择安装client/Application User(如果Oracle服务器不在本机上运行,另有专用机器),安装完毕后配置SQL*Net8并测试连接远程服务器通过即可。共5页。

  三. 安装MySQL服务器和客户端

  以root身分进入,安装MySQL各个包:

  #rpm -ivh MySQL-3.22.32-1.i386.rpm

  #rpm -ivh MySQL-client-3.22.32-1.i386.rpm

  #rpm -ivh MySQL-devel-3.22.32-1.i386.rpm

  #rpm -ivh MySQL-shared-3.22.32-1.i386.rpm

  四. 安装Perl的数据库接口模块

  以root身分进入,然后执行:

  #tar zxvf DBI-1.13.tar.gz

  #cd DBI-1.13

  #perl Makefile.PL

  #make

  #make test

  #make install

  #cd ..

  #rm -rf DBI-1.13

  #

  #tar zxvf DBD-Oracle-1.03.tar.gz

  #cd DBD-Oracle-1.03

  #perl Makefile.PL

  #make

  #make test

  #make install

  #cd ..

  #rm -rf DBD-Oracle-1.03

  #

  #tar zxvf Msql-Mysql-modules-1.2209.tar.gz

  #cd Msql-Mysql-modules-1.2209

  #perl Makefile.PL

  选择1(MySQL)和y(支持Mysql.pm)

  #make

  #make test

  #make install

  #

  五. 安装Apache+PHP+FastCGI

  (一)解开Apache/PHP/FastCGI包:

  #tar zxvf apache_1.3.12.tar.gz

  #tar zxvf php-4.0.0.tar.gz

  #tar mod_fastcgi_2.2.4.tar.gz

  (二)编译PHP4

  配置apache编译参数

  #cd apache_1.3.12

  #./configure --prefix=/usr/local/apache

  配置PHP编译参数

  #cd ../php-4.0.0

  #./configure --with-apache=../apache_1.3.12

  > --with-mysql

  > --with-oracle=$ORACLE_HOME

  > --with-oci8=$ORACLE_HOME

  > --enable-track-vars

  编译PHP模块:

  #make

  #make install

  创建php.ini参数文件

  #cp php.ini-dist /usr/local/lib/php.ini

  #cd ..

  (三)添加FastCGI模块:

  #mv mod_fastcgi_2.2.4 apache_1.3.12/src/modules/fastcgi

  (四)编译安装Apache

  #cd apache_1.3.12

  配置编译参数

  #./configure --prefix=/usr/local/apache

  > --activate-module=src/modules/php4/libphp4.a

  > --activate-module=src/modules/fastcgi/libfastcgi.a

  编译Apache

  #make

  安装Apache

  #make install

  (五)关闭原有系统自带的Apache

  #/etc/rc.d/init.d/httpd stop共5页。

  (六)配置Apache自身参数:

  1.编辑/usr/local/apache/conf/httpd.conf文件,修改以下参数:

  ServerName host.mydomain.name

  DocumentRoot "/home/httpd/html"

  Options Indexes FollowSymLinks MultiViews Includes

  AllowOverride None

  Order allow,deny

  Allow from all

  ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"

  AllowOverride None

  Options None

  Order allow,deny

  Allow from all

  DirectoryIndex index.html index.phtml index.php index.htm index.shtml index.fcgi

  2.修改自启动链接

  #cd /etc/rc.d/init.d

  #ln -fs /usr/local/apache/bin/apachectl httpd

  (七)配置PHP4.0参数:

  1.修改/usr/local/apache/conf/httpd.conf文件,,修改以下参数:

  增加一行:AddType application/x-httpd-php .php .phtml .php3

  2.修改/usr/local/apache/bin/apachectl脚本,使启动支持中文ORACLE环境:

  在文件中66行("start)")下面加入几行:

  export ORACLE_HOME=/opt/oracle8i/u01

  export ORACLE_BASE=/opt/oracle8i

  export ORACLE_SID=ORCL

  export LD_LIBRARY_PATH=$ORACLE_HOME/lib

  export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

  export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

  3.修改/usr/local/apache/conf/srm.conf以在CGI程序中使用环境变量:

  PassEnv ORACLE_HOME

  PassEnv ORACLE_BASE

  PassEnv LD_LIBRARY_PATH

  PassEnv NLS_LANG

  PassEnv ORACLE_SID

  PassEnv PATH

  (八)配置FastCGI执行环境:

  1.修改/usr/local/apache/conf/httpd.conf文件,修改以下参数:

  增加几行:

  ############ FastCGI Configures Begin ##########################

  AddHandler fastcgi-script .fcg .fcgi .fpl

  SetHandler fastcgi-script

  Order deny,allow

  Allow from all

  Options ExecCGI Indexes Includes

  ############### FastCGI Configure End ###########################

  2.创建fcgi的执行目录

  #mkdir /home/httpd/html/fcgi

  3.安装FCGI的Perl运行模块:

  #tar zxvf FCGI-0.53.tar.gz

  #cd FCGI-0.53

  #perl Makefile.PL

  #make

  #make install共5页。

  六.启运并测试

  1.启动Apache服务器:

  #/etc/rc.d/init.d/httpd start

  2.编写PHP测试程序:

  第一个测试程序:/home/httpd/html/t1.php;

  第二个测试PHP与Oracle连接的PHP程序(表已经建好):查看是否为中文输出;

  第三个测试PHP与MySQL连接的PHP程序(表已经建好)。

  3. 编写FastCGI的测试代码: /home/httpd/html/fcgi/test.fcgi

  #!/usr/bin/perl

  use FCGI;

  use DBI;

  $dbname="oracle";

  $user="user";

  $passwd="password";

  $dbh="";

  while(FCGI::accept()>=0) {

  &parse_form();

  $id=$FORM;

  $para=$FORM;

  print "Content-type: text/html ";

  print " ";

  if (!$dbh){

  print "no oracle, need to connect ";

  $dbh = DBI->connect("dbi:Oracle:$dbname",$user,$passwd);

  }else{

  print "OK, oracle aleady connected ";

  }

  $sth=$dbh->prepare("select name from testtable where id=15");

  $sth->execute;

  @recs=$sth->fetchrow_array;

  $sth->finish;

  print "参数id=".$id." and my name is @recs[0] ";

  print "参数para=".$para." ";

  }

  ####传入参数处理部分#######

  sub parse_form {

  my($buffer);

  my($pairs);

  my(@pairs);

  my($name);

  my($value);

  my $meth = $ENV;

  if ($meth eq "GET" || $meth eq "HEAD") {

  $buffer = $ENV;

  }

  elsif ($meth eq "POST") {

  read(STDIN, $buffer, $ENV);

  }

  undef %FORM;

  @pairs = split(/&/, $buffer);

  foreach $pair (@pairs) {

  ($name, $value) = split(/=/, $pair);

  $value =~ tr/+/ /;

  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex())/eg;

  $value =~ s///g;

  if ($allow_html != 1) {

  $value =~ s/]| )*>//g;

  }

  $FORM = $value;

  }

  }

  测试看看FastCGI是否正常执行了。

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
实现毛_424
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有