GNU / Linux /

Apache, PHP y MySQL

Participa en el tema Apache, PHP y MySQL en el foro GNU / Linux.
Introducción Para quienes no tengan en claro cómo es posible que un navegador Web, termine ...

Buscar en este tema:
 
  •  
    #1 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/mysql_install_db

    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>
    +
     
    0
    Me gusta
     
    | Más
  • #2

    ehm willy chorro... eso me suena a planetalinux
    Me gusta este mensaje
  • #3

    ajaja tnx willy
    Me gusta este mensaje
  • #4

    buena explicacion gracias
    Me gusta este mensaje
  • #5

    buenas gentes:
    tengo un problema cuando kiero instalar el php4 y el apache 2.0

    es decir no se cual es el problemaporke el muy hijo de puta no me tira errores
    instale desde cero el apache y despues le pongo el php4
    el apache funciona bien (eso kreo) pero lo ke es php no me lo interpreta =(
    me esta tirando el codigo fuente asi como lo escribi yo
    ke mierda es lo ke esta pasando ¿¿??
    no se si sirbe de algo pero cuando miro los log de los errores me dice esto:

    "apache 2.0.36 (unix) PHP/4.2.0 configured --resumin normal operations"

    pd:mientras los compile a los 2 no me tiro errores y en el httpd.conf esta habilitado donde dice

    "LoadModule php4_module modules/libphp4.so"
    y dentro de la carpeta modules esta el modulo libphp4.so
    bueno siendo las 2 de la matina y con lacabeza kemada espero una desde ya agradecida respuesta
    salu2
    Me gusta este mensaje
  • #6

    A que te referis con 'le pongo el php'?

    Como configuraste y compilaste el php?

    Ojo que php con apache 2 todavía es beta...

    Lee en www.php.net que recomiendan algunas directivas especiales para php y apache2, en la seccion de documentación.
    12-Feb-2002 06:29


    For apache 2 (--with-apxs2) the following has to be added to the httpd.conf
    as well as the AddType lines (apache_2_0_28 tested).

    <FilesMatch "\.php(\..+)?$">
    SetOutputFilter PHP
    </FilesMatch>
    Yo lo compile con

    ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-imap --with-mysql

    depues de compilar me mostro esto:
    +--------------------------------------------------------------------+
    | *** WARNING *** |
    | |
    | Apache 2 Support is EXPERIMENTAL and should NOT be used in |
    | production environment. Before submitting bug reports, try the |
    | latest CVS snapshot from http://snaps.php.net |
    +--------------------------------------------------------------------+
    y me anduvo bien, al menos pude hacer un phpinfo(), pero tuve algunos quilombos con algunas aplicaciones y acceso a mysql, así que voy a esperar que oficialmente php soporte apache2.

    hice las pruebas con httpd-2.0.36 y php-4.2.1, con gcc 3.0.4 de redhat () (no uso el 2.96 de redhat, porque no es GNU).

    Salu 2
    Me gusta este mensaje
  • #7

    gracias
    lo puebo y despues te cuento como me fue
    Me gusta este mensaje


Estadísticas del tema
  • 6 RESPUESTAS
  • 2327 VISTAS
  • 6 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB