Edición de «Instalar Kumbia»
De KumbiaPHP Framework Wiki
Advertencia: no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si inicias sesión o creas una cuenta, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Puedes deshacer la edición. Antes de deshacer la edición, comprueba la siguiente comparación para verificar que realmente es lo que quieres hacer, y entonces guarda los cambios para así efectuar la reversión.
Revisión actual | Tu texto | ||
Línea 1: | Línea 1: | ||
= Requisitos = | = Requisitos = | ||
− | + | Servidor web Apache en cualquier versión bajo Windows 2000/XP/Vista ó Linux/UNIX. | |
− | |||
− | |||
− | + | Puedes utilizar IIS con Isapi_Rewrite instalado. | |
− | + | También se puede utilizar Cherokee Web server | |
+ | |||
+ | Instalar PHP5+ (recomendado 5.2) | ||
+ | Motor de base de datos soportado si se necesitase. | ||
+ | |||
+ | = Descargar Kumbia = | ||
+ | |||
+ | Kumbia se distribuye en un paquete comprimido listo para usar. Se puede descargar la última versión de: | ||
http://www.kumbiaphp.com/ | http://www.kumbiaphp.com/ | ||
+ | http://sourceforge.net/projects/kumbia/ | ||
+ | |||
+ | El nombre del paquete tiene un nombre como kumbia-version-notes.formato, por ejemplo: kumbia-0.4.7a-stable.tar.gz | ||
− | + | = Configuración de módulos ( apache, php y bbdd ) = | |
== Configurando apache == | == Configurando apache == | ||
− | + | Kumbia utiliza un módulo llamado mod_rewrite para la reescritura de URLs y hacerlas más comprensibles y fáciles de recordar en nuestras aplicaciones. Por esto, el módulo debe ser configurado e instalado en Apache. Para esto, debe chequear que el módulo esté habilitado en el httpd.conf | |
− | < | + | <source lang="php"> |
<Directory "/to/document/root"> | <Directory "/to/document/root"> | ||
Options Indexes FollowSymLinks | Options Indexes FollowSymLinks | ||
− | AllowOverride All | + | '''AllowOverride All''' |
Order allow,deny | Order allow,deny | ||
− | Allow from all | + | '''Allow from all''' |
</Directory> | </Directory> | ||
− | </ | + | </source> |
− | En el DocumentRoot (Directorio Raíz de Apache) debe llevar la opción '''AllowOverride All''' para que Apache lea el archivo | + | En el DocumentRoot (Directorio Raíz de Apache) debe llevar la opción '''AllowOverride All''' para que Apache lea el archivo .htaccess y llame a mod_rewrite |
− | = | + | <source lang="php"> |
+ | AccessFileName .htaccess | ||
+ | LoadModule rewrite_module modules/mod_rewrite.so | ||
+ | </source> | ||
+ | Sirven para indicar que el archivo de configuración se llama .htaccess y que suba el módulo mod_rewrite, esta última línea generalmente aparece con un signo # de comentario. | ||
− | + | <source lang="php"> | |
− | < | + | DirectoryIndex index.php index.html ... |
− | + | </source> | |
− | + | Indican a Apache que index.php es un archivo de índice que tiene prioridad sobre index.html, es muy importante que index.php esté antes de index.html. | |
− | |||
− | + | === ¿Por qué es importante Mod-Rewrite? === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ReWrite es un módulo de apache que permite reescribir las urls que han utilizado nuestros usuarios a otras más complicadas para ellos. Kumbia encapsula esta complejidad permitiéndonos usar URLS bonitas o limpias como las que vemos en blogs o en muchos sitios donde no aparecen los ? ó los & o las extensiones del servidor (.php, .asp, .aspx, etc). | |
− | + | Además de esto, con mod-rewrite, kumbia puede proteger nuestras aplicaciones ante la posibilidad de que los usuarios puedan ver los directorios del proyecto y puedan acceder a archivos de clases, modelos, lógica, etc, sin que sean autorizados. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Con mod-rewrite el único directorio que pueden ver los usuarios es el contenido del directorio public, el resto permanece oculto y sólo puede ser visualizado cuando ha realizado una petición en forma correcta y también es correcto según nuestra lógica de aplicación. | |
+ | Cuando escribes direcciones utilizando este tipo de URLs, estás ayudando también a los motores de búsqueda a indexar mejor tu información. | ||
+ | '''NOTA:''' Se trabaja actualmente para que este requisito no sea indispensable, se estima que esta mejora será incorporada en la versión 0.6 del framework, de manera que se pueda utilizar el framework en servidores compartidos o en aquellos hosting que no ofrecen este módulo de apache | ||
− | + | == Configuración de PHP == | |
− | |||
− | |||
− | |||
− | + | Las siguientes configuraciones de PHP son opcionales: | |
− | + | magic_quotes_gpc = On | |
− | + | Nos protegen en cierta medida de ataques de inyección SQL que puedan tratar de ejecutar sobre nuestras aplicaciones en Kumbia. | |
− | + | error_reporting = E_ALL & ~E_NOTICE | |
− | |||
− | |||
− | + | Kumbia no está escrito respetando el estándar E_STRICT, por lo que en algunas configuraciones podrían aparecer mensajes inesperados o molestos de parte de PHP. | |
− | + | session.save_path = /path/to/dir/ | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Debe apuntar a un directorio con permisos de escritura | |
− | + | track_errors = On | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | Permite que Kumbia muestre información más precisa sobre algunos warnings y mensajes de error que son controlados internamente. | |
− | + | === ¿Porque Kumbia utiliza PHP5? === | |
− | + | Kumbia trabaja sólo con PHP5. PHP5 es la versión más avanzada, estable y es el futuro de este lenguaje. Posee un soporte más completo a la orientación a objetos, iteradores, excepciones y un soporte a xml más potente. | |
− | |||
− | |||
− | + | Usuarios que quieran dar un toque realmente profesional a sus aplicaciones sabrán valorar las cualidades de PHP5 y abandonarán el uso de PHP4. Alguna vez se pensó en desarrollar una versión especifica de Kumbia para PHP4, sin embargo esto era dar un paso atrás. | |
− | + | Hoy en día, el mayor problema que tiene PHP5 es el paso a servidores de hosting compartido con esta versión, que hoy en día mantienen compatibilidad con PHP4, ya que el cambio generaría problemas con aplicaciones existentes en ellas. Pero esto poco a poco se deja atrás y cada vez más servidores tienen la ultima versión de PHP. | |
− | |||
− | |||
− | + | == Configurando BB.DD == | |
− | === | + | === Configuración de MySQL === |
− | + | Cuando se utiliza una base de datos MYSQL5 debe verificarse que el sql_mode no esté en modilidad estricta. Para validar esto debe ingresar a la línea de comando de MYSQL5: | |
− | |||
− | |||
− | + | mysql -h localhost -u root -p | |
− | + | y luego ejecutar el siguiente select: | |
− | + | ||
− | + | mysql> select @@global.sql_mode; | |
− | |||
− | |||
− | + | Dependiendo de la configuración que tenga le dará un resultado parecido a esto: | |
− | < | + | <source lang="php"> |
− | + | +----------------------------------------------- + | |
− | + | | @@global.sql_mode | | |
− | + | +----------------------------------------------- + | |
− | + | | STRICT_ALL_TABLES | | |
− | </ | + | +----------------------------------------------- + |
+ | </source> | ||
− | + | Para cambiar este parámetro, a uno adecuado al framework, debe ejecutar el siguiente comando: | |
− | + | mysql> set [global | session] sql_mode = ; | |
− | |||
− | |||
− | |||
− | + | o cambiar la configuración del archivo my.ini en su sistema operativo. | |
− | + | Para ver otros parámetros ver el siguiente enlace [1] | |
− | + | === Configurando Oracle === | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == Configurando Oracle == | ||
Kumbia trabaja con la extensión de PHP OCI8. Estas funciones le permiten acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y Oracle 7 usando la Interfaz de Llamados Oracle (OCI por sus siglas en Inglés). Ellas soportan la vinculación de variables PHP a recipientes Oracle, tienen soporte completo LOB, FILE y ROWID, y le permiten usar variables de definición entregadas por el usuario. | Kumbia trabaja con la extensión de PHP OCI8. Estas funciones le permiten acceder a bases de datos Oracle 10, Oracle 9, Oracle 8 y Oracle 7 usando la Interfaz de Llamados Oracle (OCI por sus siglas en Inglés). Ellas soportan la vinculación de variables PHP a recipientes Oracle, tienen soporte completo LOB, FILE y ROWID, y le permiten usar variables de definición entregadas por el usuario. | ||
Línea 170: | Línea 138: | ||
El procedimiento para instalar XAMPP en Windows es el siguiente: | El procedimiento para instalar XAMPP en Windows es el siguiente: | ||
− | #Descargar XAMPP de Apache Friends | + | #Descargar XAMPP de Apache Friends |
#Instalar XAMPP | #Instalar XAMPP | ||
#Habitilitar Instalar Apache y MySQL como Servicio | #Habitilitar Instalar Apache y MySQL como Servicio | ||
Línea 179: | Línea 147: | ||
#Copiar el paquete de Kumbia a: | #Copiar el paquete de Kumbia a: | ||
##c:\Archivos de Programa\xampp\apache\htdocs\ | ##c:\Archivos de Programa\xampp\apache\htdocs\ | ||
− | #Continuar Normalmente | + | #Continuar Normalmente |
== Instalando XAMPP bajo GNU/Linux == | == Instalando XAMPP bajo GNU/Linux == | ||
Línea 185: | Línea 153: | ||
El procedimiento para instalar XAMPP en cualquier distribución GNU/Linux es el siguiente: | El procedimiento para instalar XAMPP en cualquier distribución GNU/Linux es el siguiente: | ||
− | #Descargar XAMPP de Apache Friends | + | #Descargar XAMPP de Apache Friends |
#Instalar XAMPP | #Instalar XAMPP | ||
#Copiar el paquete de Kumbia a /opt/lampp/htdocs/ | #Copiar el paquete de Kumbia a /opt/lampp/htdocs/ | ||
Línea 200: | Línea 168: | ||
Buscas la línea para el directorio /var/www donde dice: AllowOverride None y cambiar por AllowOverride All | Buscas la línea para el directorio /var/www donde dice: AllowOverride None y cambiar por AllowOverride All | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Reinicias Apache con: | Reinicias Apache con: | ||
Línea 225: | Línea 184: | ||
Si todo esta correcto os mostrará una pantalla de bienvenida, en caso contrario os informará sobre error o errores detectados. | Si todo esta correcto os mostrará una pantalla de bienvenida, en caso contrario os informará sobre error o errores detectados. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |