Delirios de un Informático

Apache, PHP y MySQL en Mac OS X

Estos días he necesitado montar la misma configuración de servidor web para desarrollo que tengo en Linux, por lo que al principio tiré de lo más fácil: xampp y MAMP, pero el que instale los binarios y archivos de configuración en rutas poco cómodas, el tener que arrancarlos cada vez que inicio la sesión (pidiendo contraseña además) y otros detalles acabaron por cansarme. Así que investigando un poco me topé con que Leopard y Snow Leopard incluyen de serie el servidor Apache con PHP, ubicado en rutas razonables y activable como un servicio. Para activarlo al inicio es necesario activar la opción Compartir Web en el panel Compartir de las Preferencias del Sistema. Luego, puede configurarse editando el archivo /etc/apache2/httpd.conf. Mis cambios son los siguientes:

  • Cambiar User por mi nombre de usuario y Group por staff para no tener problemas con los permisos de los archivos sobre los que se trabaja
  • DocumentRoot por /Users/miusuario/Sites así como el <Directory> que está a continuación para acceder de forma cómoda al directorio base
  • Activar PHP descomentando la línea LoadModule php5_module libexec/apache2/libphp5.so
  • Cambiar los AllowOverride a All para poder hacer uso de archivos .htaccess y demás

Con estos cambios, el servidor web estará disponible siempre que se inicie sesión y puede controlarse con sudo apachectl. La configuración personalizada de PHP puede activarse creando el archivo /etc/php.ini (copiando directamente /etc/php.ini.sample y es necesario definir el valor de la zona horaria con date.timezone = "Europe/Madrid".

Por otro lado, para instalar MySQL (que no viene de serie) he recurrido a Homebrew para instalar MySQL. La instalación es sencilla, empezando por Homebrew:

ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
brew install git
brew update

Una vez instalado Homebrew, se instala MySQL:

brew install mysql
cp /usr/local/Cellar/mysql/5.1.52/com.mysql.mysqld.plist ~/Library/LaunchAgents
launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist
mysql_install_db

Una vez instalado MySQL (media hora para compilar en mi portátil, 5 minutos en el equipo de sobremesa), los binarios (mysql, mysqldump…) estarán accesibles como un comando más en el PATH y se iniciará automáticamente al inicio de cada sesión de usuario (los comandos 2 y 3 se encargan de eso).

4 comentarios en “Apache, PHP y MySQL en Mac OS X”

pablo banados dice:

muchas gracias! clarísimo y directo al hueso

Sandra Moreano dice:

Muchas Gracias!! He pasado mucho tiempo sin lograr activar si servidor y todo era cuestion de los permisos!!…. Además muy claro y conciso….