Recomiendo cambiar a Docker

Finalmente cambié a usar Docker para el desarrollo local en macOS. Aunque el siguiente tutorial funciona para macOS Catalina, tiene limitaciones. Recomiendo seguir mi último tutorial sobre la instalación de Apache, MySQL y PHP en macOS usando Docker.

Nota: Este post es para instalaciones nuevas. Si has instalado Apache, PHP y MySQL para Mac OS Mojave, lee mi post sobre Actualización de Apache, PHP y MySQL para macOS Catalina.

Conozco el software de servidor web disponible para macOS, especialmente MAMP, así como los gestores de paquetes como brew. Estos te hacen empezar rápidamente. Pero renuncian a la experiencia de aprendizaje y, como la mayoría de los desarrolladores informan, puede llegar a ser difícil de manejar.

macOS se ejecuta sobre UNIX. La mayoría del software UNIX se instala fácilmente en macOS. Además, Apache y PHP vienen preinstalados con macOS. Así que para crear un servidor web local, todo lo que necesitas hacer es configurar Apache e instalar MySQL.

Ejecutar comandos

Primero, abre la aplicación Terminal y cambia al usuario root para que puedas ejecutar los comandos de este post sin problemas de permisos:

sudo su -

Habilitar Apache en macOS

apachectl start

¡Verifica que funciona! accediendo a http://localhost

Habilitar PHP para Apache

Primero, haz una copia de seguridad de la configuración por defecto de Apache. Esto es una buena práctica y sirve como comparación contra futuras versiones de macOS.

cd /etc/apache2/cp httpd.conf httpd.conf.Catalina

Ahora edite la configuración de Apache. Siéntase libre de utilizar un editor diferente si no está familiarizado con vi.

vi httpd.conf

Descomente la siguiente línea (elimine #):

LoadModule php7_module libexec/apache2/libphp7.so

Reinicie Apache:

apachectl restart

Puede verificar que PHP está habilitado creando una página phpinfo() en su DocumentRoot.

El DocumentRoot por defecto para macOS Catalina es /Library/WebServer/Documents. Puede verificar esto desde su configuración de Apache.

grep DocumentRoot httpd.conf

Ahora cree la página phpinfo() en su DocumentRoot:

echo '<?php phpinfo();' > /Library/WebServer/Documents/phpinfo.php

Verifique PHP accediendo a http://localhost/phpinfo.php

Instale MySQL en macOS Catalina

Descargue e instale la última DMG de la versión generalmente disponible de MySQL para macOS. MySQL 8 es la última versión. Pero las versiones anteriores están disponibles si usted necesita para apoyar las aplicaciones anteriores.

Cuando la instalación se completa le proporcionará una contraseña temporal. Copie esta contraseña antes de cerrar el instalador. La usará de nuevo en unos pocos pasos.

El README sugiere crear alias para mysql y mysqladmin. Sin embargo hay otros comandos que son útiles como mysqldump. En su lugar, puede actualizar su ruta para incluir /usr/local/mysql/bin.

export PATH=/usr/local/mysql/bin:$PATH

Nota: Tendrá que abrir una nueva ventana de Terminal o ejecutar el comando anterior para que su ruta se actualice.

Por último, debe ejecutar mysql_secure_installation. Aunque esto no es necesario, es una buena práctica para asegurar su base de datos. Aquí es también donde puede cambiar esa desagradable contraseña temporal a algo más manejable para el desarrollo local.

Conecte PHP y MySQL

Necesita asegurarse de que PHP y MySQL puedan comunicarse entre sí. Hay varias opciones para hacerlo. Me gusta la siguiente ya que no requiere cambiar mucha configuración:

mkdir /var/mysqlln -s /tmp/mysql.sock /var/mysql/mysql.sock

Configuración adicional (opcional)

La configuración por defecto para Apache 2.4 en macOS parecía bastante escasa. Por ejemplo, módulos comunes como mod_rewrite estaban deshabilitados. Puede considerar habilitar esto ahora para evitar olvidar que están deshabilitados en el futuro.

Edité mi configuración de Apache:

vi /etc/apache2/httpd.conf

Descomenté las siguientes líneas (eliminar #):

LoadModule deflate_module libexec/apache2/mod_deflate.soLoadModule expires_module libexec/apache2/mod_expires.soLoadModule rewrite_module libexec/apache2/mod_rewrite.so

Si desarrolla varios proyectos y desea que cada uno tenga una url única, puede configurar Apache VirtualHosts para macOS.

Si quieres instalar PHPMyAdmin, vuelve a mi post original sobre la instalación de Apache, PHP y MySQL en macOS.

¿Te ha parecido interesante? Continuemos la conversación en Twitter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.