viernes, 18 de mayo de 2007

Instalar un Servidor para Pruebas en Windows

Amigos de ApacheSi eres diseñador web novato o experto, seguro alguna vez has creado tu primera página web ya sea usando un programa complejo como Dreamweaver o alguno otro que parecería insignificante como el Bloc de Notas de Windows (El Notepad). Insertaste algunas etiquetas HTML para armar la página y escribiste "Hola Mundo", luego abriste tu primera página con Internet Explorer y te sentiste satisfecho de tu magnifica creación y posteriormente buscaste un servidor en donde subir la páginita y quedaste feliz, diciendole a tus amigos que tenías una página web.

Con el tiempo fuistes aprendiendo más técnicas y trucos, te distes cuenta de que era CSS (Cascading Style Sheets) y te fuistes superando, hasta llegastes al punto en que necesitabas que tu página interactuara con los visitantes y conocistes los lenguajes de programación, como Perl, PHP, asp, jsp, CGI, etc. y alguna que otra base de datos para dinamizar tu sitio web, como por ejemplo MySQL, Oracle, o PostgreSQL, etc. Por lo cual, te buscates un servidor para hacer tus primeros pininos, pero..... y que tal si hicieras tus pruebas en tu propia PC sin conectarte a Internet pero como si lo estuvieras?? Eso es posible.

Existe un programa que se llama Xampp (apachefriends.org) el cual puedes descargar libremente sin costo alguno, el cual te ayudará a crear tus sitios web, probar los scripts, y muchas cosas más sin tener que estar conectado a internet para hacer tus modificaciones. El programa se instala desde Windows 98 hasta el recientemente lanzado Windows Vista, e incluye los siguientes componentes y lenguages de programación:
Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System for Win32 and NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, and WEB-DAV + mod_auth_mysql entre otros.


Puedes bajarlo en distintas versiones, ya sea para Windows, Linux, Solaris, etc. sólo basta buscar cual es la que te interesa.

Xampp es un proyecto que se ha hecho pensando en una manera de ayudar a la comunidad de programadores y diseñadores web. Al bajar el instalador del programa, solo tienes que hacer clic y esperar a que se complete el proceso de instalación. Al finalizar, tendrás en el menú de programas el menú "Apache Friends" en el cual podrás ver el Switcher de PHP que te servirá para intercambiar entre la versión de PHP que quieras usar ya sea 4.x o 5.x; El Xampp Control Panel es el programa desde donde controlas el servidor, o sea, es tan simple que solo tiene los botones para Iniciar y Detener el servidor Apache y PHP, indispensable para que puedas navegar tus paginas localmente, asi como también los scripts de PHP, el botón de MySQL, necesario para iniciar el servidor de base de datos MySQL si en caso lo necesitas usar, el botón de FileZilla necesario para iniciar el programa FTP para conectarte a tu sitio local.
Xammp Control Panel

Esto al menos es lo más básico que debas hacer siempre. Si no necesitas un servicio simplemente no lo actives y si lo has activado y no lo vas a necesitar, simplemente detenlo. También verás el botón Settings, el cual te permite hacer que el servidor funcione como un servicio de Windows o desactivarlo si ya lo tenías corriendo como tal. Para aclarar un poco a lo que se refiere lo de Servicio, debes entender que el servidor puede iniciarse automáticamente cada vez que inicies Windows o iniciarlo manualmente siempre que lo necesites. Al hecho de que se inicie automáticamente es lo que se le conoce iniciarlo como un servicio ya que siempre estará activo en Windows; aunque debes considerar también que dejarlo como servicio en tu PC implica uso de recursos que te podrían ser necesarios para otras tareas, pero esto queda a opción tuya.

Este servidor no se recomienda para sitios web manejados desde tu computadora hacia la Internet real porque no es 100% seguro y a lo mejor te puede generar algún fallo, ya que el objetivo para el cual ha sido creado es para ayuda local.

Siguiendo con la información que debas conocer, tambien verás en el menú de programas el elemento "XAMPP httpdoc folder" que al darle clic te abrirá la carpeta que debes usar siempre para poner tus scripts y páginas web.

Ahora, lo que tienes que hacer para poder probar tus diseños, sitios, scripts, etc. es lo siguiente:

  1. Previamente deberás haber iniciado el servidor Apache mediante el Xampp Control Panel y de paso el servidor MySQL.


  2. Abre tu navegador, ya sea Internet Explorer, Firefox, Opera o cualquiera que uses.


  3. Para ver si todo está funcionando bien, deberás teclear en la barra de dirección "http://localhost/" (sin las comillas). Si todo marcha bien verás el sitio de bienvenida de Xampp, en color naranja, en donde podrás escojar a la vez, el idioma.


  4. Para ingresar a el administrador de bases de datos PHPMyAdmin debes usar la dirección "http://localhost/phpmyadmin/" en el cual deberás ingresar el usuario "root" y sin contraseña. Ahi podrás ver el estado de las bases de datos que hagas, modificarlas, crear usuarios, asignar permisos, etc etc. Aunque desde "http://localhost" también puedes hacer click en PHPMyAdmin.



La carpeta en donde residen los scripts y páginas HTML se llama htdocs ubica en "C:\Archivos de programa\xampp".

Si por ejemplo, creas un archivo que se llame "pagina1.htm" y lo dejas en la carpeta htdocs, para verla deberás digitar en la barra de dirección "http://localhost/pagina1.htm" y verás el resultado, y asi sucesivamente con cuantas páginas hagas. Para evitar crear un desorden de archivos por todos lados puedes crear carpetas en htdocs, los cuales serán subdirectorios web en tu servidor local, asi por ejemplo, si vamos a instalar algun CMS (Gestor de Contenido) que se llame "MiPortal" vamos a acceder al contenido de MiPortal a través de la dirección "http://localhost/MiPortal/"

-- INSTALACION DE XAMPP EN LINUX --
En el caso de Linux Xampp pasa a llamarse Lampp, y la instalación debe ser efectuada tal como se especifica en la documentación del sitio web, aunque no es más que una simple extracción de archivos que se hace como usuario root desde una consola de comandos de linux.

Recuerde que debe descargar la versión de Xampp para Linux y NO la de Windows, y efectuar la siguiente orden en una terminal de comandos (para extraer el contenido del paquete):

Ingresar al sistema como administrador:

su

Extraer los archivos a la carpeta /opt:

tar xvfz xampp-linux-1.6.1.tar.gz -C /opt

Nota importante: Si usted extrae los archivos desde la interfaz gráfica de su distribución de Linux mediante el Gestor de Paquetes y luego mueve los archivos de Xampp/Lampp hacia la carpeta /opt se generarán varios errores entre ellos el hecho de no poder utilizar MySQL debido a un supuesto "Error al conectar al servidor de MySQL" y un problema generado por el archivo mysql.sock que no verá en ningún lugar. Si esta situación llegara a suceder, le recomiendo que borre el directorio lampp que se encuentra ubicado en /opt y siga las instrucciones anteriormente señaladas y todo marchará bien nuevamente.

Además, le sugiero, como un usuario común y corriente que cambie el propietario de la carpeta "htdocs" de root al suyo mediante la orden:
chown -R su_nombre /opt/lampp/htdocs

para que pueda crear un enlace a la carpeta desde su escritorio y pueda a la vez crear más carpetas dentro de "htdocs".

En linux no hay un panel de control similar al de Windows, para lo cual se debe utilizar la orden:
/opt/lampp/lampp start

en una consola de comandos. Para detener el servidor solamente deberemos cambiar "start" por "stop" y eso es todo.

Si necesitan información adicional que no se haya mencionado en este post, les recomiendo visitar el sitio web de apachefrieds.org/XAMPP, en donde podrán leer respuestas a preguntas frecuentes (F.A.Q. Frecuently Asked Questions) y más información sobre el manejo de este tan útil programa.

Existen muchos más servidores de pruebas locales que pueden usar, pero he decido escribir sobre este en particular por ser uno de los mas completos y fáciles de usar. Ojalá y sirva de mucha ayuda a la comunidad de desarrolladores (developers) de la web, tal como a mi me ha servido y que ahora les recomiendo.

18 comentarios

  1. Hola Mario. Fijate que encontre una solucion al problema de instalar paquetes en Ubuntu sin conexion a internet.

    Hice un post acerca de ello.

    BTW : tambien para Windows si quieres hacer un servidor de pruebas, puedes instalar el Wamp (Windows Apache Mysql Php), muy bueno tambien.

    Saludos

    ResponderEliminar
  2. Gracias justo lo que buscaba
    saludos

    ResponderEliminar
  3. Me alegro que te haya sido de utilidad Aruro.

    ResponderEliminar
  4. Moy Hansen Loureiro5 de julio de 2007, 5:44

    Excelente!!! busqué esto como loco, ya todo me funciona correctamente.

    ResponderEliminar
  5. Probé ese programa Wamp para hacer mis pruebas y me decepcionó debido a los errores invisibles que de repente se generan. Empiezan a trabajar tranquilamente y de repente los scripts empiezan a fallar sin razon aparente debido a algun error que desconozco en el servidor Wamp. Por eso me quedo con el Xampp.

    Para Moy: Me Alegro que te funcione todo Moy.

    ResponderEliminar
  6. Hola que tal?? Segui al pie de la letra tu manual y funciona muy bien en ubuntu 7.04, pero a la hora de cambiar de propietario htdocs con chown -R su_nombre /opt/lampp/htdocs me manda este error al poner localhost en el url:

    Warning: file_get_contents(lang.tmp) [function.file-get-contents]: failed to open stream: Permiso denegado in /opt/lampp/htdocs/xampp/index.php on line 2

    Warning: Cannot modify header information - headers already sent by (output started at /opt/lampp/htdocs/xampp/index.php:2) in /opt/lampp/htdocs/xampp/index.php on line 4

    no sabes a que se deba? de antemano gracias!!!

    ResponderEliminar
  7. Mira, lo que yo conozco de linux es bien poco pero prueba ingresar como root en una consola de comandos, y como root trata de cambiar los permisos y si aún asi no te funciona, cambia también el propietario.

    ResponderEliminar
  8. hola, bueno instale el xampp pero tengo problemas con pear, en mi aplicacion me dice que no reconoce la extension, corri el go-pear.bat y me salen solo 8 opciones siendo que en instalaciones anteriores me salian 10, bueno el asunto es que me da un error cuando realizo la instalacion.

    ResponderEliminar
  9. Exiten varias versiones del Xampp: con todo y el instalador y la versión comprimida, y la versión Lite. Habrás descargado la versión full con todo y el instalador?? Si no lo has hecho prueba reistalar la aplicación de nuevo, pero la full Installer.

    ResponderEliminar
  10. Sé que Linux es más seguro, open source, y que a la vez es gratis, etc. Y también sé que Windows es lo contrario, que es famosillo con los errores, igual existen infinidad de programas para optimizarlo, "tunerlo", en fin, hay tantas moficaciones de Windows XP, como distros de Linux probablemente! (eso me da la impresión del post de arriba)... pero estoy pesando seriamente migrar a Linux, aunque el aspecto de Linux no me llama la atención (y eso que trabajo en Windows XP UE V7, asi sin temas, ni mamadas, optimizado para que vaya más rápido, aunque tenga una apariencia pobre), me centro en la velocidad, y no en aspecto. Y sé que la manejabilidad de Lunux es un poquito más dificultuosa, en fin, un montón de pros y contras para ambos sistemas que un debate de no acabar, pero no es este debate el que quiero iniciar, que de si un sistema es mejor que otro, hay opiniones encontradas, por cierto ya he utilizado Linux antes(Red Hat, Mandrake y Ubuntu), pese a eso me considero en pañales en Linux. En definitiva... la pregunta muy personal es: ¿Qué puedo hacer en Linux que en Windows no pueda hacer?, en terminos de ser más productivo, como consumidor final independientemente del sistema (en toda la extensión de la palabra ser productivo y dejando aun lado que Windows y millones de aplicaciones para este sistema operativo "se pueden hacer gratis", parchar, crakear, etc). POR FAVOR. agradecería se tomase la molestia de responder a esto... De antemano, muchas gracias a quien se anime!.

    ResponderEliminar
  11. (Igual, no hace daño)

    ResponderEliminar
  12. Ok Dany, para empezar gracias por comentar al respecto, aunque está pregunta hubiese quedado mejor en otro post llamado "La pregunta del $1,000,000.00", pero eres libre de comentar donde quieras. Mi respuesta quizá no sea la mejor porque mi experiencia en Linux no es mucha, sin embargo he usado algunas versiones para ver que tal trabajan, y esto te puedo responder:

    - en linux puedes administrar mejor los archivos.
    - puedes desperdiciar menos espacio al tener instalado archivos que se agregan solo si los solicitas.
    - eliminar definitivamente un archivo en linux, significa literalmente ELIMINAR, asi que ni pienses en recuperarlo.
    - Los archivos, carpetas, programas, etc, funcionan estrictamente en base a permisos, si algo es tuyo no será de nadie más, con algunas excepciones.
    - tienes más probabilidad de no ser infectado por cualquier virus.
    - te hace que te vuelvas mas investigador, y no ocioso esperando a que todo se haga solo.

    En fin, esta es mi humilde respuesta, quizá no sea la mejor, pero creo haber dado mi punto de vista Dany.

    Saludos

    ResponderEliminar
  13. aun no lo instalo pero lo escito m eparece chevere si funciona vuelvo ha escribir gracias

    ResponderEliminar
  14. Hola amigos... yo he instalado XAMPP (APAche+PHP+MySQL) en la ruta C:/Xampp, y quieor configurar el Dreamweaver (DW) para utilziar un servidor de prueba. Los archivos de mi website en mi máquina están colocados en la rtuta "D:/Mis documentos/revista_digital"... ¿Qué parámetros debería poner en el DW? Grcias

    ResponderEliminar
  15. me pregunto si puedo trabajar php en dreamweaver con esto?

    ResponderEliminar
  16. claro que si se puede aunque soy honesto en decirlo pero yo no acostumbro a usar dreamweaver porque me gusta en cierta parte más la codificación que el diseño visual, pero creo, sin temor a equivocarme que se puede configurar Dreamweaver para usar el servidor localhost en la máquina donde se hagan las pruebas, sólo es de buscar un tanto en la configuración del programa DW para hacerlo.

    ResponderEliminar
  17. claro que se puede configurar dreamweaver con el localhost, es muy sencillo, lo unico que tienes que hacer es irte al driemweaver abrirlo y dirigirte a la ficha "sitios", luego creas un sitio en "nuevo sitio", despues en la ventana que te aparece le das "avanzado", en esa ventana te apareces nos tablas, una con la categoria, y otra que dice informacion local, en esta parte seleccionas la carpeta local, es decir la carpeta donde tienes los script en este caso seria "D:/Mis documentos/revista_digital...", debajo, aparece la carpeta de imagenes por defecto, ahi seleccionas la carpeta que contendra las imagenes del sitio; es decir, D:/Mis documentos/revista_digital.../images" o como se llame en tu caso. luego en la seccion de categorias vas a servidor de pruebas.

    en el servidor de pruebas te aparecen dos campos
    modelo del servidor y acceso, en el modelo del servidor seleccionas "PHP MySQL", en el acceso selecionas "local/Network o conexion local", y te aparece un campo llamado carpeta del servidor de pruebas o algo asi.; despues de esto, te vas a la carpeta del sitio, en "D:/Mis documentos/revita_digital/.." y la copias, y te diriges a C:\xampp\htdocs\ y la pegas alli. luego en el dreamweaver, en el campo de servidor de pruebas, ve a la carpeta que pegaste es decir "C:\xampp\htdocs\revista_digital\" y la dejas asi.

    luego de esto hay otro campo que se llama prefijo de url o URL prefix que dice "http://localhost/" y escribes esto "http://localhost/revista_digital/"
    le das aceptar y tienes creado el servidor de pruebas en tu maquina local. ya puedes trabajar en tu proyecto y cada vez que desees ver lo que llevas, presionas f12 y listo.

    ResponderEliminar
  18. Hola yo quisiera saber como hacer para que cuando no este conectado a internet el xampp funcione correctamente osea poder entrar en localhost sin internet y probar mis webs porque solo me funka cuando estoy conectado a internet por favor ayudenme! :cry: :arrow:

    ResponderEliminar