Diferencia entre revisiones de «KumbiaPHP en servidor con CPanel»

De KumbiaPHP Framework Wiki
 
(No se muestra una edición intermedia del mismo usuario)
Línea 1: Línea 1:
 
A continuación explicaré como subir un proyecto hecho con el framework kumbiaphp a un servidor. En este caso mi servidor puede administrarse con un CPANEL.
 
A continuación explicaré como subir un proyecto hecho con el framework kumbiaphp a un servidor. En este caso mi servidor puede administrarse con un CPANEL.
 
Luego de acceder a nuestro servidor y el administrador de archivos tenemos que subir las carpetas:
 
Luego de acceder a nuestro servidor y el administrador de archivos tenemos que subir las carpetas:
 +
<pre>
 
-core.
 
-core.
 
-default.
 
-default.
 +
</pre>
 
Al mismo nivel que PUBLIC_HTML, quedando de la siguiente manera en mi caso, estas son las carpetas que me quedaron:
 
Al mismo nivel que PUBLIC_HTML, quedando de la siguiente manera en mi caso, estas son las carpetas que me quedaron:
 +
<pre>
 
/cache
 
/cache
 
/core (carpeta de kumbiaphp,)
 
/core (carpeta de kumbiaphp,)
Línea 16: Línea 19:
 
/access-logs
 
/access-logs
 
/www
 
/www
 +
</pre>
  
 
Luego en la carpeta /public_html se debe copiar el contenido de su aplicación o página hecha con kumbiaphp de la carpeta siguiente:
 
Luego en la carpeta /public_html se debe copiar el contenido de su aplicación o página hecha con kumbiaphp de la carpeta siguiente:
Línea 22: Línea 26:
 
Luego hay que editar el index.php de esa misma carpeta quedando de la siguiente manera:
 
Luego hay que editar el index.php de esa misma carpeta quedando de la siguiente manera:
  
 +
<source lang="php">
 +
<?php
 
/**
 
/**
 
  * KumbiaPHP web & app Framework
 
  * KumbiaPHP web & app Framework
Línea 35: Línea 41:
 
  * to license@kumbiaphp.com so we can send you a copy immediately.
 
  * to license@kumbiaphp.com so we can send you a copy immediately.
 
  *
 
  *
  * @copyright  Copyright (c) 2005-2015 Kumbia Team (http://www.kumbiaphp.com)
+
  * @copyright  Copyright (c) 2005 - 2017 Kumbia Team (http://www.kumbiaphp.com)
 
  * @license    http://wiki.kumbiaphp.com/Licencia    New BSD License
 
  * @license    http://wiki.kumbiaphp.com/Licencia    New BSD License
 
  */
 
  */
  
 +
/**
 +
* Esta sección prepara el entorno
 +
* Todo esto se puede hacer desde la configuracion del
 +
* Servidor/PHP, en caso de no poder usarlo desde ahí
 +
* Puedes descomentar  estas lineas
 +
*/
 +
 +
//*Locale*
 +
//setlocale(LC_ALL, 'es_ES');
 +
 +
//*Timezone*
 +
//ini_set('date.timezone', 'America/New_York');
 +
 +
/**
 +
* @TODO
 +
* REVISAR ESTA SECCIÓN
 +
*
 +
*/
 +
define('APP_CHARSET', 'UTF-8');
 
/**
 
/**
 
  * Indicar si la aplicacion se encuentra en produccion
 
  * Indicar si la aplicacion se encuentra en produccion
 
  * directamente desde el index.php
 
  * directamente desde el index.php
 
  */
 
  */
//define('PRODUCTION', TRUE);
+
define('PRODUCTION', FALSE);
  
 
/**
 
/**
  * Establece polí­tica de informe de errores
+
  * Descomentar para mostrar los errores
*/
 
//error_reporting(0); // Usar este en producción, no envia errores
 
error_reporting(E_ALL ^ E_STRICT); // Comentar en producción
 
//comentar la siguiente linea en producción
 
ini_set('display_errors', 'On');
 
//echo 'hola';die();
 
/**
 
* Define marca de tiempo en que inicio el Request
 
 
  */
 
  */
define('START_TIME', microtime(1));
+
//error_reporting(E_ALL ^ E_STRICT);ini_set('display_errors', 'On');
  
 
/**
 
/**
Línea 64: Línea 81:
 
  * - Ruta al directorio de la aplicación (por defecto la ruta al directorio app)
 
  * - Ruta al directorio de la aplicación (por defecto la ruta al directorio app)
 
  * - Esta ruta se utiliza para cargar los archivos de la aplicacion
 
  * - Esta ruta se utiliza para cargar los archivos de la aplicacion
 +
* - En producción, es recomendable ponerla manual
 
  */
 
  */
 
 
define('APP_PATH', '/home/[nombre de su carpeta en el servidor]/default/app/');
 
define('APP_PATH', '/home/[nombre de su carpeta en el servidor]/default/app/');
  
Línea 74: Línea 91:
 
  * - Ruta al directorio que contiene el núcleo de Kumbia (por defecto la ruta al directorio core)
 
  * - Ruta al directorio que contiene el núcleo de Kumbia (por defecto la ruta al directorio core)
 
  */
 
  */
 
 
define('CORE_PATH', '/home/[nombre de su carpeta en el servidor]/core/');
 
define('CORE_PATH', '/home/[nombre de su carpeta en el servidor]/core/');
  
Línea 84: Línea 100:
 
  * - Esta ruta la utiliza Kumbia como base para generar las Urls para acceder de lado de
 
  * - Esta ruta la utiliza Kumbia como base para generar las Urls para acceder de lado de
 
  *  cliente (con el navegador web) y es relativa al DOCUMENT_ROOT del servidor web
 
  *  cliente (con el navegador web) y es relativa al DOCUMENT_ROOT del servidor web
 +
*
 +
*  EN PRODUCCION ESTA CONSTANTE DEBERÍA SER ESTABLECIDA MANUALMENTE
 
  */
 
  */
/*if ($_SERVER['QUERY_STRING']) {
+
/*$number = isset($_SERVER['PATH_INFO']) ? strlen(urldecode($_SERVER['PATH_INFO'])) - 1 : 0;
    define('PUBLIC_PATH', substr(urldecode($_SERVER['REQUEST_URI']), 0, - strlen(urldecode($_SERVER['QUERY_STRING'])) + 6));
+
$number += empty($_SERVER['QUERY_STRING']) ? 0 : strlen(urldecode($_SERVER['QUERY_STRING'])) + 1;
} else {
+
define('PUBLIC_PATH', substr(urldecode($_SERVER['REQUEST_URI']), 0, -$number));*/
    define('PUBLIC_PATH', $_SERVER['REQUEST_URI']);
 
}*/
 
 
define('PUBLIC_PATH', '/');
 
define('PUBLIC_PATH', '/');
 +
 
/**
 
/**
  * Obtiene la url
+
  * Obtiene la url usando PATH_INFO
 
  */
 
  */
$url = isset($_GET['_url']) ? $_GET['_url'] : '/';
+
$url = empty($_SERVER['PATH_INFO']) ? '/' : $_SERVER['PATH_INFO'];
 +
 
 +
/**
 +
* Obtiene la url usando $_GET['_url']
 +
* Cambiar también en el .htaccess
 +
*/
 +
//$url = isset($_GET['_url']) ? $_GET['_url'] : '/';
  
 
/**
 
/**
Línea 104: Línea 127:
 
//require APP_PATH . 'libs/bootstrap.php'; //bootstrap de app
 
//require APP_PATH . 'libs/bootstrap.php'; //bootstrap de app
 
require CORE_PATH . 'kumbia/bootstrap.php'; //bootstrap del core
 
require CORE_PATH . 'kumbia/bootstrap.php'; //bootstrap del core
 +
 +
</source>
  
 
Esta manera es muy útil ya que se puede tener varias aplicaciones con un solo core de kumbiaphp y en temas de seguridad es menos probable un ataque.
 
Esta manera es muy útil ya que se puede tener varias aplicaciones con un solo core de kumbiaphp y en temas de seguridad es menos probable un ataque.

Revisión actual del 02:25 21 nov 2017

A continuación explicaré como subir un proyecto hecho con el framework kumbiaphp a un servidor. En este caso mi servidor puede administrarse con un CPANEL. Luego de acceder a nuestro servidor y el administrador de archivos tenemos que subir las carpetas:

-core.
-default.

Al mismo nivel que PUBLIC_HTML, quedando de la siguiente manera en mi caso, estas son las carpetas que me quedaron:

/cache
/core (carpeta de kumbiaphp,)
/default (carpeta de kumbiaphp)
/etc
/logs
/mail
/public_ftp
/public_html
/ssl
/tmp
/access-logs
/www

Luego en la carpeta /public_html se debe copiar el contenido de su aplicación o página hecha con kumbiaphp de la carpeta siguiente: /default/public (el contenido de esta carpeta en public_html). Tomen en cuenta que a veces sucede que el .htaccess no se copia, y es necesario tenerlo copiado.

Luego hay que editar el index.php de esa misma carpeta quedando de la siguiente manera:

<?php
/**
 * KumbiaPHP web & app Framework
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license that is bundled
 * with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://wiki.kumbiaphp.com/Licencia
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to license@kumbiaphp.com so we can send you a copy immediately.
 *
 * @copyright  Copyright (c) 2005 - 2017 Kumbia Team (http://www.kumbiaphp.com)
 * @license    http://wiki.kumbiaphp.com/Licencia     New BSD License
 */

/**
 * Esta sección prepara el entorno
 * Todo esto se puede hacer desde la configuracion del
 * Servidor/PHP, en caso de no poder usarlo desde ahí
 * Puedes descomentar  estas lineas
 */

//*Locale*
//setlocale(LC_ALL, 'es_ES');

//*Timezone*
//ini_set('date.timezone', 'America/New_York');

/**
 * @TODO
 * REVISAR ESTA SECCIÓN
 *
 */
define('APP_CHARSET', 'UTF-8');
/**
 * Indicar si la aplicacion se encuentra en produccion
 * directamente desde el index.php
 */
define('PRODUCTION', FALSE);

/**
 * Descomentar para mostrar los errores
 */
//error_reporting(E_ALL ^ E_STRICT);ini_set('display_errors', 'On');

/**
 * Define el APP_PATH
 *
 * APP_PATH:
 * - Ruta al directorio de la aplicación (por defecto la ruta al directorio app)
 * - Esta ruta se utiliza para cargar los archivos de la aplicacion
 * - En producción, es recomendable ponerla manual
 */
define('APP_PATH', '/home/[nombre de su carpeta en el servidor]/default/app/');

/**
 * Define el CORE_PATH
 *
 * CORE_PATH:
 * - Ruta al directorio que contiene el núcleo de Kumbia (por defecto la ruta al directorio core)
 */
define('CORE_PATH', '/home/[nombre de su carpeta en el servidor]/core/');

/**
 * Define el PUBLIC_PATH
 *
 * PUBLIC_PATH:
 * - Path para genera la Url en los links a acciones y controladores
 * - Esta ruta la utiliza Kumbia como base para generar las Urls para acceder de lado de
 *   cliente (con el navegador web) y es relativa al DOCUMENT_ROOT del servidor web
 *
 *  EN PRODUCCION ESTA CONSTANTE DEBERÍA SER ESTABLECIDA MANUALMENTE
 */
/*$number = isset($_SERVER['PATH_INFO']) ? strlen(urldecode($_SERVER['PATH_INFO'])) - 1 : 0;
$number += empty($_SERVER['QUERY_STRING']) ? 0 : strlen(urldecode($_SERVER['QUERY_STRING'])) + 1;
define('PUBLIC_PATH', substr(urldecode($_SERVER['REQUEST_URI']), 0, -$number));*/
define('PUBLIC_PATH', '/');

/**
 * Obtiene la url usando PATH_INFO
 */
$url = empty($_SERVER['PATH_INFO']) ? '/' : $_SERVER['PATH_INFO'];

/**
 * Obtiene la url usando $_GET['_url']
 * Cambiar también en el .htaccess
 */
 //$url = isset($_GET['_url']) ? $_GET['_url'] : '/';

/**
 * Carga el gestor de arranque
 * Por defecto el bootstrap del core
 *
 * @see Bootstrap
 */
//require APP_PATH . 'libs/bootstrap.php'; //bootstrap de app
require CORE_PATH . 'kumbia/bootstrap.php'; //bootstrap del core

Esta manera es muy útil ya que se puede tener varias aplicaciones con un solo core de kumbiaphp y en temas de seguridad es menos probable un ataque.

esto es todo lo que hay que hacer, saludos