El título define claramente el objetivo perseguido, “configurar CakePHP sobre OSX Leopard con mod_rewrite habilitado y VirtualHost”.
El proceso se lleva a cabo en ocho pasos que publicaré en varios post.
En este primero, habilitaremos PHP5 y la directiva Virtual Host del servidor Apache, junto con una ligera explicación sobre la configuración de Virtual Host. Si se desean ampliar conocimientos sobre el tema, recomiendo esta pagina maestrosdelweb y como referencia imprescindible apache.org
Habilitar PHP5
Editamos el fichero “/etc/apache2/httpd.conf”
Descomentamos la línea:
#LoadModule php5_module libexec/apache2/libphp5.so
NOTA: no es necesario añadir php en los “mime types” ya que esto está configurado por defecto. Lo podemos ver en el fichero “/etc/apache2/other/php5.conf”.
Reiniciamos el servidor Apache
$ sudo httpd -k restart
NOTA: si hubiera algún error de configuración se mostraría al intentar re-arrancarlo.
TRUCO: si queremos acceder a los ficheros ocultos desde el “finder” sólo tenemos que ejecutar las siguientes líneas desde el terminal:
$ defaults write com.apple.finder AppleShowAllFiles TRUE$ killall Finder
Para retornar a la configuración por defecto:
$ defaults write com.apple.finder AppleShowAllFiles FALSE$ killall Finder
Habilitar “Virtual Hosts”
Esto nos permitirá gestionar más de un sitio web desde una única máquina.
Nuevamente en el fichero “/etc/apache2/httpd.conf”
Descomentamos la siguiente línea:
#Include /private/etc/apache2/extra/httpd-vhosts.conf
Reiniciamos Apache
$ sudo httpd -k restart
Configurar “Virtual Hosts”
Añadiremos el dominio que queramos asignar a nuestro proyecto en el fichero “/etc/hosts”.
En el siguiente ejemplo se asigna el nombre “www.nombre_proyecto.org” a la ip de “loopback” . Podemos asignar a una misma ip, tantos dominios como sean necesarios.
# nombre_proyecto127.0.0.1 www.nombre_proyecto.org
# otroproyecto
127.0.0.1 wwww.otroproyecto.org
Las configuraciones de los “Virtual Hosts” se realizarán en el fichero “/etc/apache2/extra/httpd-vhosts.conf”.
Las directivas pueden ser similares a las siguientes:
NameVirtual Host *:80<Virtual Host *:80>
ServerAdmin administrador@xxxxxxx.org
DocumentRoot “/Users/nombre_ordenador/Sites/directorio_proyecto”
ServerName www.proyecto.org
ServerAlias www.proyecto.org
ErrorLog /var/log/apache2/www.proyecto.org-error_log
CustomLog /var/log/apache2/www.proyecto.org-access_log common
</Virtual Host>
Nota: en el código de ejemplo incluido por defecto con osx, los “path” de “ErrorLog” y “CustomLog” están entre comillas. Esto genera un error por lo que en nuestra configuración no las añadiremos y las eliminaremos del código de ejemplo.
Reiniciamos Apache
$ sudo httpd -k restart
