Configuración de servidor Apache localmente en macOS

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
WordPress.com

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.

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar