| Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar] |
|
Server Side \ PostgreSQL con perl en el WEB Este artículo ha sido consultado en 924 ocasiones.
Aún cuando PHP es un lenguaje de programación práctico y de desarrollo más rápido y barato que otros lenguajes, como java. Nunca es recomendable quedarse demasiado atado a un único lenguaje. Todo desarrollador y/o Webmaster debe manejar al menos un lenguaje de amplio espectro, también llamados lenguajes de propósito general, estos lenguajes nos sirven lo mismo para generar reportes en PDF de los archivos modificados en nuestro servidor de tal a tal fecha, que para hacer un sencillo formulario Web. Perl es una excelente elección pues es un lenguaje extremadamente poderoso y versátil, además está disponible en todas las plataformas comerciales lo que hace que nuestros programas sean facilmente portables. Además perl es un decano de la programación, pues se encuentra cerca de su versión 6.0, Hay extensiones d epero En este mini-tutorial aprenderemos a visualizar una tabla de PostgreSQL a través de Apache y un script de perl. Necesitaremos los siguientes paquetes:
Busca en tu distribución los paquetes e instálalos (me han comentado que Mandrake 9.x no posee el paquete DBI para PostgreSQL pero se puede obtener aquí) si usas Debian instála los paquetes con apt-get: # apt-get install postgresql apache-perl libdbd-pg-perl NOTA: ¿Por qué apache-perl y no apache?, porque apache perl posee el módulo mod_perl. mod_perl es la integración de dos de las más robustas tecnologías web: Apache+Perl, apache perl es un demonio httpd de apache con el lenguaje perl incrustado en él, lo que mejora substancialmente la velocidad y el rendimiento de las páginas web. Uno de los probleas de los CGI (Commun Gateway Interface) de perl era que cada uno de ellos iniciaba un proceso en el servidor, con mod_perl esto ya no sucede y la carga al servidor se reduce. Bien, pasemos a PpstgreSQL, agrega la siguiente línea al archivo /etc/postgresql/pg_hba.conf: local all trust Asigna un password al usuario postgres: # passwd postgres Reinicia la base de datos: # /etc/init.d/postgresql restart Cambia al usuario postgres, crea la base de datos DBTEST e ingresa en ella: # createdb DBTEST && psql DBTEST && Crea la tabla tb_usuarios y agrega algunos registros: DBTEST>create table tb_usuarios (id serial, nombre varchar(50), email varchar(30)); Con el usuario que ejecuta Apache (puedes conocer quién es el usuario si revisas el archivo /etc/apache-perl/httpd.conf ) crea el directorio "pruebas" en el directorio raíz de apache, en mi caso el directorio raíz es /var/www de modo que el directorio queda en /var/www/pruebas. Busca está línea en el archivo /etc/apache-perl/httpd.conf: ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ Y cambiala por: ScriptAlias /pruebas/ /var/www/pruebas/ Dos líneas abajo verás: <Directory /usr/lib/cgi-bin/> También cambia la ruta a /var/www/pruebas/. Reinicia apache: # /etc/init.d/apache-perl restart Corta y pega las siguientes líneas y guardalo como /var/www/pruebas/usuarios.pl y con permisos 755.
#!/usr/bin/perl -w Cambia la variable $password por el password que asignaste al usuario postgres, colócate en http:/localhost/pruebas/usuarios.pl y listo!!, haz hecho tu primer acceso a Postgresq con DBI y mod_perl. TIP!: muchas veces los errores de programación en mod_perl producen la misma página de error en apache, es más cómodo desarrollar viendo el log de errores de apache-perl para conocer los errores de salida, para ello como root teclamos: # tail -f /var/log/apache-perl/error.log Última actualización: 2007-04-29 10:57:00-05 |
| Este trabajo está licenciado bajo la MonoNeurona Commons License. 2002-2008 © :: Colectivo MonoNeurona.org :: |