Instalar Kumbia

De KumbiaPHP Framework Wiki
Revisión de 14:36 31 mar 2009 por Micky (Discusión | contribuciones) (Configurando apache)

Saltar a: navegación, buscar

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

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

<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

AccessFileName .htaccess
LoadModule rewrite_module modules/mod_rewrite.so

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.

DirectoryIndex index.php index.html ...

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:

+----------------------------------------------- +
| @@global.sql_mode                              |
+----------------------------------------------- +
| STRICT_ALL_TABLES                              |
+----------------------------------------------- +

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

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.