Instalacion Apache PHP PostgreSQL

9
Master en Software Libre - Bases de Datos Manual de instalación de Apache + PHP (versión Linux & Windows) Introducción El presente documento detalla los pasos a realizar para llevar a cabo la instalación de Apache 2.2.x, de PHP, y la posterior configuración para que el servidor web Apache pueda postprocesar los programa realizados en PHP, accediendo al SGBD PostgreSQL. Linux Se utiliza para el ejemplo de instalación la distribución de Linux Debian 31r4. En el caso de utilizar una distribución distinta será preciso adaptar dicha instalación al tipo de paquetes e instalador concreto, utilizándose esta guía a modo de referencia. Desde una consola del sistema, obtendremos en primer lugar permisos de root. su root Considerando que tenemos la fuente de apt-get definida, instalaremos o reinstalaremos Apache con PHP4: apt-get install apache2 php4 Una vez finalizado el proceso, instalaremos/reinstalaremos PostgreSQL: apt-get install postgresql php4-pgsql Reiniciaremos los servicios: /etc/init.d/apache2 restart /etc/init.d/postgresql restart Para comprobar que Apache se ha instalado correctamente, introduciremos en el navegador de internet la siguiente URL: http://localhost Si todo ha funcionado correctamente, nos debería aparecer una pantalla similar a: 1

description

Instalacion Apache PHP PostgreSQL

Transcript of Instalacion Apache PHP PostgreSQL

Page 1: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Manual de instalación de Apache + PHP(versión Linux & Windows)

Introducción

El presente documento detalla los pasos a realizar para llevar a cabo la instalación de Apache 2.2.x, de PHP, y la posterior configuración para que el servidor web Apache pueda postprocesar los programa realizados en PHP, accediendo al SGBD PostgreSQL.

Linux

Se utiliza para el ejemplo de instalación la distribución de Linux Debian 31r4. En el caso de utilizar una distribución distinta será preciso adaptar dicha instalación al tipo de paquetes e instalador concreto, utilizándose esta guía a modo de referencia.

Desde una consola del sistema, obtendremos en primer lugar permisos de root.

su root

Considerando que tenemos la fuente de apt-get definida, instalaremos o reinstalaremos Apache con PHP4:

apt-get install apache2 php4

Una vez finalizado el proceso, instalaremos/reinstalaremos PostgreSQL:

apt-get install postgresql php4-pgsql

Reiniciaremos los servicios:

/etc/init.d/apache2 restart/etc/init.d/postgresql restart

Para comprobar que Apache se ha instalado correctamente, introduciremos en el navegador de internet la siguiente URL:http://localhost

Si todo ha funcionado correctamente, nos debería aparecer una pantalla similar a:

1

Page 2: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Las pruebas para verificar que se ha instalado correctamente el PHP y que las aplicaciones desarrolladas con éste pueden acceder al SGBD son comunes para la instalación en Linux y en Windows. Dichas indicaciones se hallan a partir de la página 8 del presente documento, en los apartados: Prueba de funcionamiento de Apache y PHP y: Prueba de funcionamiento de Apache + PHP y PostgreSQL.

Windows

Instalación Apache

Una vez obtenido el programa de instalación (ser recomienda descargar de: http://httpd.apache.org/download.cgi), se procederá a ejecutarlo.

La primera pantalla que nos aparecerá es la de la aceptación de licencia. Indicaremos que aceptamos la licencia BSD y pulsaremos sobre Next para continuar.

2

Page 3: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

En la pantalla Server information deberemos indicar el dominio de internet de nuestro ordenador, o alternativamente, si prevemos realizar todas las pruebas desde el mismo equipo, localhost.(dichos datos son obligatorios)

Elegiremos el tipo de instalación Typical y pulsaremos sobre Next para continuar.

El directorio donde se instalará la aplicación se puede seleccionar desde la pantalla Destination Folder

3

Page 4: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Una vez copiados todos los ficheros de la instalación, se nos indicará que ha finalizado.

Observaremos en la barra de menús del botón Inicio de Windows, que habrá aparecido una entrada llamada Apache http Server 2.2.4. Desde la opción Control Apache Server, podremos encender, apagar o reiniciar el servicio.

Para realizar una primera comprobación del correcto funcionamiento del servidor web, deberemos indicar en la URL de nuestro navegador, la dirección:http://localhost o la IP de nuestro equipo, o el nombre de nuestro equipo.El resultado debería ser similar al mostrado en la siguiente captura:

4

Page 5: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Instalación PHPUna vez obtenido el programa de instalación del PHP 5.2.0 (se recomienda la descarga de http://www.php.net/downloads.php), se procederá a su ejecución.

Una vez aceptada la pantalla de bienvenida, se nos preguntará por la versión del Apache que está instalada en el equipo.

Se deberá indicar que utilizamos la versión 2.2.x

Elegiremos las opciones de instalación que se proponen por omisión.

5

Page 6: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Pudiendo indicar un directorio distinto al propuesto.

Antes de que el instalador de PHP intente configurar Apache para que conste la extensión, se pide confirmación.

Una vez finalizado el proceso de instalación se nos indica que todo ha concluido correctamente.

6

Page 7: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Configuración adicional para PostgreSQLPara que el tándem Apache / PHP funcione correctamente con PostgreSQL, es preciso que PHP cargue las librerías para dicha base de datos, a fin de que los programas que se realicen en dicho lenguaje, dispongan de las funciones para acceder al SGBD.

En primer lugar editaremos el fichero php.ini que encontraremos en el directorio c:\archivos de programa\php (si se han utilizado las rutas de instalación propuestas), y descomentaremos la línea 657.

En dicha línea consta el texto:;extension=php_pgsql.dllPara hacer que PHP cargue la librería php_pgsql.dll, borraremos el punto y coma inicial, descomentándola.

En segundo paso a realizar es copiar el fichero php_pgsql.dll que se facilitará conjuntamente con el presente documento, al directorio c:\archivos de programa\php

Prueba de funcionamiento de Apache y PHPPara realizar la prueba de funcionamiento editaremos con el notepad o un editor similar un fichero que contenga la siguiente línea:

<?PHP phpinfo(); ?>

Guardaremos dicho fichero con el nombre test.php en el directorio:Windows -> c:\archivos de programa\Apache Software Fundation\Apache 2.2\htdocs Linux -> /var/www

Asegurando que Apache está en funcionamiento, introduciremos en el navegador la dirección URL:http://localhost/test.php

La página web que aparecerá deber ser similar a:

7

Page 8: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Prueba de funcionamiento de Apache, PHP + PostgreSQL

Crearemos en la base de datos la siguiente tabla;

CREATE TABLE TEST (TEXTO VARCHAR(60));

Insertaremos un valor:

INSERT INTO TEST VALUES ('¡Apache+PHP+PostgreSQL funcionando perfectamente!');

Una vez comprobado con una SELECT que existe la tabla y que se ha insertado correctamente el registro, editaremos con el noteapd o similar el siguiente fichero:

<HTML> <HEAD> <TITLE>Prueba funcionamiento Apache+PHP+PostgreSQL</TITLE> </HEAD> <BODY> <?php /**************************************************/ /* Ejemplo programa PHP con conexión a PostgreSQL */ /**************************************************/

/* Conexión a la base de datos */ $conexion = pg_connect("host=localhost port=5432 dbname=postgres password=1234 user=postgres") or die("<BR>ERROR accediendo a la BD!<BR>");

/* Realizamos una consulta para extraer el registro (único) */ $sql = "select * from test limit 1"; $resultado_set = pg_Exec ($conexion, $sql);

/* Mostramos el registro consultado por pantalla */ echo pg_result($resultado_set, 0, 0);

/* Cerramos la conexión con la base de datos */ pg_close($conexion); ?> </BODY></HTML>

(deberemos indicar en la cadena de conexión, el nombre de usuario, contraseña y base de datos de nuestro sistema).

Dicho documento lo almacenaremos con el nombre prueba.php en el directorio:Windows -> c:\archivos de programa\Apache Software Fundation\Apache 2.2\htdocs Linux -> /var/www

Comprobaremos su correcto funcionamiento introduciendo la siguiente URL en la barra de direcciones del navegador de internet:

http://localhost/prueba.php

8

Page 9: Instalacion Apache PHP PostgreSQL

Master en Software Libre - Bases de Datos

Si todo funciona correctamente nos debería de aparecer un página web como la siguiente:

Posibles errores

Posibles errores al introducir la URL: //localhost/prueba.php

Call to undefined function: pg_connect.(Linux)Problema: no se ha instalado PHP con los módulos para PostgreSQLSe debe de revisar el proceso de instalación.

Call to undefined function pg_connect() (Windows)Posible problema: No se ha cargado correctamente la DLL php_pgsql.dll.Verificar que dicha librería se encuentra en el directorio c:\archivos de programa\PHPy que se ha indicado en el fichero php.ini (eliminando el ‘punto y coma’) que se debe cargar la librería php_pgsql.dll

..la autentificación IDENT falló... (Linux)Problema: Los permisos de acceso indicados en el fichero pg_hba.conf no son los correctos. Se debe editar dicho fichero para indicar que se permite el acceso al SGBD desde el propio ordenador (por defecto, solo se permite acceder desde el pgsql.El fichero de configuración se encuentra en la ruta /etc/postgresql/. Se deberán modificar las líneas que permiten el acceso local para que ponga:local all all trusthost all all trust

9