jueves, 27 de noviembre de 2008

Preparando CodeIgniter en nuestro servidor

CodeIgniter es un framework para desarrollar aplicaciones PHP siguiendo el patrón MVC. Os recomiendo también que leáis la entrada que dediqué al framework de Zend.

He preparado mi portátil con Xampp y sobre Ubuntu 8.04 con la siguiente estructura de directorios

-htdocs/
-CodeIgniter/
-system/
-application/
-sample_app/
-config/
-models
-controllers
-views
-helpers
-libraries
-(etc...)
-sample_app2/
-(misma estructura de aplicacion)
-codeigniter/
-CodeIgniter.php
-(etc...)
-user_guide/
-sample_app/
-index.php (front controller)
-sample_app2/
-index.php (front controller)
-xampp/


Pongo especial atención a la estructura de directorios puesto que es muy importante organizar correctamente los ficheros sobretodo si queremos reutilizar librerias en diversas aplicaciones y utilizar hosts virtuales.

En mi caso, utilizo VirtualHosts, por tanto hay que añadir una entrada o varias al fichero /etc/hosts con el nuevo nombre de dominio y habilitar en httpd.conf el módulo vhosts con la siguiente linea:
Include etc/extra/httpd-vhosts.conf

A continuación hay que configurar el fichero httpd-vhosts.conf para que reconozca las diferentes aplicaciones y envíe las peticiones a los front-controllers que toque de la siguiente manera...

<VirtualHost *:80>
ServerName ci
ServerAdmin webmaster@localhost
DocumentRoot /opt/lampp/htdocs/CodeIgniter/
ErrorLog logs/ci-error_log
CustomLog logs/ci-access_log common
<Directory /opt/lampp/htdocs/CodeIgniter/default/>
RewriteEngine On
RewriteBase /default
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
<Directory /opt/lampp/htdocs/CodeIgniter/sample/>
RewriteEngine On
RewriteBase /sample
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</Directory>
</VirtualHost>


La parte de servidor ya está configurada, ahora nos faltará editar los front-controllers añadiendo los paths adecuados hacia los directorios system y application.

Y ya podemos comenzar a trastear con el framework :)

Si te ha sido de utilidad puedes agradecermelo pulsando sobre la publicidad del blog, gracias :)

No hay comentarios: