Diferencia entre revisiones de «Pasar a produccion»

De KumbiaPHP Framework Wiki
Línea 1: Línea 1:
 
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.
 
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.
 +
 +
==== Preparar los archivos ====
  
 
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  
 +
 +
<source lang=ini>
 +
 +
[production]
 +
host = localhost
 +
username = root
 +
password =
 +
name = test
 +
type = mysqli
 +
 +
</source>
 +
 +
 
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.
 +
 +
 +
==== Subir archivos al FTP ====
  
 
Teniendo todos los archivos preaparados, nos conectamos al servidor mediante FTP.
 
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.
 
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
 
1) Subir en nuestro / la carpeta /core con todo su contenido
 +
 
2) Crear en / una carpeta /default
 
2) Crear en / una carpeta /default
 +
 
3) Subir en el directorio /default creado previamente toda la carpeta /app
 
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)
 
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
 
5) Dar permisos de escritura a las carpetas /default/app/temp, /default/app/temp/cache y /default/app/temp/logs
  
Línea 18: Línea 41:
  
 
* Comentar las líneas de reporte de errores para que no queden visibles a los usuarios:
 
* Comentar las líneas de reporte de errores para que no queden visibles a los usuarios:
 +
 +
<source lang=php>
 +
 
error_reporting(E_ALL ^ E_STRICT);
 
error_reporting(E_ALL ^ E_STRICT);
 +
 
ini_set('display_errors', 'On');
 
ini_set('display_errors', 'On');
 +
 +
</source>
  
 
* Y decomentar o agregar si no está la línea ini_set('display_errors', 'Off');
 
* 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)
 
* 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('APP_PATH', '/home/[nombre_cuenta]/default/app/');
 +
 
define('CORE_PATH',  '/home/[nombre_cuenta]/core/');
 
define('CORE_PATH',  '/home/[nombre_cuenta]/core/');
  

Revisión del 15:55 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.

Preparar los archivos

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

[production]
host = localhost
username = root
password =
name = test
type = mysqli


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.


Subir archivos al FTP

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.