Para poder desarrollar mi web necesitaba tener el típico entorno LAMP (Linux+Apache+MySQL+PHP) funcionando en mi MacBook, así que lo instalé en una máquina virtual corriendo bajo Ubuntu 9.10 en VMWare Fusion.

El problema es que con la última versión de VMWare Fusion (3.0.1) la mayor parte de las veces no puedo entrar al escritorio de Ubuntu, da algún tipo de error durante la carga de éste y vuelve a la pantalla de login, así que me propuse montarme un “MAMP” cambiando el sistema operativo GNU/Linux por el Mac OS X nativo de este ordenador.

En realidad por defecto Snow Leopard ya lleva instalado Apache2 y PHP 5, así que solo habría que configurarlos e instalar MySQL. Aun así, tuve alguna pequeña dificultad en el proceso, así que voy a hacer un breve artículo para describir los pasos seguidos, de forma que me sirva de guía para una próxima instalación o para cualquier otra persona que quiera hacer lo mismo.

Voy a enfocar la guía a un nivel muy básico, dándolo todo mascadito para que cualquiera pueda seguir los pasos.

Aviso: esta guía es válida para Snow Leopard, con otra versión de Mac OS X podría (o no) funcionar.

PHP

Primeramente habría que abrir un terminal (Aplicaciones->Utilidades->Terminal) y desde allí iremos haciendo las modificaciones necesarias.

Ejecutamos en el terminal los siguientes comandos:


sudo nano /etc/apache2/httpd.conf

En el editor que se abre buscamos y descomentamos (borramos el caracter #) la línea que reza:

LoadModule php5_module        libexec/apache2/libphp5.so

Pulsamos Control+O para guardar y Control+X para salir.

Ahora ejecutamos en el terminal los comandos:

cd /etc
sudo cp php.ini.default php.ini
sudo nano php.ini

En el editor que se abre buscamos la línea que reza:

;date.timezone =

La descomentamos y añadimos nuestra zona horaria (http://php.net/manual/en/timezones.php). Por ejemplo, para la Península Ibérica quedaría:

date.timezone = Europe/Madrid

A continuación reemplazaremos todas las ocurrencias de /var/mysql/mysql.sock por /tmp/mysql.sock. En concreto son tres y quedarían así:

pdo_mysql.default_socket = /tmp/mysql.sock
mysql.default_socket = /tmp/mysql.sock
mysqli.default_socket = /tmp/mysql.sock

Salimos del editor como antes.

MySQL
Descargamos la última versión de MySQL para Mac OS X (bajad la de 64 bits si tenéis un ordenador que lo soporte) desde su sitio web.

Una vez montada la imagen instalamos los componentes en el orden: mysql, the startup item, the preference pane.

Iniciamos MySQL en el panel de preferencias que se abrirá.

Por defecto se creará un usuario “root” de MySQL con la contraseña en blanco. Esto puede implicar un problema de seguridad y hay aplicaciones que hacen uso de MySQL que si el usuario no tiene password no dejarán acceder a ellas, así que se lo cambiaremos con los siguientes comandos:

sudo /usr/local/mysql/bin/mysqladmin -u root password 'nuevo-password'

Probaremos que podemos acceder con:

/usr/local/mysql/bin/mysql -u root –p

Se nos pedirá la contraseña que hemos establecido. Luego podemos o bien salir con:

quit

O bien, si queremos eliminar el usuario anónimo para no dejarle a nadie acceder sin un usuario específico, introduciremos:

use mysql
delete from user where User='';
quit

Apache
Vamos a usar la configuración por defecto de Apache, de forma que tendremos solo un sitio web virtual en nuestro equipo.

Iniciamos Apache desde Preferencias del Sistema->Compartir->Compartir web.

En un navegador cualquiera vamos a la dirección: http://localhost/ y nos tendrá que salir un mensaje diciendo “It works!”

El directorio físico que sirve de raiz de la web es Librería/WebServer. Los archivos de ejemplo que hay allí ya no los necesitamos, así que los borramos y copiamos este archivo.

Ahora abrimos la web http://localhost/php_info.php y, si todo ha ido bien, tendremos que ver la información sobre la versión de PHP que tenemos instalada.

phpMyAdmin
Instalar este programa es opcional, pero nos servirá por un lado para comprobar que todo el entorno está bien configurado (al hacer uso de los tres componentes) y por otro lado tendremos esta interfaz gráfica de acceso a MySQL que ya es un estándar en cualquier hosting web que contratemos.

Descargamos la última versión de phpMyAdmin de su sitio web (recomendaría la versión “all-languages”) en el formato comprimido que mejor nos venga (por ejemplo zip):

Una vez descomprimido el archivo descargado se habrá creado un directorio del tipo “phpMyAdmin-3.2.5-all-languages”. Movemos este directorio a la ruta local de nuestro sitio web (Librería/WebServer) y lo renombramos para que sea más sencillo su acceso a “phpmyadmin”.

Dentro de este nuevo directorio renombramos el archivo config.sample.inc.php a config.inc.php y lo editamos ya sea nuevamente desde el terminal usando nano o desde otro editor gráfico puesto que ahora no necesitaremos permisos de administrador.

Buscamos la línea que reza:

$cfg['blowfish_secret'] = '';

Y establecemos un password cualquiera, por ejemplo:

$cfg['blowfish_secret'] = 'ba17c1ec07d65003';

Con esto estaría configurado y nos pediría usuario y password siempre que quisiéramos entrar. Si lo que nos interesa es que haga login automáticamente cambiaríamos la línea:

$cfg['Servers'][$i]['auth_type'] = 'cookie';

Por:

$cfg['Servers'][$i]['auth_type'] = 'config';

Y añadiríamos dos más a continuación con los datos de acceso:

$cfg['Servers'][$i]['user']          = 'root';
$cfg['Servers'][$i]['password'] = 'nuevo-password';

Ahora ya solo nos queda comprobar que funciona correctamente entrando con nuestro navegador en: http://localhost/phpmyadmin

Referencias:
http://www.trap17.com/index.php/mysql39s-default-root-password_t31717.html
http://maestric.com/doc/mac/apache_php_mysql_snow_leopard
http://www.phpmyadmin.net/documentation/