Actualmente los equipos mac cuentan con el servidor Apache instalado, a continuación una breve descripción de como habilitarlo y/o configurarlo localmente en tu equipo.
Abre una terminal en tu equipo
, escribe la siguiente linea de comando para iniciar el servidor apache
$ sudo apachectl start
Nota: te solicitara la contraseña de tu equipo cada que uses el comando sudo antes de cualquier instrucción de linea de comando
verifica que versión de apache tienes instalada
$ httpd -v
abre tu explorador (safari, chrome o firefox) y en barra de dirección escribe
localhost
te saldrá una pagina en blanco con la palabra en ingles It works!
si te aparece eso, tu servidor apache se esta ejecutando

en caso de que no te aparezca, ejecuta la linea de código configtest para verificar que error existe para trabajar sobre ese error buscando en internet
algunos códigos de linea que debes conocer de apache https://httpd.apache.org/docs/2.4/programs/apachectl.html
$ sudo apachectl start
Inicia el servicio httpd de Apache. Da un error si ya se está ejecutando. Esto es equivalente a apachectl -k start.
$ sudo apachectl stop
Detiene el servicio httpd de Apache. Esto es equivalente a apachectl -k stop.
$ sudo apachectl restart
Reinicia el servicio httpd de Apache. Si el servicio no se está ejecutando, se inicia. Este comando verifica automáticamente los archivos de configuración como en configtest antes de iniciar el reinicio para asegurarse de que el servicio no se apague. Esto es equivalente a apachectl -k restart.
$ sudo apachectl configtest
Ejecuta una prueba de sintaxis del archivo de configuración. Analiza los archivos de configuración e informes o información detallada sobre un error de sintaxis en particular. Esto es equivalente a apachectl -t.
Cuando trabajes constantemente con la terminal, para que no te solicite constantemente la contraseña puedes utilizar la siguiente linea
$ sudo su
cuando termines solamente escribe
$ exit
otras configuraciones de apache
con lo mencionado anteriormente ya podrás trabajar, pero en ocaciones es necesario realizar otras operaciones como cambiar el directorio de trabajo, activar subdominios o carpetas virtuales, certificado ssl, y algunos mas, conforme se demande se irán agregando esas configuraciones o solo las mas importantes para trabajar localmente sin problema
Directorio del sitio web
DocumentRoot es el directorio donde colocamos los archivos de nuestro sitio web. En Mac tenemos dos posibles ubicaciones, una perteneciente al sistema y otra que pertenece al usuario
El Document Root a nivel de sistema cuya url es «http://localhost» está ubicado en:
/Biblioteca/WebServer/Documents
El Document Root a nivel de usuario cuya url es «http://localhost/tu_usuario» está ubicado en:
/Usuarios/TU_USUARIO/Sites
esta carpeta no existe por default, aquí la forma de como habilitarlo y trabajar con la carpeta del usuario
crea la carpeta Sites dentro del usuario con el que se va a trabajar, luego dirígete ala siguiente ruta
private/etc/apache2
localiza el archivo httpd.conf, realiza una copia de respaldo, mueve el original al escritorio y dando click derecho abrir con TextEdit.app tendrás que descomentar unas cuantas líneas, para ello hay que buscarlas y borrar el carácter # del inicio de la línea.
configurar el directorio web del usuario:
Include /private/etc/apache2/extra/httpd-userdir.conf
cargar los módulos requeridos, estos los pide el archivo httpd-userdir.conf que descomentaste arriba (con las 3 primeras funciona)
LoadModule authz_core_module libexec/apache2/mod_authz_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule include_module libexec/apache2/mod_include.so
LoadModule rewrite_module libexec/apache2/mod_rewrite.so
cambia la ruta principal por la de tu usuario, busca la siguiente linea de comando y comenta la linea agregándole el carácter # al inicio de la linea
# DocumentRoot "/Library/WebServer/Documents"
# <Directory "/Library/WebServer/Documents">
ahora agrega las siguientes 2 lineas de código con tu usuario
DocumentRoot "/Users/TU_USUARIO/Sites/"
<Directory "/Users/TU_USUARIO/Sites/">
abajo encontraras una linea de código como esta
AllowOverride None
deberas cambiarla por
AllowOverride All
guarda los cambios del archivo y regresarlo a su carpeta contenedora, se te pedirá autorización
ahora dirígete a la ruta del archivo que se descomento anteriormente
private/etc/apache2/extra/
localiza el archivo httpd-userdir.conf, realiza un respaldo y mueve el original al escritorio para editarlo dando click derecho y abrir con Text.Edit.app, ahí es donde te menciona los módulos que deben estar habilitados los cuales ya se realizo anteriormente, si en alguna actualización aparecen otros módulos se tendrán que ir habilitando, busca la siguiente linea comentada y borra el carácter # que esta al inicio de la linea
Include /private/etc/apache2/users/*.conf
guarda los cambios del archivo y regresarlo a su carpeta contenedora, te pedirá autorización
ahora nos dirigimos a esa ruta que acabamos de habilitar para crear el archivo .conf del usuario
private/etc/apache2/users/
en esta ruta dentro de la carpeta users vamos a crear el archivo del usuario, el cual lo haces con la app TextEdit.app desde el escritorio para después ponerlo en esa carpeta dandole la autorización, quedando así miusuario.conf, donde miusuario es tu usuario en el cual se creo la carpeta Sites anteriormente, dentro del archivo colocamos las siguientes lineas de codigo
<Directory "/Users/TU_USUARIO/Sites/">
AllowOverride All
Options Indexes MultiViews FollowSymLinks
Require all granted
</Directory>
donde /Users/TU_USUARIO/Sites/, miusuario lo remplazaras por tu usuario ya mencionado anteriormente, guarda los cambios y coloca el archivo en su carpeta contenedora, este archivo debe tener los siguientes permisos
$ sudo chmod 644 /etc/apache2/users/TU_USUARIO.conf
por ultimo dale reset al servidor apache
$ sudo apachectl restart
verifica si existen errores con
$ sudo apachectl configtest
espero te sirva esta explicación, deja un comentario si tienes duda para que la comunidad te pueda apoyar, ahora podrás configurar PHP localmente.