viernes, 26 de febrero de 2010

Instalar Symfony en Windows Vista (con XAMPP)

Siempre he dicho que Windows Vista es malo, y aún lo es. Sin embargo, estos días he estado probando la versión 64bits y, como estoy desarrollando un par de sitios en Symfony, me vi en la obligación de instalarlo. Al principio no fue facil, pero luego de revisar un par de tutoriales, y rescatar lo mejor de cada uno, logré hacerlo de la siguiente forma.
Primero, instalar el servidor web Apache/PHP/MySQL. Para esta ocasión use XAMPP, el cual se puede descargar aquí. Después de instalarlo los pasos para hacer que Symfony ande son los siguientes:

Instalación de Pear

  1. Ir a la consola de comandos. Menú inicio -> Ejecutar -> cmd
  2. Ir a la carpeta de php: cd c:xamppphp
  3. Ejecutar el instalador/configurador de Pear con el comando go-pear.bat


  4. Preguntara si es una copia local. Sólo presionar ENTER


  5. Mostrará una lista de directorios de pear. Presionar ENTER


  6. Se creara el archivo PEAR_ENV.reg en c:xamppphp, el cual debemos ejecutar y confirmar la operación como administrador.


  7. Se habra creado (también en c:xamppphp) el archivo pear.bat. Debemos copiarlo y pegarlo en c:windowssystem32.


  8. Para comprobar que se ha instalado correctamente, ejecutamos el comando pear config-show desde cualquier ubicación, donde mostrará la configuración actual. Si no aparecen errores, todo ok hasta aquí y tenemos Pear instalado.

Instalación de Symfony

  1. En la consola de comandos (Inicio -> Ejecutar -> cmd) agregamos el ‘channel’ de Symfony en Pear ejecutando pear channel-discover pear.symfony-project.com.


  2. Instalar Symfony con el comando pear install symfony/symfony.


  3. Si todo va bien se creará el archivo symfony.bat en c:xamppphp, el cual debemos copiar y pegar en c:windowssystem32 (al igual que con pear.bat).


  4. Como estamos cambiando la ruta desde donde se accede, hay que modificar el symfony.bat que esta en la carpeta system32 para que funcione. Las modificaciones son las siguientes:
     

Esta es otra configuración
 @echo off
rem *************************************************************
rem ** symfony CLI for Windows based systems (based on phing.bat)
rem *************************************************************
rem This script will do the following:
rem - check for PHP_COMMAND env, if found, use it.
rem   - if not found detect php, if found use it, otherwise err and terminate
if "%OS%"=="Windows_NT" @setlocal
rem %~dp0 is expanded pathname of the current script under NT
set SCRIPT_DIR="C:\php\" aqui cambie la ruta de mi php 
goto init
:init
if "%PHP_COMMAND%" == "" goto no_phpcommand
if "%SCRIPT_DIR%" == "" (
  %PHP_COMMAND% "symfony" %*
) else (
  %PHP_COMMAND% "%SCRIPT_DIR%\symfony" %*
)
goto cleanup
:no_phpcommand
rem echo ------------------------------------------------------------------------
rem echo WARNING: Set environment var PHP_COMMAND to the location of your php.exe
rem echo          executable (e.g. C:\PHP\php.exe).  (assuming php.exe on PATH)
rem echo ------------------------------------------------------------------------
set PHP_COMMAND=C:\php\php.exe aqui tambien cambie la ruta de php.exe 
goto init
:cleanup
if "%OS%"=="Windows_NT" @endlocal
rem pause
  1. Si todo esta bien, al ejecutar el comando symfony desde cualquier ubicacion deberiamos encontrar la lista de comandos, como muestra la siguiente imagen.


  2. Tambien se debe instalar el paquete phing, con el comando pear install phing/phing
  3. Es imporante actualizar pear y todos los paquetes que dependen de el. Para esto basta con ejecutar el comando pear upgrade-all
  4.  Notas: para el problema de instalacion de phing primero debes ejecutar :
    pear channel-discover pear.phing.info
    y luego
    pear install phing/phing
  5. Con todo esto ya tenemos instalado symfony en nuestro PC.

Configuracion de Virtual Host en apache.

Es muy util, cuando desarrollamos distintos proyectos, que cada uno funcione de forma independiente. Esto es sencillo gracias a los vhosts de apache. Para configurar, seguir los siguientes pasos:
  1. Abrir el archivo de configuracion de vhosts de apache, el cual esta en c:xamppapacheconfextrahttpd-vhosts.conf.
  2. Descomentar la linea que dice ##NameVirtualHost *:80 quedando sólo NameVirtualHost *:80


  3. Agregar los permisos para la carpeta de symfony sf.


  4. Para cada proyecto agregar el virtual host de la siguiente forma.


  5. Al guardar los cambios, hay que reiniciar el servidor apache para que tengan efecto. Para esto ir al panel de control de XAMPP, detener apache, e iniciarlo nuevamente.
  6. Finalmente, para que el navegador nos reconozca la ruta a nuestro virtual host, respondiendo a la dirección http://nombreproyecto (lo que pusimos en la opcion ServerName del virtual host) debemos editar el archivo hosts que esta en c:windowssystem32driversetchosts, por supuesto como Administrador.


  7. Si todo va bien, al guardar los cambios ya podremos acceder a nuestro proyecto a través del navegador con la direccion http://nombreproyecto.
Este pequeño how-to esta pensado en alguien que conoce el funcionamiento de windows, servidores web, php y sabe que es y para que sirve Symfony. Cualquier error o agregado es bien recibido.

 Post Original tomado de http://davidvega.net/2008/04/26/instalar-symfony-en-windows-vista-con-xampp/

Este manual tambien sirve para instalar symfony sin xampp, solo debes cambiar las rutas donde está php.

5 comentarios:

  1. Hola tengo una duda al ejecutar el
    go-pear.bat me salen los siguientes errores y nose a que se deba si me pudieras ayudar te lo agradeceria

    C:\xampp\php>go-pear.bat
    manifest cannot be larger than 100 MB in phar "C:\xampp\php\PEAR\go-pear.phar"PH
    P Warning: require_once(phar://go-pear.phar/index.php): failed to open stream:
    phar error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in
    C:\xampp\php\PEAR\go-pear.phar on line 1236

    Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: pha
    r error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\
    xampp\php\PEAR\go-pear.phar on line 1236
    Presione una tecla para continuar . . .

    ResponderEliminar
  2. same here dude.. please help :)

    ResponderEliminar
  3. Hola a mi tmb me marcaba ese error solo hay q descargar el archvio actualizado de go-pear.bat desde este link http://pear.php.net/go-pear.phar
    y sustituirlo por el que se encuentra ubicado en xampp/php/PEAR/

    y ejecutas las instruccion nuevamente C:\xampp\php>go-pear.bat

    ResponderEliminar
  4. Hola el archivo go-pear.bat no se encuentra en ninguna carpeta me pueden ayudar

    ResponderEliminar
  5. En las versiones de xampp actuales PEAR ya viene por default y no es necesario instalarlo, muy bueno el tutorial. Saludos.

    ResponderEliminar