En la anterior entrega -parte 1-de esta serie de post explicaba como ver la version de apache y php instalada por defecto y como instalar MySQL en Mac OS X lion.
En este post voy terminar de explicar como configurar apache y php para tener un entorno de desarrollo.
Comprobamos la instalación de apache. Se puede arrancar o parar apache desde Preferencias de Sistema - > Compartir -> Compartir Web
Otra forma, es desde un terminal del Mac, con los siguientes comandos:
sudo apachectl start sudo apachectl stop sudo apachectl restart
Tiene que aparecer la carpeta Sites dentro de mi perfil de usuario. En el terminal:
macmini:~ usuario$ ls -l total 0 drwxr-xr-x 2 usuario staff 68 28 jul 18:53 Applications drwx------+ 7 usuario staff 238 1 ago 09:04 Desktop drwx------+ 7 usuario staff 238 29 jul 16:35 Documents drwx------+ 11 usuario staff 374 4 ago 09:17 Downloads drwx------@ 41 usuario staff 1394 4 ago 13:33 Library drwx------+ 4 usuario staff 136 28 jul 17:08 Movies drwx------+ 4 usuario staff 136 3 ago 09:16 Music drwx------+ 4 usuario staff 136 28 jul 16:39 Pictures drwxr-xr-x+ 5 usuario staff 170 28 jul 16:39 Public drwxr-xr-x 2 usuario staff 68 1 ago 19:20 Sites
El siguiente paso es editar el fichero httpd.conf, normalmente se encuentra en /etc/apache2
sudo nano /etc/apache2/httpd.conf
Ahora activamos el modulo PHP buscamos la linea siguiente y descomentamos el signo #
LoadModule php5_module libexec/apache2/libphp5.so
Creamos el php.ini y lo editamos desde un terminal del Mac:
sudo cp /etc/php.ini.default /etc/php.ini sudo nano /etc/php.ini
Buscamos la siguientes lineas: aumentamos el tamaño de los ficheros y ponemos la zona horaria que nos corresponde:
; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 30M ; Defines the default timezone used by the date functions ; http://php.net/date.timezone date.timezone ="Europe/Madrid"
Con esto esta listo una configuración básica. Ahora arrancamos el servidor Web:
sudo apachectl start
Creamos un archivo index.php en la carpeta raíz Web -la que se ve desde el finder en el perfil del usuario-
<?php echo '<h1>Esto funciona!!</h1>'; ?>
Si todo ha ido bien, tiene que aparecer en el navegador: Esto funciona!!
Post relacionado:
Apache, Mysql y php en Mac OS X Lion (Parte 1)
Apache, Mysql y php en Mac OS X Lion (Parte 3)


Si esa información se sobreescribe con lo que pongas en “/etc/apache2/extra/httpd-vhosts.conf” tal como comento en el post número 3 de la serie. Con respecto al php revisa bien el fichero httpd.conf
Yo sigo insistiendo, para ver si me puedes arrojar un poco de luz
Estoy comprobando que haga lo que haga en el “httpd.conf” la dirección de localhost siempre me apunta a /Library/WebServer/Documents y no a la ruta que yo le especifico en el “httpd.conf”.
Por otro lado no hay forma de que se coma los php, aunque creo que puede ser debido a que coja por defecto otro archivo de configuración que no debe.
Saludos
Buenas,
Gracias por tu respuesta.
El tema de la carpeta web soluciona las discrepancias con el servicio “compartir web”.
En la carpeta web he metido mi archivo php.ini de pruebas el cual no reconoce.
He de comentar que creo que algo estoy obviando, porque al teclear la dirección de “localhost” ó 127.0.0.1 en el navegador me muestra la página por defecto de Apache original que se encontrará dentro de las carpetas de Apache que dice “It Works”, en qué línea del archivo httpd.conf he de añadir la dirección de “localhost”, para que me tome por defecto la carpeta web del sistema.
Saludos
Si tienes razón. He quitado del post esa parte la de crear la carpeta Web(entra en conflicto con “compartir Web”). La serie de posts no esta pensada creando la capeta Web.
Muchas gracias!
Buenas,
Lo primero agradecerte las entradas sobre este tema.
En primer lugar me surgen varias dudas, que espero me puedas responder:
Mi instalación es limpia de Lion (vamos de fábrica):
- Nada más introducir los pasos de la parte 1 y la parte 2 no me deja “compartir web”
he revisado y todo esta correcto.
- No entiendo la creación de una carpeta “Web” cuando el sistema trae una carpeta”web” por defecto en la carpeta de usuario.
- Haga lo que haga no me deja de apuntar a la carpeta de configuración por defecto de Apache en el mac.
Si, ahora tienes que configurarlo manualmente. A veces es muy cómodo utilizar software como mamp.
Me alegro que te haya servido el tutoríal.
Un saludo
Bueno creo que corrí un poquito.Tengo php pero ejecutando enlaces desde un índex.html dentro de la carpeta designada para localhost entonces si tengo php, antes usaba mamp y tenia php en todo el ordenador creo recordar que cogí un tutorial para configurarlo así, ahora no uso mamp por lo tanto tengo que hacerlo manualmente verdad?.
He podido actualizar hoy la versión de php.
Gracias Jose por toda la ayuda, no se que hubiera echo sin su tutorial.
Juan,
Por lo que cuentas deberías mirar el archivo de configuración de Apache y todo los relacionando con la configuración del modulo de php, algo ha cambiado, y revisa la rutas y que estén los archivos. En los comentarios del post hay información al respecto.
Realicé la instalación todo correctamente y estube funcionando bien durante mucho tiempo, el problema me resultó después, no se porqué las páginas de php no me funcionan.
Tengo el compartir web activado,
el php -v me dá este resultado.
PHP 5.3.8 with Suhosin-Patch (cli) (built: Nov 15 2011 15:33:15)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
server:~ juan$
httpd -v
Server version: Apache/2.2.21 (Unix)
Server built: Nov 15 2011 15:12:57
El mysql me funciona correctamente, todo funciona desde la terminal no da señales de querer ir mal, pero a la hora de abrir una página con extensión php me aparece la página y todo el código escrito, ósea que no ha podido ejecutar el php.
¿Por qué pasa esto?
OJO !!!!
La ruta “/User/usuario/Web” en algunos mac no existe, aunque el finder lo muestre la ruta real con el terminal es “/User/usuario/Sites”
En el fichero httpd.conf tienes que dar un valor como es lógico que exista para el DocumentRoot y el Directory….
Revisando este post…
Deja la siguiente linea en /etc/apache2/httpd.conf, lo que viene por defecto y luego sigue como en la tercera entrega:
Cuando activas compartir Web tu “carpeta personal” apunta a /Users/tuUsuario/Sites -eso lo puedes comprobar desde el terminal-
Hola,
Estoy intentando activar php. He seguido los pasos del tutorial, pero no puedo abrir index.php desde el navegador. Cuando abro el archivo me sigue saliendo el codigo.
Siguiendo un consejo en el post he añadido en httpd.conf.:
DirectoryIndex index.html index.php
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps
Pero sigue sin funcionar… Alguna idea?
Muchas gracias
Ufff, puede ser por varias causas…Repasa la rutas de instalación en la configuraciones…Revisa los logs en /var/logs/apache2…
Un saludo.
Creo que apache no sabe que interpretar el código php. Prueba añadiendo ó buscando el siguiente código en tu httpd.conf.
Hola desde chile…
Tengo un macbook pro con Mac OS X Lion 10.7.1, hice todo lo que comentaste (no hacer otro directorio), pero habilite el Apache, habilite para que interprete php, pero no me muestra las paginas php y sigue mostrando el código cuando veo la pagina por el explorador…
Tengo mi sitio cargado en la carpeta WebServers/documents/solosurf y me encuentra las html, pero las php.. NOP..
alguna idea.?
Saludos
Tengo un problema mi sistema es un Lion y cuando quiero activar el “compartir web” no me lo activa, usando el comando tampoco, que puedo hacer?
Miguel Angel,
Gracias! Ahora lo arreglo!.:-)
El enlace de la parte 1 lo tienes mal puesto.
Un saludo
Puedes probar “/Users/usuario/Sites” en lugar de “User/usuario/Web/ (cambiar User por Users y Web por Sites).
Ciao
Antonio
Gabriel.
Creo que el comando no te lo encuentra en el $PATH. Asegúrate que la ruta /usr/local/mysql/bin esta en la anterior variable:
Si has realizado al instalación por defecto de mysql deberia esta localizado en la anterior ruta.
Tienes que añadir al fichero .profile, en tu home, esa ruta ó donde lo tengas instalado:
Y añade la linea:
Un saludo.
Hola muy buenas!…
Primero que todo gracias por hechas a una mano a los que estamos empezando en este mundo del Terminal mac XD.
Ahora mi problema esta con mysql. Apache y PHP perfecto, de hecho lo trai configurado desde otro curso, pero mysql no logro accedes desde el terminal. Yo uso esta linea de comando para acceder:
mysql -u root –password=******* (aqui mi password)
pero me da error: -bash: mysql: command not found
..lo que no se donde esta el error ni como corregirlo..
Gracias por tu tiempo y atención
Pingback: Apache, Mysql y php en Mac OS X Lion (Parte 3) | #joseantoniovilar
Giovanni,
La explicación del tutorial es para ejecutar manualmente mysql y apache. Asegúrate que tienes arranco ambos servidores y la ruta en el path de php y mysql es la correcta.
Un saludo.
Hola amigo, tengo un problema. He hecho todo lo que dice en tu manual, la primera vez si pude instalar todo bien pero en una segunda vez no. El error que me regresa desde php es :”No such file or directory” cuando intento conectar a mysql.
Te agradezco me puedas ayudar
Esta configuración ha funcionado en una instalación nueva de Mac OS X Lion. No lo he probado actualizando el sistema -si es tu caso-
Prueba editando el httpd.conf añadiendo está linea ó descomentandola
Además busca si el ejecutable del php esta en el PATH
Un saludo.
Buenas:
Una pequeña pregunta:
Haciendo todo lo que comentas, parece que funciona sin problema cuando se crea un index.html o un index.php en la carpeta que se coloca /User/usuario/Web, pero cualquier otro archivo que crees con cualquier otro nombre, como hola.php no lo sabe interpretar como php.
Tampoco da acceso con un error de lado de servidor 403, si tienes un .xml en la misma carpeta y quieres visualizarlo o acceder a el…
He intentado dar permisos a la raiz del sistema “/” y a la carpeta “/User/usuario/Web”en el httpd.conf en
Pero tampoco le gusta.
¿Alguna idea?
Un saludo
Pingback: Apache, Mysql y php en Mac OS X Lion (Parte 1) | #joseantoniovilar