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:
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.
Para realizar cambios en el archivo php.ini debemos realizar los siguientes pasos