Diferencia entre revisiones de «KumbiaPHP en servidor con CPanel»
Línea 27: | Línea 27: | ||
<source lang="php"> | <source lang="php"> | ||
+ | <?php | ||
/** | /** | ||
* KumbiaPHP web & app Framework | * KumbiaPHP web & app Framework | ||
Línea 40: | 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- | + | * @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', FALSE); | |
/** | /** | ||
− | * | + | * Descomentar para mostrar los errores |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
*/ | */ | ||
− | + | //error_reporting(E_ALL ^ E_STRICT);ini_set('display_errors', 'On'); | |
/** | /** | ||
Línea 69: | 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 79: | 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 89: | 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 | ||
*/ | */ | ||
− | /* | + | /*$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', '/'); | 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 109: | 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> | </source> | ||
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