Instalar Kumbia

De KumbiaPHP Framework Wiki

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.

Actualmente se está desarrollando el soporte para lighttpd

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://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

Configurando apache

KumbiaPHP Framework 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 (de acuerdo a la versión de apache)

<Directory "/to/document/root">
   Options Indexes FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory> 

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.

Habilitando Mod_Rewrite en S.O. Basados en GNU/Linux (Debian, Ubuntu y derivadas)

#a2enmod rewrite
#/etc/init.d/apache restart

Habilitando Mod-Rewrite en Fedora

#vi /etc/httpd/conf/httpd.conf

Buscar la línea...

#LoadModule rewrite_module modules/mod_rewrite.so

El "#" al principio indica que la línea esta comentada, lo que quiere decir que apache no cargara el modulo si fuese este el caso quitar el "#".

En el mismo archivo buscar...

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

Donde dice None reemplazarlo por All, para que apache interprete los archivos .htaccess.

Reiniciar el servicio httpd (apache)

# service httpd restart 

¿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. KumbiaPHP Framework 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, KumbiaPHP 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.

¿Porque KumbiaPHP utiliza PHP5?

KumbiaPHP trabaja sólo con PHP5 ya que 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. Esta características de PHP5 proporcionan un toque profesional a las aplicaciones desarrolladas esto con la intención que se abandone el uso de PHP4.

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.

Para que OCI8 trabaje es necesario instalar el cliente instantáneo de oracle. Luego hay que agregar a la variable de entorno PATH del sistema la ruta a donde fue descomprimido el cliente instantáneo.

PATH=%PATH%; c:\instantclient10_2\

Reiniciar Apache

Advertencia: En Oracle la funcionalidad limit podría no funcionar como se espera. Utilice la condición rownum < numero_filas para hacer esto.

Configurar XAMPP

Instalando XAMPP bajo Windows

El procedimiento para instalar XAMPP en Windows es el siguiente:

  1. Descargar XAMPP de Apache Friends
  2. Instalar XAMPP
  3. Habitilitar Instalar Apache y MySQL como Servicio
  4. Editar el archivo c:\Archivos de Programa\xampp\apache\conf\httpd.conf
  5. Descomentar (quitar el #) de la línea donde dice:
    1. LoadModule rewrite_module modules/mod_rewrite.so
  6. Reiniciar el servicio de Apache desde el Panel de Control de XAMPP
  7. Copiar el paquete de Kumbia a:
    1. c:\Archivos de Programa\xampp\apache\htdocs\
  8. Continuar Normalmente

Instalando XAMPP bajo GNU/Linux

El procedimiento para instalar XAMPP en cualquier distribución GNU/Linux es el siguiente:

  1. Descargar XAMPP de Apache Friends
  2. Instalar XAMPP
  3. Copiar el paquete de Kumbia a /opt/lampp/htdocs/
  4. Continuar la instalación normalmente

Instalando XAMPP bajo Debian/Ubuntu Linux Instala Apache2+MySQL5+PHP5 si no lo tienes instalado usando la guia en este blog o en Ubuntu-es. En Debian/Ubuntu tienes que usar el comando para habilitar mod_rewrite en Apache:

  1. a2enmod rewrite

y luego en editas el archivo:

/etc/apache2/sites-enabled/000-default

Buscas la línea para el directorio /var/www donde dice: AllowOverride None y cambiar por AllowOverride All

Reinicias Apache con:

  1. # /etc/init.d/apache2 restart

Continuar normalmente

Verificar la instalación de Kumbia

La verificación del buen funcionamiento de Kumbia y la instalación realizada es muy simple. Debéis abrir el navegador web ( explorer, firefox, opera ) y escribir:

http://localhost/<directorio_paquete_kumbia>/

<directorio_paquete_kumbia> lo debéis substituir por la carpeta donde habéis descomprimido el paquete.

Si todo esta correcto os mostrará una pantalla de bienvenida, en caso contrario os informará sobre error o errores detectados.