Ya se habló en otros artículos publicados aquí de lo ventajoso que puede resultar abstraer los datos del diseño, cuando se trata de mantener corriendo una aplicación Web de dimensiones respetables. El sólo objetivo de esta breve nota, es indicar los pasos a seguir para poner a funcionar juntos los tres pilares fundamentales que cristalizan ese concepto: Apache, PHP y MySQL.

Introducción

Para quienes no tengan en claro cómo es posible que un navegador Web, termine accediendo a los datos de un servidor SQL, vamos a describir muy someramente lo que ocurre cuando alguien visita un sitio con esas características.

Suponga que visita www.vivalinux.com.ar, por dar un ejemplo :). Su cliente Web (que puede ser Netscape, Opera, o Internet Exploder), pide contenidos al servidor de aplicaciones Apache. Apache, normalmente puede enviarle sin más el contenido de archivos HTML estáticos.Pero si se trata de un archivo PHP, invocará al intérprete PHP (que puede ser un módulo de Apache), para que lo interprete por él, y le devuelva contenidos HTML para mostrar. Si ése script PHP necesita datos de una base de datos, se harán las consultas correspondientes, obteniéndose a cambio, los datos que van a mostrarse. En nuestro ejemplo, las noticias, la cantidad de visitantes, los datos del visitante si es un usario registrado, etc.

Como pueden ver en esta simplificada explicación, es necesario que los mecanismos de comunicación, queden perfectamente aceitados para tener andando todo como se debe, y es allí adonde apuntamos hoy.

Los pasos a seguir

Para empezar, y suponiendo que Ud. cuenta con equipo corriendo Linux, Solaris o SunOS, o algo parecido, y que además sabe cómo administrarlo, puede seguir dos caminos: uno fácil y el otro a conciencia. el fácil es comprar un producto como los de la compañía NuSphere, o Abria, u obtener los paquetes adecuados para su arquitectura y sistema operativo. Como no oculta grandes misterios, no nos detendremos más y analizaremos el otro camino. Me ha pasado por ejemplo, que sin ser un purista que todo lo compila, no me quedó más alternativa.

Hágase en primer lugar de los últimos binarios precompilados de MySQL, si los consigue. De lo contrario, deberá buscar los fuentes y compilarlos sin más. Ud. va a acompañarme en la instalación sobre un Ultra2-SPARC, corriendo Linux, asi que este es mi último binario precompilado. Al momento de escribir, la última versión estable de MySQL es la 3.23.40.

Luego, pase por apache.org, y descargue los fuentes de apache, que no superan los 2M para la versión actual (1.3.20). Por último, encontrará la versión 4.0.6 de PHP en php.net, o en alguno de sus mirrors.

En realidad podría tambien aprovechar para buscar extensiones para TDS, ODBC o lo que quiera, pero hoy sólo hablaremos de los componentes básicos. Sólo me atrevería a sugerirle phpMyAdmin 2.2.0rc3 (145K de deliciosos scripts php, que le harán la vida con mysql, muchísimo más sencilla).

Instalación de MySQL

Siguiendo con mi binario precompilado, y las instrucciones que lo acompañan, deberá descomprimirlo en /usr/local, y crearle un enlace (o renombrar si prefiere), de mysql-3.23.40-etc a mysql. Cámbie ahora la propiedad del directorio:

#chgrp -R root mysql-3.22.22-unknown-linux-gnu-sparc mysql

Agregue un grupo mysql, y un usuario mysql que pertenezca a ése grupo. Luego conviértase en él usando su:

# su mysql $ cd mysql $ ./scripts/mysqlinstalldb

Ahora, debería estar en condiciones de volver a ser root, y ejecutar:

# /usr/local/mysql/support-files/mysql.server start

Este pequeño script, sirve para iniciar el servidor, y será interesante hacerle un link en init.d, y luego en rc.? para que se inicie mysql junto al sistema.

Si mysql funciona, deberá poder conectarse:

#/usr/local/mysql/bin/mysql

Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 2 to server version: 3.23.40

Type 'help' or 'h' for help. Type 'c' to clear the buffer. mysql>

Este es el prompt de mysql, recuerde que toda orden termina con ; e intente:

mysql> show databases;

+----------+ | Database         | +----------+ | mysql          | | test              | +----------+

2 rows in set (0.00 sec)

mysql>quit Bye

Ahora debe cambiar el password para root:

#./mysqladmin -u root password nuevopassword

La instalación de Apache

Yo suelo usar dos directorios para este tipo de cosas, uno es /depot, donde bajo los archivos comprimidos, y otro /install, donde descomprimidos, son compilados. Para compilar Apache, debe usar estos parámetros: (Note que puede verlos cortados, pero se trata de una sola línea)

./configure --sysconfdir=/etc/httpd --datadir=/home/httpd --logfiledir=/var/log/httpd --enable-module=most --enable-shared=max --disable-rrule=WANTHSREGEX

Luego make y make install. Solo asegúrese de ser root cuando haga make install. Lo he asumido así desde el principio, pero puede no ser su caso.

Para configurar Apache, debe ir al directorio /etc/httpd. Ahí encontrará varios archivos, pero la mayoría sólo están ahí por compatibilidad con versiones anteriores. Concéntrese en httpd.conf, y asegúrese de dejar las siguientes opciones, como le indico:

Port 80 ... DirectoryIndex index.html index.shtml index.cgi index.php index.php3 ... AddType application/x-httpd-php .php3 .php .phtml ... AddType application/x-httpd-php-source .phps

Puede querer cambiar alguna otra, pero hecho esto puede intentar:

#/usr/local/bin/apachectl start

o

#/usr/local/bin/apachectl stop

para detenerlo. Si lo ha puesto ha funcionar, y tiene al menos la interfaz lo funcionando, debiera poder apuntar su navegador a 127.0.0.1, y ver la página por defecto que Apache ha dejado en /home/httpd, para su deleite personal. Recuerde por último que tambien puede ser util, enlazar este script en init.d.

Instalación de PHP

Como en el caso de Apache, descomprima los fuentes y diríjase al directorio en que residen.

Ahora debe hacerle saber al código de PHP, que pretende Ud. que se compile como un módulo de Apache:

#./configure --with-apxs=/usr/local/apache/bin/apxs --with-config-file-path=/etc/httpd --with-mysql --with-system-regex

Hecho esto, puede usar make y make install, y PHP4 quedará funcionando junto a su Apache. Ahora puede arrancar su servidor Apache. y disfrutar de los resultados.

Pruebas finales

Ahora puede crear un archivo de prueba, en /home/httpd/htdocs, y aunque para la ocasión puede usar cualquer editor, desde vi en adelante, le recomiendo glimmer, bluefish, o quanta en el último de los casos:

prueba.php

<html> <head> <title> Qué emoción! Mi primer página en PHP </title> </head> <body>

<? echo "Vio que no era tan dificil? Nos vemos en la proxima"; ?>

</body> </html>

Esta nota es una traducción libre del documento originalmente publicado en DevShed.com: http://www.devshed.com/Server_Side/Administration/Database/

Publicidad

© 2006 Planeta Linux Argentina. La fuente de recursos Linux desde 1999. Desarrollado por VivaServer.