Diferencia entre revisiones de «English Install Kumbia»
m (English Instalar Kumbia trasladada a English Install Kumbia: Translate to english) |
|||
(No se muestra una edición intermedia del mismo usuario) | |||
Línea 4: | Línea 4: | ||
*If you need it for your project, a supported SQL engine (Example: MySQL Server, Oracle, Firebird...) | *If you need it for your project, a supported SQL engine (Example: MySQL Server, Oracle, Firebird...) | ||
− | = | + | = Downloading Kumbia = |
− | Kumbia | + | Kumbia can be downloaded in a compressed file ready to use. The last version can be found in: |
http://www.kumbiaphp.com/ | http://www.kumbiaphp.com/ | ||
+ | |||
http://sourceforge.net/projects/kumbia/ | http://sourceforge.net/projects/kumbia/ | ||
− | + | The package name is something like kumbia-version-notes.format. ie: kumbia-1.0.0-stable.tar.gz | |
+ | |||
+ | = Module Configuration (Apache, PHP and bbdd) = | ||
− | == | + | == Apache configuration == |
− | KumbiaPHP Framework | + | KumbiaPHP Framework uses a apache module called [http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html mod_rewrite] to rewrite all the application URLs to a easy to read, easy to remember format. Because this, the module must be installed and setted up in the apache server. To do this, first check the module is enabled in the apache .conf files |
<pre> | <pre> | ||
Línea 26: | Línea 29: | ||
</pre> | </pre> | ||
− | + | There are several ways to do this. For example in the DocumentRoot (Apache root folder) must have the option '''AllowOverride All''' so apache can read the '''.htaccess''' files and calls to mod_rewrite. | |
− | === | + | === Enabling Mod_Rewrite in GNU/Linux (Debian, Ubuntu y derivadas) OS === |
+ | Like root user we enable the mod_rewrite module | ||
− | |||
<pre> | <pre> | ||
#a2enmod rewrite | #a2enmod rewrite | ||
</pre> | </pre> | ||
+ | |||
Despues de este paso editamos el siguiente archivo: | Despues de este paso editamos el siguiente archivo: | ||
+ | |||
<pre> | <pre> | ||
$ sudo vi /etc/apache2/sites-enabled/000-default | $ sudo vi /etc/apache2/sites-enabled/000-default |
Revisión actual del 21:49 25 oct 2009
Sumario
Requirements[editar]
- PHP compatible server: Apache any version under windows or linux/Unix, IIS with Isapi_Rewrite enabled, Cherokee Web server, Lighttpd (experimental support), or any web server with PHP support and URL rewriting (like mod_rewrite). If you decide to run Kumbia in a not supported server you will have to verify this requirements.
- PHP5+ (5.2 recommended) installed and running on the server.
- If you need it for your project, a supported SQL engine (Example: MySQL Server, Oracle, Firebird...)
Downloading Kumbia[editar]
Kumbia can be downloaded in a compressed file ready to use. The last version can be found in:
http://sourceforge.net/projects/kumbia/
The package name is something like kumbia-version-notes.format. ie: kumbia-1.0.0-stable.tar.gz
Module Configuration (Apache, PHP and bbdd)[editar]
Apache configuration[editar]
KumbiaPHP Framework uses a apache module called mod_rewrite to rewrite all the application URLs to a easy to read, easy to remember format. Because this, the module must be installed and setted up in the apache server. To do this, first check the module is enabled in the apache .conf files
<Directory "/to/document/root"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
There are several ways to do this. For example in the DocumentRoot (Apache root folder) must have the option AllowOverride All so apache can read the .htaccess files and calls to mod_rewrite.
Enabling Mod_Rewrite in GNU/Linux (Debian, Ubuntu y derivadas) OS[editar]
Like root user we enable the mod_rewrite module
#a2enmod rewrite
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 centOS5y 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.
¿Porque KumbiaPHP utiliza PHP5?[editar]
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[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:
- Descargar XAMPP de Apache Friends
- Instalar XAMPP
- Habitilitar Instalar Apache y MySQL como Servicio
- Editar el archivo c:\Archivos de Programa\xampp\apache\conf\httpd.conf
- Descomentar (quitar el #) de la línea donde dice:
- LoadModule rewrite_module modules/mod_rewrite.so
- Reiniciar el servicio de Apache desde el Panel de Control de XAMPP
- Copiar el paquete de Kumbia a:
- c:\Archivos de Programa\xampp\apache\htdocs\
- Continuar Normalmente
Instalando XAMPP bajo GNU/Linux[editar]
El procedimiento para instalar XAMPP en cualquier distribución GNU/Linux es el siguiente:
- Descargar XAMPP de Apache Friends
- Instalar XAMPP
- Copiar el paquete de Kumbia a /opt/lampp/htdocs/
- 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:
- 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:
- # /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]
{{#if: |}}{{#if:
|}}
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.