Diferencia entre revisiones de «Instalar Kumbia»

De KumbiaPHP Framework Wiki
Saltar a: navegación, buscar
(Configuración de PHP)
(¿Porque KumbiaPHP utiliza PHP5?)
 
(No se muestran 35 ediciones intermedias de 14 usuarios)
Línea 1: Línea 1:
 
= Requisitos =
 
= Requisitos =
Servidor web Apache en cualquier versión bajo Windows 2000/XP/Vista ó Linux/UNIX.
+
*Servidor web capaz de ejecutar PHP: '''Apache''' en cualquier versión bajo Windows 2000/XP/Vista/7 ó Linux/UNIX, '''IIS''' con Isapi_Rewrite instalado, '''Cherokee Web server''', '''Lighttpd''' (soporte experimental), o cualquier web server con soporte de PHP y módulo de reescritura URL (mod_rewrite o su equivalente).En caso de usar un servidor no nombrado aquí debe realizar la adaptación.
 +
*PHP 5.2.x (Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x) instalando y funcionando en el servidor
 +
*Motor de base de datos soportado si se necesitase. (Ejemplo: MySQL Server, Oracle, Firebird...)
  
Puedes utilizar IIS con Isapi_Rewrite instalado.
+
= Descargar KumbiaPHP Framework =
  
También se puede utilizar Cherokee Web server
+
KumbiaPHP se distribuye en un paquete comprimido listo para usar. Se puede descargar la última versión de:
 
+
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 ) =
+
El nombre del paquete tiene un nombre como kumbia-version-notes.extensión, por ejemplo: kumbia-0.4.7a-stable.tar.gz
  
 
== 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  
+
KumbiaPHP Framework utiliza un módulo llamado [http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html 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)
  
<source lang="php">
+
<pre>
 
<Directory "/to/document/root">
 
<Directory "/to/document/root">
 
   Options Indexes FollowSymLinks
 
   Options Indexes FollowSymLinks
Línea 31: Línea 23:
 
   Allow from all
 
   Allow from all
 
</Directory>  
 
</Directory>  
</source>
+
</pre>
  
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  
+
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">
+
=== Habilitando Mod_Rewrite en S.O. Basados en GNU/Linux (Debian, Ubuntu y derivadas) ===
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">
+
Nos aseguramos primero de activar el mod_rewrite de esta manera y como usuario root
DirectoryIndex index.php index.html ...
+
<pre>
</source>
+
#a2enmod rewrite
  
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.
+
Para windows hay que activar el mododulo
  
 +
LoadModule rewrite_module modules/mod_rewrite.so
  
=== ¿Por qué es importante Mod-Rewrite? ===
+
en el archivo httpd.conf
  
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).  
+
Es decir
 +
Sustituir esta linea de codigo
 +
#LoadModule rewrite_module modules/mod_rewrite.so
 +
por esta
 +
LoadModule rewrite_module modules/mod_rewrite.so
  
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.
+
</pre>
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.
+
Despues de este paso editamos el siguiente archivo:
 +
<pre>
 +
$ sudo vi /etc/apache2/sites-enabled/000-default
 +
</pre>
 +
Recuerde que puede escoger cualquier editor: vi, nano, gedit, etc  en este ejemplo usamos vi. Cuando estemos dentro de dicho archivo, vamos a cambiar las siguientes líneas que aparezcan así:
 +
''AllowOverride None''  por esta otra:  ''AllowOverride All''
  
'''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
+
En el caso de la distribución Ubuntu y Xubuntu, existen 4 líneas de estas dentro del archivo 000-default.
  
== Configuración de PHP (Opcional) ==
 
  
Las siguientes configuraciones de PHP son opcionales:
+
Ahora solo reiniciamos nuestro servicio Apache
 +
<pre>
 +
#/etc/init.d/apache2 restart
 +
</pre>
  
magic_quotes_gpc = On
+
=== Instalando KumbiaPHP en centOS5 y RHEL5 ===
  
Nos protegen en cierta medida de ataques de inyección SQL que puedan tratar de ejecutar sobre nuestras aplicaciones en Kumbia.  
+
El método para centOS5 es exactamente igual al de RHEL5, sin embargo '''no recomendamos hacer las modificaciones que acá se sugieren a un RHEL5''' a menos que sea estrictamente necesario y tiene que tomar en cuenta que su licencia de soporte RHEL no cubre aplicaciones sobre paquetes que no son oficiales de RHEL.
  
error_reporting = E_ALL & ~E_NOTICE
+
Primero que todo, la versión de php que trae centOS5 y RHEL5 es la 5.1.X, así que kumbiaphp puede instalarse, sin embargo funciona mal, es posible que en los logs de errores de su apache vea algo parecido a:
  
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.
+
<pre>
 +
PHP Fatal error:  Call to undefined method XMLWriter
 +
</pre>
  
session.save_path = /path/to/dir/  
+
Y que algunas vistas no se carguen adecuadamente, eso es debido a que la versión de php-xml que trae php 5.1.X no es muy compatible con los requerimientos de kumbiaphp, para que kumbiaphp trabaje adecuadamente debe estar sobre php 5.2.x, por lo tanto para instalar php 5.2.x de forma sencilla agregue el repositorio de  http://www.atomicorp.com, como root:
  
Debe apuntar a un directorio con permisos de escritura
+
<pre>
 +
wget http://www.atomicorp.com/channels/atomic/centos/5/i386/RPMS/atomic-release-1.0-10.el5.art.noarch.rpm
 +
rpm -ivh atomic-release-1.0-10.el5.art.noarch.rpm
 +
yum clean all
 +
yum install php
 +
</pre>
  
track_errors = On
+
Esto podrá actualizar todos los paquetes de php a una versión adecuada para kumbiaphp, debe tomar en cuenta que '''debe tener mucho cuidado debido a que si realiza este procedimiento en un hosting compartido con otras aplicaciones, posiblemente algunas de ellas dejen de funciona adecuadamente''', sobre todo si tiene versiones muy viejas de CMS, si esto sucede y quiere regresar todo a como estaba puede hacer rollback de la siguiente manera:
  
Permite que Kumbia muestre información más precisa sobre algunos warnings y mensajes de error que son controlados internamente.
+
<pre>
 +
rpm -e atomic-release
 +
yum clean all
 +
rpm -qa | grep php
 +
yum remove php*
 +
yum install php
 +
</pre>
  
=== ¿Porque Kumbia utiliza PHP5? ===
+
Si le hace falta alguna librería de php, simplemente instalela vía yum y luego siga las instrucciones para habilitar Mod-Rewrite en Fedora.
  
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. 
+
Si le da problemas la conexión a base datos revise /var/log/messages y verifique si SELINUX está lanzando mensajes similares a:
  
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.
+
<pre>
 +
setroubleshoot: SELinux está negando al demonio http que se conecte a una base de datos. For complete SELinux messages. run sealert -l 3d5d
 +
</pre>
  
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.
+
si es así, puede desactivar SELINUX hasta que consiga la regla de contexto que permita al webserver acceder a base de datos:
  
== Configurando BB.DD ==
+
<pre>
 +
setenforce 0
 +
</pre>
  
=== Configuración de MySQL ===
+
O de plano desactive SELINUX de forma definitiva editando el archivo /etc/selinux/config.
  
<s>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:
+
=== Habilitando Mod-Rewrite en Fedora ===
  
mysql -h localhost -u root -p
+
<pre>
 +
#vi /etc/httpd/conf/httpd.conf
 +
</pre>
  
y luego ejecutar el siguiente select:
+
Buscar la línea...
+
mysql> select @@global.sql_mode;
+
  
Dependiendo de la configuración que tenga le dará un resultado parecido a esto:
+
<pre>
 +
#LoadModule rewrite_module modules/mod_rewrite.so
 +
</pre>
  
<source lang="php">
+
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 "#".
+----------------------------------------------- +
+
| @@global.sql_mode                              |
+
+----------------------------------------------- +
+
| STRICT_ALL_TABLES                              |
+
+----------------------------------------------- +
+
</source>
+
  
Para cambiar este parámetro, a uno adecuado al framework, debe ejecutar el siguiente comando:
+
En el mismo archivo buscar...
  
mysql> set [global | session] sql_mode = ;
+
<pre>
 +
<Directory />
 +
    Options FollowSymLinks
 +
    AllowOverride None
 +
</Directory>
 +
</pre>
  
o cambiar la configuración del archivo my.ini en su sistema operativo.  
+
Donde dice '''None''' reemplazarlo por '''All''', para que apache interprete los archivos '''.htaccess'''.
 +
 
 +
Reiniciar el servicio httpd (apache)
 +
<pre>
 +
# service httpd restart
 +
</pre>
 +
 
 +
=== ¿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.
  
Para ver otros parámetros ver el siguiente enlace [1]</s>
+
'''NOTA:''' Se trabaja actualmente para que este requisito no sea indispensable.
  
=== 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 138: Línea 170:
 
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. Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x.
 
#Instalar XAMPP  
 
#Instalar XAMPP  
 
#Habitilitar Instalar Apache y MySQL como Servicio  
 
#Habitilitar Instalar Apache y MySQL como Servicio  
Línea 147: Línea 179:
 
#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 153: Línea 185:
 
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. Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x.
 
#Instalar XAMPP  
 
#Instalar XAMPP  
 
#Copiar el paquete de Kumbia a /opt/lampp/htdocs/  
 
#Copiar el paquete de Kumbia a /opt/lampp/htdocs/  
Línea 168: Línea 200:
  
 
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  
 +
 +
Posterior a esto hay que indicar al servidor web cual será el orden de preferencias en
 +
cuanto a los archivos index, por defecto en primer orden se ejecutan los archivos
 +
index.html esto hay que cambiarlo por index.php.
 +
En version 2.2.x de apache solo hay que editar el archivo que se encuentra en:
 +
 +
/etc/apache2/mods-enabled/dir.conf
 +
 +
  1. DirectoryIndex index.php index.html ...
  
 
Reinicias Apache con:  
 
Reinicias Apache con:  
Línea 184: Línea 225:
  
 
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.
 +
 +
= Configurando Lighttpd =
 +
{{Experimental}}
 +
 +
Lo primero que debemos hacer es activar el módulo mod_rewrite, lo que nos permitirá el  usa de ''URL amigables'', buscamos en el archivo de configuración del lighttpd la siguiente directiva, '''server.modules''', y verás algo como esto:
 +
 +
  server.modules = (
 +
            "mod_access",
 +
            "mod_alias",
 +
            "mod_accesslog",
 +
            "mod_compress",
 +
            "mod_fastcgi",
 +
  #        "mod_rewrite",
 +
  #          "mod_redirect",
 +
  #          "mod_evhost",
 +
  #          "mod_usertrack",
 +
  #          "mod_rrdtool",
 +
  #          "mod_webdav",
 +
          "mod_expire"
 +
  #          "mod_flv_streaming",
 +
  #          "mod_evasive"
 +
  )
 +
Debemos remover la almohadilla (#) delante del '''mod_rewrite''', y que quede algo como:
 +
  server.modules              = (
 +
            "mod_access",
 +
            "mod_alias",
 +
            "mod_accesslog",
 +
            "mod_compress",
 +
          "mod_fastcgi",
 +
          "mod_rewrite",
 +
  #          "mod_redirect",
 +
  #          "mod_evhost",
 +
  #          "mod_usertrack",
 +
  #          "mod_rrdtool",
 +
  #          "mod_webdav",
 +
          "mod_expire"
 +
  #          "mod_flv_streaming",
 +
  #          "mod_evasive"
 +
  )
 +
Si no había ningún # antes del '''mod_rewrite''' omite el paso anterior. Luego de eso agrega al final del archivo algo como esto:
 +
 +
  url.rewrite  += ( "^/kumbiaphp/$"    => "/kumbiaphp/app/public/" )
 +
  url.rewrite  += ( "^/kumbiaphp/([^\.]*)$"  => "/kumbiaphp/app/public/index.php?url=/$1" )
 +
  url.rewrite  += ( "^/kumbiaphp/(.+)$"  => "/kumbiaphp/app/public/$1" )
 +
 +
Debes sustituir '''"kumbiaphp"''' (sin las comillas) por el nombre del directorio donde esta KumbiaPHP. Luego de esto reinicia el servidor y prueba.

Última revisión de 13:27 8 may 2019

Requisitos[editar]

  • Servidor web capaz de ejecutar PHP: Apache en cualquier versión bajo Windows 2000/XP/Vista/7 ó Linux/UNIX, IIS con Isapi_Rewrite instalado, Cherokee Web server, Lighttpd (soporte experimental), o cualquier web server con soporte de PHP y módulo de reescritura URL (mod_rewrite o su equivalente).En caso de usar un servidor no nombrado aquí debe realizar la adaptación.
  • PHP 5.2.x (Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x) instalando y funcionando en el servidor
  • Motor de base de datos soportado si se necesitase. (Ejemplo: MySQL Server, Oracle, Firebird...)

Descargar KumbiaPHP Framework[editar]

KumbiaPHP se distribuye en un paquete comprimido listo para usar. Se puede descargar la última versión de:

http://www.kumbiaphp.com/

El nombre del paquete tiene un nombre como kumbia-version-notes.extensión, por ejemplo: kumbia-0.4.7a-stable.tar.gz

Configurando apache[editar]

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)[editar]

Nos aseguramos primero de activar el mod_rewrite de esta manera y como usuario root

#a2enmod rewrite

Para windows hay que activar el mododulo 

LoadModule rewrite_module modules/mod_rewrite.so

en el archivo httpd.conf

Es decir
Sustituir esta linea de codigo
#LoadModule rewrite_module modules/mod_rewrite.so
por esta
LoadModule rewrite_module modules/mod_rewrite.so

 

Despues de este paso editamos el siguiente archivo:

$ sudo vi /etc/apache2/sites-enabled/000-default

Recuerde que puede escoger cualquier editor: vi, nano, gedit, etc en este ejemplo usamos vi. Cuando estemos dentro de dicho archivo, vamos a cambiar las siguientes líneas que aparezcan así: AllowOverride None por esta otra: AllowOverride All

En el caso de la distribución Ubuntu y Xubuntu, existen 4 líneas de estas dentro del archivo 000-default.


Ahora solo reiniciamos nuestro servicio Apache

#/etc/init.d/apache2 restart

Instalando KumbiaPHP en centOS5 y RHEL5[editar]

El método para centOS5 es exactamente igual al de RHEL5, sin embargo no recomendamos hacer las modificaciones que acá se sugieren a un RHEL5 a menos que sea estrictamente necesario y tiene que tomar en cuenta que su licencia de soporte RHEL no cubre aplicaciones sobre paquetes que no son oficiales de RHEL.

Primero que todo, la versión de php que trae centOS5 y RHEL5 es la 5.1.X, así que kumbiaphp puede instalarse, sin embargo funciona mal, es posible que en los logs de errores de su apache vea algo parecido a:

PHP Fatal error:  Call to undefined method XMLWriter

Y que algunas vistas no se carguen adecuadamente, eso es debido a que la versión de php-xml que trae php 5.1.X no es muy compatible con los requerimientos de kumbiaphp, para que kumbiaphp trabaje adecuadamente debe estar sobre php 5.2.x, por lo tanto para instalar php 5.2.x de forma sencilla agregue el repositorio de http://www.atomicorp.com, como root:

wget http://www.atomicorp.com/channels/atomic/centos/5/i386/RPMS/atomic-release-1.0-10.el5.art.noarch.rpm
rpm -ivh atomic-release-1.0-10.el5.art.noarch.rpm
yum clean all
yum install php

Esto podrá actualizar todos los paquetes de php a una versión adecuada para kumbiaphp, debe tomar en cuenta que debe tener mucho cuidado debido a que si realiza este procedimiento en un hosting compartido con otras aplicaciones, posiblemente algunas de ellas dejen de funciona adecuadamente, sobre todo si tiene versiones muy viejas de CMS, si esto sucede y quiere regresar todo a como estaba puede hacer rollback de la siguiente manera:

rpm -e atomic-release
yum clean all
rpm -qa | grep php
yum remove php*
yum install php 

Si le hace falta alguna librería de php, simplemente instalela vía yum y luego siga las instrucciones para habilitar Mod-Rewrite en Fedora.

Si le da problemas la conexión a base datos revise /var/log/messages y verifique si SELINUX está lanzando mensajes similares a:

 setroubleshoot: SELinux está negando al demonio http que se conecte a una base de datos. For complete SELinux messages. run sealert -l 3d5d

si es así, puede desactivar SELINUX hasta que consiga la regla de contexto que permita al webserver acceder a base de datos:

setenforce 0

O de plano desactive SELINUX de forma definitiva editando el archivo /etc/selinux/config.

Habilitando Mod-Rewrite en Fedora[editar]

#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?[editar]

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.

Configurando Oracle[editar]

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[editar]

Instalando XAMPP bajo Windows[editar]

El procedimiento para instalar XAMPP en Windows es el siguiente:

  1. Descargar XAMPP de Apache Friends. Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x.
  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[editar]

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

  1. Descargar XAMPP de Apache Friends. Se debe seleccionar una versión que posea PHP 5.2.x, KumbiaPHP no tolera los bugs de PHP 5.3.x.
  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

Posterior a esto hay que indicar al servidor web cual será el orden de preferencias en cuanto a los archivos index, por defecto en primer orden se ejecutan los archivos index.html esto hay que cambiarlo por index.php. En version 2.2.x de apache solo hay que editar el archivo que se encuentra en:

/etc/apache2/mods-enabled/dir.conf
  1. DirectoryIndex index.php index.html ...

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.

Configurando Lighttpd[editar]


Lo primero que debemos hacer es activar el módulo mod_rewrite, lo que nos permitirá el usa de URL amigables, buscamos en el archivo de configuración del lighttpd la siguiente directiva, server.modules, y verás algo como esto:

 server.modules = (
           "mod_access",
           "mod_alias",
           "mod_accesslog",
           "mod_compress",
           "mod_fastcgi",
 #        "mod_rewrite",
 #           "mod_redirect",
 #           "mod_evhost",
 #           "mod_usertrack",
 #           "mod_rrdtool",
 #           "mod_webdav",
          "mod_expire"
 #           "mod_flv_streaming",
 #           "mod_evasive"
 )

Debemos remover la almohadilla (#) delante del mod_rewrite, y que quede algo como:

 server.modules              = (
           "mod_access",
           "mod_alias",
           "mod_accesslog",
           "mod_compress",
          "mod_fastcgi",
         "mod_rewrite",
 #           "mod_redirect",
 #           "mod_evhost",
 #           "mod_usertrack",
 #           "mod_rrdtool",
 #           "mod_webdav",
          "mod_expire"
 #           "mod_flv_streaming",
 #           "mod_evasive"
 )

Si no había ningún # antes del mod_rewrite omite el paso anterior. Luego de eso agrega al final del archivo algo como esto:

 url.rewrite  += ( "^/kumbiaphp/$"     => "/kumbiaphp/app/public/" )
 url.rewrite  += ( "^/kumbiaphp/([^\.]*)$"  => "/kumbiaphp/app/public/index.php?url=/$1" )
 url.rewrite  += ( "^/kumbiaphp/(.+)$"  => "/kumbiaphp/app/public/$1" )

Debes sustituir "kumbiaphp" (sin las comillas) por el nombre del directorio donde esta KumbiaPHP. Luego de esto reinicia el servidor y prueba.