Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Desplegar Symfony 2 sin virtual host y sin ssh

8 de noviembre de 2014

Hola:

Tengo un marrón curioso, tengo que desplegar una aplicación hecha e symfony2, pero no puedo acceder a la consola, lo que me corta la posibilidad de acceder a VirtualHost y no tengo acceso a la consola propia de Symfony2.

Mi duda es, ¿Puedo desplegar una aplicación sin todo esto?¿Puedo substituir la configuración que hago en el VH por el .htaccess?

Saludos


Respuestas

#1

Hola,

Entiendo que es un hosting compartido. Yo te cuento como lo hago yo en estos casos.

Primero, en la configuración del dominio, cambiar el directorio web, me explico:

Si tu dominio.com apunta a un directorio httpdocs, www-data, etc, cambiarlo a httpdocs/web/ subir toda la aplicación a httpdocs y ya tienes la aplicación symfony por debajo del directorio web y la parte pública en el directorio web.

Ahora los problemas, los permisos en el directorio caché, o bien tienes privilegios para poder eliminar el contenido de este directorio cada vez que hagas alguna modificación en la aplicación o bien puedes cambiar la configuración de symfony para que la caché la cree en algún directorio que si tengas permisos de borrado.

Segundo problema, la base de datos, no podrás utilizar la consola, y no podrás crear la base de datos, esquema, etc. Tendrás que exportar la base de datos en sql desde local y importarla en el phpmyadmin del hosting (para ahorrarte dolores de cabeza, el user y el password de la base de datos tienen que ser los mismo en local que en producción) .

Espero que esto te sirva.

Un saludo.

@julioalp

10 noviembre 2014, 20:58
#2

Hola:

Ya he subido la web, la base de datos y he cofigurado el .htaccess para eliminar el app.php, pero mi duda es como puedo eliminar con htaccess la parte de "web".

Saludos

@TsubasaAkai

13 noviembre 2014, 21:53
#3

Me respondo a mi mismo. Este es el .htaccess que tiene que ir en en la carpeta /web

<IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^dominio.pt$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^www.dominio.pt$
    RewriteCond %{REQUEST_URI} !^/web/.*$
    RewriteRule ^(.*)$ /web/$1 [QSA,L]
    # Explicitly disable rewriting for front controllers
    #RewriteRule ^app_dev.php - [L]
    RewriteRule ^web/app.php - [L]
 
    RewriteCond %{REQUEST_FILENAME} !-f
 
    # Change below before deploying to production
    #RewriteRule ^(.*)$ /app.php [QSA,L]
    RewriteRule ^(.*)$ web/app.php [QSA,L]
</IfModule>

Saludos y propicios dias

@TsubasaAkai

14 noviembre 2014, 9:56