Diferencia entre revisiones de «Pasar a produccion»
Línea 2: | Línea 2: | ||
Primero, en caso de ser necesario, deberás tener seteado los valores correctos de tu servidor en el apartado "[production]" de tu archivo /app/config/databases.ini | Primero, en caso de ser necesario, deberás tener seteado los valores correctos de tu servidor en el apartado "[production]" de tu archivo /app/config/databases.ini | ||
− | Luego, para poder -activar- el sitio en producción, deberás cambiarle el valor de production a On, es decir production = On en el archivo /config/config.ini de tu aplicación | + | Luego, para poder -activar- el sitio en producción, deberás cambiarle el valor de production a On, es decir production = On en el archivo /config/config.ini de tu aplicación. |
− | + | Teniendo todos los archivos preaparados, nos conectamos al servidor mediante FTP. | |
+ | La razón de subir los archivos de la forma que detallaremos a continuación, es poder darle un grado más de seguridad a nuestro sitio web / aplicación, manteniendo todos los archivos del CORE y APP fuera del directorio público, y en nuestro directorio público solo dejar los assets css/js/files/etc. | ||
− | + | 1) Subir en nuestro / la carpeta /core con todo su contenido | |
+ | 2) Crear en / una carpeta /default | ||
+ | 3) Subir en el directorio /default creado previamente toda la carpeta /app | ||
+ | 4) En nuestro /public_html subir todo el contenido de /app/public. Acá en este punto es importante entender que solo hay que subir el CONTENIDO de la carpeta public (css, javascript, files, .htaccess, index.php, etc) | ||
+ | 5) Dar permisos de escritura a las carpetas /default/app/temp, /default/app/temp/cache y /default/app/temp/logs | ||
− | + | Editar el archivo subido en /public_html/index.php | |
− | + | * Si existe la constante define('PRODUCTION', FALSE); cambiarla a define('PRODUCTION', TRUE); | |
+ | |||
+ | * Comentar las líneas de reporte de errores para que no queden visibles a los usuarios: | ||
+ | error_reporting(E_ALL ^ E_STRICT); | ||
+ | ini_set('display_errors', 'On'); | ||
+ | |||
+ | * Y decomentar o agregar si no está la línea ini_set('display_errors', 'Off'); | ||
+ | * Cambiar los valores de las constantes APP_PATH y CORE_PATH (recordemos que las hemos cambiado un nivel más arriba que public_html) | ||
+ | |||
+ | define('APP_PATH', '/home/[nombre_cuenta]/default/app/'); | ||
+ | define('CORE_PATH', '/home/[nombre_cuenta]/core/'); | ||
+ | |||
+ | Donde [nombre_cuenta] es el usuario creado por cpanel (mismo que el FTP ) | ||
+ | |||
+ | * Por úlitimo comentar el cálculo de la variable PUBLIC_PATH y definir directamente con el dominio y no olvidar la barra “/” al final. | ||
+ | define('PUBLIC_PATH', 'http://www.tudominio.com'); | ||
Una vez subidos al servidor, revisar que tu carpeta /temp/ de tu aplicación (app/temp/ por ej) tenga permisos de escritura, así mismo como para las carpetas que están dentro /log/ y /cache/. | Una vez subidos al servidor, revisar que tu carpeta /temp/ de tu aplicación (app/temp/ por ej) tenga permisos de escritura, así mismo como para las carpetas que están dentro /log/ y /cache/. | ||
Algo para recordar es que la cache se activa automáticamente al pasar la aplicación a producción (production = On), y si realiza cambios en sus modelos de datos y necesita que se re-mapeen, los cambios no tendrán efectos hasta que no borre el contenido de /temp/cache. | Algo para recordar es que la cache se activa automáticamente al pasar la aplicación a producción (production = On), y si realiza cambios en sus modelos de datos y necesita que se re-mapeen, los cambios no tendrán efectos hasta que no borre el contenido de /temp/cache. |
Revisión del 15:46 8 ene 2016
Bueno, este documento está enfocado más bien hacia un aspecto práctico de como pasar una aplicación de desarrollo a producción y que cosas se podrían tomar en cuenta.
Primero, en caso de ser necesario, deberás tener seteado los valores correctos de tu servidor en el apartado "[production]" de tu archivo /app/config/databases.ini Luego, para poder -activar- el sitio en producción, deberás cambiarle el valor de production a On, es decir production = On en el archivo /config/config.ini de tu aplicación.
Teniendo todos los archivos preaparados, nos conectamos al servidor mediante FTP. La razón de subir los archivos de la forma que detallaremos a continuación, es poder darle un grado más de seguridad a nuestro sitio web / aplicación, manteniendo todos los archivos del CORE y APP fuera del directorio público, y en nuestro directorio público solo dejar los assets css/js/files/etc.
1) Subir en nuestro / la carpeta /core con todo su contenido 2) Crear en / una carpeta /default 3) Subir en el directorio /default creado previamente toda la carpeta /app 4) En nuestro /public_html subir todo el contenido de /app/public. Acá en este punto es importante entender que solo hay que subir el CONTENIDO de la carpeta public (css, javascript, files, .htaccess, index.php, etc) 5) Dar permisos de escritura a las carpetas /default/app/temp, /default/app/temp/cache y /default/app/temp/logs
Editar el archivo subido en /public_html/index.php
- Si existe la constante define('PRODUCTION', FALSE); cambiarla a define('PRODUCTION', TRUE);
- Comentar las líneas de reporte de errores para que no queden visibles a los usuarios:
error_reporting(E_ALL ^ E_STRICT); ini_set('display_errors', 'On');
- Y decomentar o agregar si no está la línea ini_set('display_errors', 'Off');
- Cambiar los valores de las constantes APP_PATH y CORE_PATH (recordemos que las hemos cambiado un nivel más arriba que public_html)
define('APP_PATH', '/home/[nombre_cuenta]/default/app/'); define('CORE_PATH', '/home/[nombre_cuenta]/core/');
Donde [nombre_cuenta] es el usuario creado por cpanel (mismo que el FTP )
- Por úlitimo comentar el cálculo de la variable PUBLIC_PATH y definir directamente con el dominio y no olvidar la barra “/” al final.
define('PUBLIC_PATH', 'http://www.tudominio.com');
Una vez subidos al servidor, revisar que tu carpeta /temp/ de tu aplicación (app/temp/ por ej) tenga permisos de escritura, así mismo como para las carpetas que están dentro /log/ y /cache/.
Algo para recordar es que la cache se activa automáticamente al pasar la aplicación a producción (production = On), y si realiza cambios en sus modelos de datos y necesita que se re-mapeen, los cambios no tendrán efectos hasta que no borre el contenido de /temp/cache.