CakePHP - 1.2 / Configuración de un Virtual Host en Ubuntu Intrepid
Escrito por: jamslug en GNU/Linux, Programación, tags: a2enmod, a2ensite, Apache, cake, cakephp, framework, intrepid, mod_rewrite, mvc, PHP, Programación, rapid, Ubuntu, virtualhostComencé a trabajar hoy de nuevo con CakePHP, uno de los mejores frameworks existentes para trabajar en PHP. Aunque ya lo había usado hace algún tiempo para uno de nuestros proyectos, en esta oportunidad decidí configurar antes de comenzar a programar, un host virtual en mi equipo. Esto con dos intenciones, la primera de ellos evitar el tener que escribir direcciones del estilo: http://myhost/~myuser/cakedir/index.php/controller y la segunda, para no tener problemas al momento de subir la aplicación y configurarla en un servicio de hosting compartido.Por defecto CakePHP viene listo para trabajar con el módulo rewrite de Apache, gracias a lo cual las URLs que ve el cliente son mucho mas amistosas que la reseñada en el párrafo anterior, de tal forma que al estar trabajando con Ubuntu Intrepid lo único que debía hacer era revisar la forma en que se creaban hosts virtuales y habilitar el módulo del servidor Web requerido.
Soporte de VirtualHost en Ubuntu Intrepid: habilitar un host virtual en Ubuntu es tan simple como ejecutar la instrucción: sudo a2ensite <nombre>, siempre y cuando exista un archivo <nombre> ubicado en el directorio /etc/apache2/sites-available/. Resulta una buena idea copiar el archivo default existente con el nombre deseado y modificarlo de acuerdo con nuestras necesidades para mi caso puntual esto fue lo que hice y generé un archivo baker con el siguiente contenido:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName baker DocumentRoot /home/jamslug/public_html/cakeTwitter/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/jamslug/public_html/cakeTwitter/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog /var/log/apache2/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
Luego para que mi sistema pudiera encontrar el host baker, incluí la siguiente línea en el archivo /etc/hosts
127.0.1.1 baker
Luego de esto active el nuevo host virtual en mi servidor Apache con la instrucción: sudo a2ensite baker y para que todo funcionara me aseguré de instalar el módulo rewrite con el comando: sudo a2enmod rewrite
El paso final es reiniciar el servidor Apache: sudo /etc/init.d/apache2 restart
Y ya está, ahora accedo a mi aplicación local escribiendo el URL http://baker en mi navegador preferido.
Comparte esto con tus amigos:
Entradas (RSS)
Excelente explicacion! Simple, al grano, y justo lo que necesitaba.
Gracias por compartir el conocimiento
Recomiendo desactivar multiviews cuando trabajen con cakephp 1.2 . He tenido experiencias raras con mod_rewrite tirando errores tipo:
[Sun May 24 21:03:43 2009] [error] [client 127.0.0.1] Negotiation: discovered file(s) matching request: /var/www/myapp/mymodel (None could be negotiated)
Saludos
Muchisimas gracias!!! tenía tiempo tratando de arreglar esto y nada, opté por desactivar el mod_rewrite en la configuracion de cake pero ahora sí funciona…
jajaja! te dejo la respuesta que me encontré a mi mismo… :@ me llevó 2 días darme cuentaaaa!!! cuando descomprimen el directorio desde el tar.gz y copien la carpeta… NO OLVIDEN EL .HTACCESS, como verán, este está por default oculto por nautilus y no se copia si es que entramos, seleccionamos todo cortamos y pegamos. Este archivito es el que se encarga de las “redirecciones” según leí, así que si tienen problemas con el css y ya configuraron todo… puede que sea este…
Sólo espero que a alguien le sirva esto…
ups…me equivoque de blog, había leído unos cuantos ya, pero al menos sirve por si alguien no encuentra la solución… jejeje… igual gracias por el aporte, me queda más cómodo el virtual host en mi home =)