Últimos artículos
Loading...
domingo, 23 de septiembre de 2012

Instalar Symfony 2 en un servidor compartido

domingo, septiembre 23, 2012
Recién estoy empezando a ver un poco de Symfony y en el aprendizaje surgió una duda, que por mas que busque hay muchas respuestas, pero todas (al menos para mi inútiles).

CASO A: Shared hosting, no tenemos acceso a pear, no tenemos acceso al shell(SSH, bash.) No tenemos acceso a poder configurar Virtualhost. Pero si tenemos acceso a nuestra carpeta raíz y la pública (lease www, htdocs, public, etc)

CASO B: Solo tenemos acceso a nuestra carpeta pública(OMG! acá estamos en problemas creo...)

Solución caso A: 1. Organización de carpetas: Dentro del la instalación local, en caso de una instalación nueva tenemos esta organización de carpetas:

symfony/

..app

..bin

..src

..vendor

..web/

....bundles

....htaccess

....app_dev.php

....app.php


Bien , simplemente hay que copiar lo que hay dentro de web a nuestra carpeta publica del servidor. Y las demás carpetas afuera, por obvias razones.
Quedaria mas o menos así en caso de que nuestra carpeta publica se llame htdocs:
/

..app

..bin

..src

..vendor

..htdocs (nuestra carpeta pública)

....bundles

....htaccess

....app_dev.php

....app.php


Ojo si estamos trabajando en un sitio en desarrollo, debemos cambiar desde el htaccess la llamada a app.php

Con eso debería funcionar.

CASO B: La solución temporal que le encontré y creo que es la peor de todas que leí es tener dos htaccess una en la raíz y otra dentro de web. Ojo que acá solo tenemos acceso a la carpeta public del servidor.

Subimos todo el contenido de nuestro proyecto, quedaría así:

public_html/

.htaccess

..app

..bin

..src

..vendor

..web/

....bundles

....htaccess

....app_dev.php

....app.php


En el htaccess de la raiz debemos indicarle que nos redirija a donde esta nuestra aplicación, quedaría mas o menos asi:


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ web/$1 [QSA,L]

El htaccess dentro de la carpeta web lo dejamos como esta, no olvidando poner el sitio en producción.  Bién espero les haya servido, en caso de haber dicho algo que no esté correcto por favor avisarme así lo puedo corregir, dentro del poco tiempo que tengo disponible iré viendo mas sobre el framework y corrigiendo o mejorando este post.

Sean Felices!

3 Comentarios:

  1. tengo meses buscando una explicación mas o menos comprensible y esta esta bien ahora es cuestión de aplicarlo a ver como queda.. gracias..

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Probe lo que explicas y me da error 500

    Con la cong de los .htaccess de abajo sale la pagina vacia y no da error alguno. Que puede ser?

    Abajo pongo los files .htaccess para hacer funcional el site que evidentemente algo mal estoy haciendo!

    Puse < IfModule con espacio en las < > para poder publicarlo.. realmente es sin espacio..

    /.htaccess
    AddHandler x-mapp-php6 .php3 .php4 .php .phtml
    SetEnv PHP_VER 5_3
    < IfModule mod_rewrite.c >
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /web/$1 [L]
    < / IfModule >

    /web/.htaccess
    < IfModule mod_rewrite.c >
    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /app.php/$1 [QSA,L]
    < / IfModule >

    Saludos Lisandro, Gracias

    ResponderEliminar

 
Toggle Footer