Red de conocimiento informático - Conocimiento informático - Cómo integrar entornos Linux, Apache, PHP4, FastCGI, Oracle y MySQL

Cómo integrar entornos Linux, Apache, PHP4, FastCGI, Oracle y MySQL

1. Trabajo de preparación Para integrar el entorno Linux/Apache/PHP4/FastCGI/Oracle/MySQL, primero debe preparar los siguientes paquetes de software: (1) Interfaz Perl de la base de datos 1. Base de datos Oracle DBI de Controlador perl5: DBD-Oracle-1.03.tar.gz 2. Programa de interfaz de base de datos universal de perl5: DBI-1.13.tar.gz 3. Controlador DBI de base de datos MySQL de perl5

1. Preparación

Para integrar el entorno Linux/Apache/PHP4/FastCGI/Oracle/MySQL, primero debe preparar los siguientes paquetes de software:

(1) Interfaz Perl de la base de datos

1. Controlador DBI de base de datos Oracle para perl5: DBD-Oracle-1.03.tar.gz

2. Programa de interfaz de base de datos universal para perl5: DBI-1.13.tar.gz

3 .perl5 MySQL Controlador DBI de base de datos: Msql-Mysql-modules-1.2209.tar.gz

(2) Base de datos Oracle

4.Oracle 8iR2 (8.1.6) para Linux Disco de instalación: oracle8161. tar.gz

(3) Base de datos MySQL

5. Paquete de servidor MySQL 3.22.32: MySQL-3.22.32-1.i386.rpm

6 .Paquete de cliente MySQL: MySQL-client-3.22.32-1.i386.rpm

7.Paquete de desarrollo MySQL (archivo de encabezado/archivo de biblioteca): MySQL-devel- 3.22.32-1.i386. rpm

8.MySQL*** paquete de biblioteca compartida: MySQL-shared-3.22.32-1.i386.rpm

(4) servidor Apache

9.Paquete de código fuente de Apache 1.3.12: apache_1.3.12.tar.gz

(5) Módulo PHP

10.Paquete de código fuente de PHP 4.0.0: php-4.0. 0.tar.gz

(6) Módulo FastCGI

11. Paquete de código fuente del módulo FastCGI: mod_fastcgi_2.2.4.tar.gz

12. módulo de desarrollo: FCGI-0.53.tar.gz*** página 5.

2. Instalar el cliente Oracle

Dado que Oracle 8.1.6 está instalado en XWindows, XWindow debe configurarse de antemano. Si su tarjeta gráfica no es compatible con XWindow, también puede utilizar Excel. para instalación remota (aquí no se menciona cómo instalar de forma remota).

Aquí hay una breve lista del proceso de operación:

(1) Establecer variables de entorno:

Agregar /etc/profile:

exportar ORACLE_HOME=/opt/oracle8i/u01

exportar ORACLE_BASE=/opt/oracle8i

exportar ORACLE_OWNER=oracle

exportar ORACLE_SID=ORCL

exportar ORACLE_TERM=ansi

exportar PATH=$PATH:$ORACLE_HOME/bin

exportar LD_LIBRARY_PATH=$ORACLE_HOME/lib

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

exportar NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

(2) Establecer grupo y usuario de Oracle

#/usr / sbin/groupadd dba

#/usr/sbin/useradd -g dba oracle

#/usr/bin/passwd oracle

(3) Crear $ Directorio ORACLE_HOME

#mkdir /opt

#mkdir /opt/oracle8i

#mkdir /opt/oracle8i/u01

#chown - R oracle.dba /opt

(4) Instale reacle 8iR2

Inicie sesión como usuario de Oracle y descomprima el paquete de instalación de Oracle:

$tar zxvf oracle8161.tar .gz

$startx inicia la interfaz XWindow y abre una ventana de terminal rxvt

$cd Oracle8iR2

$./runInstaller

Aparece la interfaz de instalación de Oracle. Durante la instalación, elija instalar el cliente/Usuario de la aplicación (si el servidor Oracle no se está ejecutando en esta máquina, hay una máquina dedicada. Una vez completada la instalación, configure SQL*Net8 y pruebe). la conexión al servidor remoto. ***5 páginas.

3. Instalar el servidor y el cliente MySQL

Ingrese como root e instale varios paquetes de 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

4. Instale el módulo de interfaz de base de datos Perl

Como root Ingrese el identidad y ejecute:

#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 prueba

#make install

#cd ..

# rm -rf DBD-Oracle-1.03

#

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

#cd Msql- Mysql- módulos-1.2209

#perl Makefile.PL

Seleccione 1 (MySQL) e y (compatible con Mysql.pm)

#make

#make test

#make install

#

5. Instalar Apache+PHP+FastCGI

(1) Solución Abra el Paquete 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

(2) Compilar PHP4

Configurar los parámetros de compilación de Apache

#cd apache_1.3.12

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

Configurar parámetros de compilación de 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

Compilar módulo PHP:

#make

#make install

Crear archivo de parámetros php.ini

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

#cd ..

(3) Agregar módulo FastCGI:

#mv mod_fastcgi_2.

2.4 apache_1.3.12/src/modules/fastcgi

(4) Compile e instale Apache

#cd apache_1.3.12

Configure los parámetros de compilación

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

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

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

Compilar Apache

#make

Instalar Apache

#make install

(5) Cierra el Apache que viene con el sistema original

#/etc/rc.d/init.d/mon/nls/admin/data

export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"

3. Modifique /usr/local/apache/conf/srm.conf para usar variables de entorno en programas CGI:

PassEnv ORACLE_HOME

PassEnv ORACLE_BASE

PassEnv LD_LIBRARY_PATH

PassEnv NLS_LANG

PassEnv ORACLE_SID

PassEnv PATH

(8) Configure el entorno de ejecución FastCGI:

1 Modifique el archivo /usr/local/apache/conf/httpd.conf y modifique los siguientes parámetros:

Agregue un pocas líneas:

############ Comienza la configuración de FastCGI #########################

AddHandler fastcgi-script .fcg .fcgi .fpl

SetHandler fastcgi-script

Orden denegada, permitir

Permitir de todos

Opciones que incluyen los índices ExecCGI

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

2 Cree el directorio de ejecución de fcgi

#mkdir /home/httpd/html/fcgi

3. Instale el módulo de tiempo de ejecución FCGI Perl:

#tar zxvf FCGI-0.53.tar.gz

#cd FCGI-0.53

#perl Makefile.PL

#make

#make install***5 páginas.

6. Iniciar y probar

1. Inicie el servidor Apache:

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

2. Escribe un programa de prueba PHP:

El primer programa de prueba:/home/httpd/html/t1.php;

El segundo prueba la conexión entre PHP. y el programa PHP de Oracle (la tabla ya se ha creado): compruebe si la salida es china;

El tercer programa PHP para probar la conexión entre PHP y MySQL (la tabla ya se ha creado).

3. Escriba el código de prueba FastCGI: /home/httpd/html/fcgi/test.fcgi

#!/usr/bin/perl

use FCGI ;

usar DBI;

$dbname="oracle";

$user="usuario";

$passwd= " contraseña";

$dbh="";

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

&parse_form();

$id=$FORM;

$para=$FORM;

imprimir "Tipo de contenido: texto/html ";

imprimir " ";

if (!$dbh){

imprimir "no hay oráculo, es necesario conectarse";

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

}else{

print "OK, Oracle ya está conectado ";

}< / p>

$sth=$dbh->prepare("seleccione el nombre de la tabla de pruebas donde id=15");

$sth->ejecute;

@recs= $ sth->fetchrow_array;

$sth->finish;

imprimir "Parameter id=".$id." y mi nombre es @recs[0] ";

p>

print "parameter para=".$para." ";

}

####Parte de procesamiento de parámetros entrantes#######

sub parse_form {

mi($búfer);

mis($pares);

mi(@pares);

p>

mi($nombre);

mi($valor);

mi $meth = $ENV;

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

$buffer = $ENV;

}

elsif ($meth eq "POST") {

read(STDIN, $buffer, $ENV);

}

undef %FORM;

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

foreach $par (@pairs) {

($nombre, $valor) = dividir(/=/, $ par);

$valor =~ tr/+/ /;

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

$valor =~ s///g;

if ($allow_html != 1) {

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

}

$FORM = $valor;

}

}

Pruebe para ver si FastCGI se ejecuta normalmente.