domingo, 14 de marzo de 2010

Configurar Symfony con XAMPP en Mac

La configuracion del servidor web mostrada en la sección Web Server Configuration requiere algunos adiciones para que funcione.

Estoy usando Symfony 1.4.3 con XAMPP for Mac OS X 1.7.2a corriendo sobre Snow Leopard.

Configuración de Apache


Cuando seguí las instrucciones de la sección Web Server Configuration Apache inciaba y los segundos se apagaba solo. Al verificar el error_log encontré:

[Sun Mar 14 08:09:31 2010] [emerg] (13)Permission denied: couldn't grab the accept mutex
[Sun Mar 14 08:09:31 2010] [emerg] (13)Permission denied: couldn't grab the accept mutex
[Sun Mar 14 08:09:32 2010] [alert] Child 329 returned a Fatal error... Apache is exiting!

La solución que funcionó para mi fue agregar "AcceptMutex flock" en el httpd.conf.
Mi configuración quedó así:
AcceptMutex flock
# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080

# This is the configuration for your project
Listen 127.0.0.1:8080

<VirtualHost 127.0.0.1:8080>
DocumentRoot "/Users/tg/NetBeansProjects/sfRemates/web"
DirectoryIndex index.php
<Directory "/Users/tg/NetBeansProjects/sfRemates/web">
AllowOverride All
Allow from All
</Directory>

Alias /sf /Users/tg/Documents/symfony-1.4.3/data/web/sf
<Directory "/Users/tg/Documents/symfony-1.4.3/data/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

Con esto logré que Apache arrancara.

Problemas con Permisos


Luego de lograr correr Apache y tener la aplicación creada. Empece a obtener el siguiente error al conectarme a http://127.0.0.1:8080 :

Warning: require_once(/Users/luisberrocal/Documents/symfony-1.4.3/lib/autoload/sfCoreAutoload.class.php) [function.require-once]: failed to open stream: Permission denied in /Users/luisberrocal/NetBeansProjects/sfRemates/config/ProjectConfiguration.class.php on line 3

Fatal error: require_once() [function.require]: Failed opening required '/Users/luisberrocal/Documents/symfony-1.4.3/lib/autoload/sfCoreAutoload.class.php' (include_path='.:/Applications/xampp/xamppfiles/lib/php:/Applications/xampp/xamppfiles/lib/php/pear:/Applications/xampp/xamppfiles/Smarty-2.6.26/libs') in /Users/luisberrocal/NetBeansProjects/sfRemates/config/ProjectConfiguration.class.php on line 3

Despues de investigar mucho y hacer varios cambios en los permisos opte por instalar Symfony desde Pear. Originalmente lo había instalado en /Users/luisberrocal/Documents/symfony-1.4.3 a partir de un zip.

A continución los pasos que me funcionaron, los puntos 3 a 5 son para usuarios de Netbeans, si no esta utilizando Netbeans salte al punto 6:

1. Corra pear channel-discover pear.symfony-project.com
2. Corra pear install symfony/symfony-1.4.3
3. En Netbeans 6.8 abra la ventana Options desde el menu Neatbeans\Preferences.
4. Seleccion la pestaña PHP y luego la pestaña Symfony.
5. Cambie la ubicación del Symfony script a /usr/bin/symfony.
6. Genere un proyecto.

Tuve que editar el httpd.conf para lograr que los gráficos se vieran:

Alias /sf /usr/lib/php/data/symfony/web/sf
<Directory "/usr/lib/php/data/symfony/web/sf">
AllowOverride All
Allow from All
</Directory>

2 comentarios:

  1. muchísimas gracias!!! yo lo estoy corriendo con linux ubuntu y he andado trancado con este mismo problema, le he cambiado los permisos y el propietario y sin embargo no lo podía solucionar

    ResponderEliminar
  2. Gracias Anyul. Me alegra que esto le sirva a alguien.
    Saludos

    ResponderEliminar