Activar servidor local Apache y php en Mac Osx Sierra y Mojave

AUTOR: Hugo Miguez CREADO: 2018-09-27 09:19:23

Configurar apache y php en mac osx sierra o mojave para funcionar como un servidor local de pruebas. Recordemos que a partir de Sierra viene por defecto pre instalado php con la versión 7 y si deseas cambiar esta versión los pasos a seguir son algo más laboriosos sobre todo si se trata de mojave.

Primeros pasos para activar Apache 

Ir a la carpeta /etc/apache2/ y copiar el archivo httpd.conf y pegarlo en el escritorio. (puedes realizar una copia del orginal y guardarlo en algun sitio). Abrimos el archivo httpd.conf que hemos copiado en el escritorio con la aplicación textEdit que viene por defecto en mac osx.

Debes indicar el nombre del servidor que por defecto viene comentado en el fichero httpd.conf de apache. El símbolo # se usa para comentar una linea del fichero y apache ignorará lo que haya a continuación de este caracter.

Justo debajo de la linea #ServerName www.example.com:80 ponemos ServerName localhost. como puedes ver a continuación

#ServerName www.example.com:80
ServerName localhost

Ahora buscamos la siguiente instrucción:

<Directory />
    AllowOverride none
    Require all denied
</Directory>

Y reemplazamos AllowOverride none por AllowOverride All como se indica a continuación:

<Directory />
    AllowOverride All
    Require all denied
</Directory>

Más abajo encontrarás lo siguiente:

<Directory "/Library/WebServer/Documents" >
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks Multiviews
    MultiviewsMatch Any

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

En esta caso deberás modificar AllowOverride None por AllowOverride All y quedaría como se indica a continuación:

<Directory "/Library/WebServer/Documents" >
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options FollowSymLinks Multiviews
    MultiviewsMatch Any

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   AllowOverride FileInfo AuthConfig Limit
    #
    AllowOverride all

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

Puedes observar que el directorio donde se ejectuará tu servidor web local está en la ruta indicada en la DocumentRoot "/Library/WebServer/Documents" y que coincide con <Directory "/Library/WebServer/Documents" >. Desde el finder puedes ir a esta ruta para llegar a la carpeta donde puedes alojar tus distintos sitios webs.

Recuerda que debes reemplazar el archivo httpd.conf por el que has modificado!.
Para que los cambios se hagan efectivo debes reiniciar apache. Para ello abre el teminal y escribe:

sudo apachectl restart

Si abres el navegador web y escribes en el campo de la url "localhost" (escribirlo sin las comillas). Podrás ver una página en blanco con la siguiente frase:

It works


Activar php

Para activar php no es tarea dificil. En el mismo archivo httpd.conf debemos buscar la linea (que se encuentra comentada con #) dependiendo de la versión de mac osx puede ser php5_module o php7_module. Solo tienes que quitar el caracter # como se muestra a continuación:

Original:

#LoadModule php5_module /usr/local/php5/libphp5.so

O bien si se trata de heigh Sierra o Mojave

#LoadModule php7_module libexec/apache2/libphp7.so

Y quedaría como se muestra a continuación:

LoadModule php5_module /usr/local/php5/libphp5.so

O bien si se trata de heigh Sierra o Mojave

LoadModule php7_module libexec/apache2/libphp7.so

Debes realizar el mismo procedimiento y descomentar la siguiente linea

#LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Y quedaría:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Al final del archivo httpd.conf deberías encontrar la siguiente linea

Include /private/etc/apache2/other/*.conf

Si no existiera debes escribirla!. El include carga desde el mismo directorio donde estamos editando el archivo httpd.conf un archivo donde termina la configuración de php. Éste se encuentra en la carpeta other/*.conf. Y dependiendo de la versión de php puede llamarse php5.conf o php7.conf o similar. Copiamos este archivo también en el escritorio para poder modificarlo.

El contenido debe ser algo similar a esto:

<IfModule php7_module>
	AddType application/x-httpd-php .php
	AddType application/x-httpd-php-source .phps

	<IfModule dir_module>
		DirectoryIndex index.html index.php
	</IfModule>
</IfModule>

Si todo es igual dentro de la etiqueta <IfModule php7_module>. No tendremos que realizar ningún cambio adicional.

Configurar archivo php.ini

Para realizar cambios en el archivo php.ini debemos realizar los siguientes pasos

  • ir a la carpeta /etc/
  • Copiar el archivo php.ini.default en el escritorio
  • Renombrar el archivo copiado en el escritorio a php.ini. Para ello debemos presionar el botón derecho del ratón encima del archivo y en el menú escoger "Obtener información" y en la ventana que se abra en el campo Nombre y extensión: quitar la extensión .default.
  • Ya puedes abrir el archivo y modificar los valores que desees
  • Copia el archivo php.ini en el directorio /etc/
Para verificar que php esta en funcionamiento. Renombra el archivo index.html por index.php y puedes editarlo y poner alguna instrucción php como <?php echo "Hola mundo"; ?>. Si al ejecutar ves esta frase, es que todo funciona correctamente.


Comentar

Para poder realizar comentarios. Primero debes inicar sesión o crear una cuenta.