Apache, Mysql y php en Mac OS X Lion (Parte 2)

 

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)

About Jose Antonio Vilar

Trabajo en mantener y actualizar la infraestructura IT (Desktop y Server), en plataformas: Windows, Linux y Mac, en la Universidad Politécnica de Madrid, consultor TI y analista de negocio. También estoy interesado en todo lo relacionado con el desarrollo de productos para los móviles: HTML5, CCS, javascript, Social Media y E-Commerce
This entry was posted in Plataforma MacOSX, Software and tagged , , , . Bookmark the permalink.

27 Responses to Apache, Mysql y php en Mac OS X Lion (Parte 2)

  1. 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

  2. David says:

    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

  3. David says:

    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

  4. 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!

  5. David says:

    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.

  6. 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

  7. juan says:

    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.

  8. 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.

  9. juan says:

    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?

  10. ivan says:

    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….

  11. 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:

    #Estas son la lineas que debes dejar igual
    DocumentRoot "/Library/WebServer/Documents"
    Directory "/Library/WebServer/Documents"
    

    Cuando activas compartir Web tu “carpeta personal” apunta a /Users/tuUsuario/Sites -eso lo puedes comprobar desde el terminal-

  12. Blanca says:

    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

  13. Ufff, puede ser por varias causas…Repasa la rutas de instalación en la configuraciones…Revisa los logs en /var/logs/apache2…

    Un saludo.

  14. Creo que apache no sabe que interpretar el código php. Prueba añadiendo ó buscando el siguiente código en tu httpd.conf.

    
    DirectoryIndex index.html  index.php
    AddType application/x-httpd-php .php .php3 .php4 .phtml
    AddType application/x-httpd-php-source .phps
    
    Un saludo.
    
  15. 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

  16. Oscar says:

    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?

  17. Miguel Angel,

    Gracias! Ahora lo arreglo!.:-)

  18. Miguel Angel Martín says:

    El enlace de la parte 1 lo tienes mal puesto.
    Un saludo ;)

  19. Antonio says:

    Puedes probar “/Users/usuario/Sites” en lugar de “User/usuario/Web/ (cambiar User por Users y Web por Sites).
    Ciao

    Antonio

  20. 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:

    echo $PATH
    /usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

    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:

    sudo nano .profile
    

    Y añade la linea:

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

    Un saludo.

  21. Gabriel says:

    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

  22. Pingback: Apache, Mysql y php en Mac OS X Lion (Parte 3) | #joseantoniovilar

  23. 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.

  24. Giovanni says:

    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

  25. 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

    AddHandler application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    Además busca si el ejecutable del php esta en el PATH
    Un saludo.

  26. Question says:

    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

  27. Pingback: Apache, Mysql y php en Mac OS X Lion (Parte 1) | #joseantoniovilar

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">