Configurando ambiente de desarrollo para Mac sin MAMP

Hace unas semanas decidí formatear mi computadora (iMac) dado que ya estaba muy cargada y se estaba estaba colocando muy lenta. Cuando me la compré nunca antes había tenido una Mac así que no estaba configurada de la mejor manera posible, una de las primeras cosas que hice fue instalar MAMP, la ventaja de MAMP es que no tienes que hacer nada de configuración, en un solo paquete trae PHP, MySQL así como PhpMyAdmin para poder administrar las bases de datos y te tiene el ambiente de desarrollo por separado, deja las herramientas del sistema sin tocar.

Pero igual para configurar el ambiente como a mi me gusta, con hosts virtuales tenía que configurar archivos de sistema, además de esta manera puedo tener siempre mi ambiente de desarrollo activo sin depender de una aplicación. Pero creo que la razón por la cual decidí hacerlo es que muchas herramientas funcionan más fácilmente, yo uso mucho wp-cli para WordPress y configurarlo con MAMP es muy laborioso muchas veces, homebrew también me dio problema una vez, porque siempre buscaban las copias del sistema entonces tenía que vivir cambiando el PATH de mis directorios. Así que cuando formatee decidí probar y usar los de sistema, aquí la explicación de como lo hice.

Mac trae por defecto instalado PHP y aunque ya no trae MySQL instalado es súper fácil instalarlo.

Aclaratoria

Si no te sientes cómodo modificando archivos de sistema y apenas estás aprendiendo te recomiendo usar MAMP.

Preparación

Antes de comenzar vamos a necesitar un par de aplicaciones, la primera es un editor de texto, yo subo para programar Sublime Text que es un excelente editor de texto y funciona a la perfección para lo que vamos a necesitar, sin embargo se puede usar VIM o nano o realmente cualquier otro programa de edición de texto que se use para programar. También vamos a necesitar la Terminal, recomiendo no usar la terminal.app que trae el sistema, en lugar instalar iterm2 que es mucho más completo.

PHP

Vamos a comenzar con PHP. Como dije arriba, ya una versión de PHP viene instalada en el sistema por defecto. Podemos revisar que efectivamente esté instalada corriendo el siguiente código para ver donde se encuentra

which php

Y para confirmar que versión tenemos instalada usamos

php --version

Casi siempre la versión que viene instalada es una versión más antigua a la actual, pero funciona igual perfectamente. Después copiamos el archivo php.ini que trae por defecto el sistema.

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

Aquí puedes configurar cosas de PHP, como por ejemplo, aumentar la memoria que trae por defecto.

Apache

Apache también viene instalado con el sistema, la raiz de nuestro servidor local está por defecto en la siguiente dirección:

/Library/WebServer/

La raiz se puede modificar si quieres, más adelante también explico como se hace en caso de que quieras hacerlo. Los tres comandos de Apache que necesitas saber son

Iniciar Apache
sudo apachectl start
Reiniciar Apache
sudo apachectl restart
Detener apache
sudo apachectl stop

Si iniciamos apache y entramos desde nuestro navegador a http://localhost deberíamos ver It works! o Funciona dependiendo del idioma del sistema.

Debemos hacer algunas configuraciones extras de Apache, debemos editar este archivo, yo uso Sublime para editar estos archivos

/private/etc/apache2/httpd.conf

Y ahí buscamos la linea

LoadModule php5_module        libexec/apache2/libphp5.so

Y le quitamos el # que tiene delante para descomentarla. Con esto ya tenemos PHP corriendo.

Homebrew

Homebrew es una herramienta excelente que nos ayuda a instalar muchas cosas con unos simples comandos, como lo dice la misma página web es El gestor de paquetes para OS X que faltaba

Para instalarlo copia el siguiente código en la terminal

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Esta linea instala homebrew, dependiendo de tu conexión puede tardar un poco , una vez que termine corre Brew Doctor para verificar que todo esté bien, si es así te dirá

$ brew doctor
Your system is ready to brew.

MySQL

Ahora que ya tenemos homebrew instalar MySQL es tan simple como copiar

brew install mysql

Y empezará a instalar MySQL, una vez que termine verificamos con

mysql --version

Ahora algunos comandos de MySQL que necesitas:

Iniciar MySQL, este es el comando que debes usar cada vez que quieras usar MySQL, sino te dará error.
mysql.server start
Reiniciar MySQL
mysql.server restart
Detener MySQL
mysql.server stop

Como vemos son los mismos que usamos en PHP, así que no hay perdida. Ahora vamos a configurar algunas cosas, MySQL no trae clave por defecto pero es recomendado colocarle una clave. Cambiando CLAVE por la clave que deseas colocar

cd /usr/local/share/mysql
mysqladmin -u root password 'CLAVE'

Por último vamos a mover el archivo mysql.sock dado que algunos programas esperan encontrarlo en /var y no está ahí por defecto, entre ellos wp-cli. Primero creamos la carpeta

sudo mkdir /var/mysql

Y después copiamos el archivo

sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

Administrar la Base de datos

Usando homebrew se puede instalar PHPMyAdmin para administrar la base de datos, sin embargo recomiendo fuertemente descargar Sequel Pro, es un administrador para Mac de base de datos y es, por mucho, la mejor aplicación para el trabajo. Ademas tiene la habilidad de conectarse a base de datos remotas lo que lo hace una herramienta muy poderosa. Como es el que uso y no tengo instalado PHPMyAdmin no daré las instrucciones.

Conclusión

Eso es todo lo que necesitamos para tener un ambiente de desarrollo local sin la necesidad de instalar MAMP, ya tengo varias semanas usándolo y no he tenido ningún problema, si, es un poco más de trabajo que instalar MAMP pero tampoco es mucho.