LAMP en OSX 10.5.3

  • Jun
  • 15

5 comentarios! 963 palabras - 1 hits

Como realizar una instalacion de LAMP en Leopard

Después de unos cuantos intentos y algunos litros de café, por fin he logrado montar un entorno de desarrollo basado en MacOSX Leopard (aka 10.5.3).

Para muchos esto puede parecer exagerado puesto que Leopard viene con Apache 2 y PHP 5.2.5 instalados por defecto, pero la verdad es que la compilación de PHP esta bastante limitada en cuanto a los módulos que incluye, básicamente no trae ni GD2, ni mcrypt, ni muchas otras utilidades, con lo que resultaba inservible para mis necesidades.

Después de documentarme un poco sobre el tema vi que hay varias opciones para mejorar la instalación por defecto y al final me he decidido por instalar macports por la similitud que tiene con el sistema de paquetes apt y su facilidad de mantenimiento.

El proceso a seguir para tener un sistema con Apache 2, MySQL 5 y PHP 5 partiendo de una instalación de Leopard totalmente limpia es el siguiente:

Para empezar instalamos OSX desde el DVD correspondiente, una vez acabada la instalación pasamos a instalar las Xcode Tools que encontramos en el mismo DVD y actualizamos el sistema aplicando los últimos parches mediante la herramienta de actualización de software, una vez finalizados estos pasos tendremos nuestro sistema preparado para la instalación de macports.

Seguidamente descargamos el paquete de macports desde la web, en el momento de escribir esto esta disponible la 1.6.0, y lo instalamos siguiendo las instrucciones que encontraremos dentro del propio paquete.

Una vez instalado, abrimos una ventana de terminal y nos aseguramos de que en el fichero .profile se ha añadido una entrada que incluya el path para los ejecutables de macports, si contiene una linea como la siguiente todo ha ido bien, en caso contrario la añadimos y ejecutamos $ source .profile.

  1.  
  2.     export PATH=/opt/local/bin:/opt/local/sbin:$PATH
  3.  

A continuación ejecutamos $ sudo port selfupdate para sincronizar nuestra instalación con la ultima versión. Terminada esta operación podemos empezar a instalar paquetes.

Bash Completion

Esta es una instalación opcional, pero personalmente encuentro de gran utilidad el autocompletado en la consola y siguiendo estos pasos conseguiremos que cada paquete instalado mediante el comando ports añada el suyo propio.

Una vez mas en la consola ejecutamos $ sudo port install bash-completion, una vez instalado editamos nuevamente el fichero .profile y añadimos las siguientes lineas

  1.  
  2.     # bash-completion
  3.     if [ -f /opt/local/etc/bash_completion ]; then
  4.         . /opt/local/etc/bash_completion
  5.     fi
  6.  

Por ultimo editamos el fichero /opt/local/etc/macports/variants.conf y añadimos +bash_completion al final.

Apache 2, PHP 5 y MySQL 5

Debido a un problema que existe con la instalación de Apache 2 este proceso lo realizamos de dos partes, primero ejecutamos $ sudo port install apache2 y esperamos a que la instalación se detenga por no encontrar awk, seguidamente ejecutaremos el comando con el que se realizara la instalación definitiva, $ sudo port install apache2 && sudo port install mysql5 +server && sudo port install php5 +apache2 +macosx +mysql5 +pear +sqlite.

Este ultimo comando tardara mas o menos dependiendo de la arquitectura de la maquina, en mi caso, con un ppc de 1,42Ghz y 1 Gb de RAM, ha tardado casi unas dos horas entre descargas y compilaciones.

Un detalle a tener en cuenta y que he aprendido sobre la marcha es que si algun paquete no puede ser descargado automaticamente, el proceso se interrumpira sin llegar al final. En este caso basta con descargarlo manualmente colocandolo dentro del directorio correspondiente en /opt/local/var/macports/distfiles/, por ejemplo si como me ha ocurrido a mi, la instalación no encuentra el fichero httpd-2.2.8.tar.bz2 en los repositorios, lo descargamos dentro del directorio apache en la ruta que he indicado. Al reiniciar la instalación todo continuara correctamente.

Una vez instalados todos los paquetes pasamos a configurarlos, empezando por apache.

Antes de empezar a configurarlo tenemos que copiar el fichero de configuración de ejemplo mediante el comando $ sudo cp /opt/local/apache2/conf/httpd.conf.sample /opt/local/apache2/conf/httpd.conf y añadimos el script de autoarranque $ sudo launchctl load -w /Library/LaunchDaemon/org.macports.apache2.plist

Para mysql el proceso es similar; primero nos aseguramos de que existen todos los directorios necesarios, /opt/local/var/db/mysql5/ y /opt/local/var/run/mysqld5/, en caso contrario los crearemos dandole permisos al usuario mysql grupo mysql.

  1.  
  2.     sudo chown -R mysql:mysql /opt/local/var/db/mysql5/
  3.     sudo chown -R mysql:mysql /opt/local/var/run/mysqld5/
  4.  

A continuación cargamos el fichero de autoarranque $ sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist e inicializamos la base de datos de mysql $ sudo mysql_install_db5. Si todo ha ido bien, podemos arrancar el servidor $ sudo /opt/local/bin/mysqld_safe5 & y añadir la contraseña para el usuario root $ mysqladmin5 –u root –p password

Seguidamente pasamos a configurar el entorno PHP, registrando el modulo para apache

  1.  
  2.     cd /opt/local/apache2/modules
  3.     sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so
  4.  

a continuación editamos el fichero de configuración de apache para añadir el modulo, LoadModule php5_module modules/libphp5.so y la configuración necesaria para ejecutar scripts php Include conf/extras-conf/mod_php.conf.

Para acabar, copiamos la configuración de ejemplo de php dentro de la ruta correspondiente

  1.  
  2.     cd /opt/local/etc
  3.     sudo cp php.ini-dist php.ini
  4.  

y reiniciamos apache para activar los cambios

  1.  
  2.     cd /opt/local/apache2/bin/
  3.     sudo ./apachectl -k restart
  4.  

phpmyadmin

Esta es la parte mas sencilla de todo el proceso, opcionalmente podemos instalar este paquete para gestionar mysql desde un entorno gráfico.

Nuevamente utilizamos macports para instalarlo $ sudo port install phpmyadmin, cuando lo tengamos instalado creamos el fichero /opt/local/apache2/conf/extra/httpd-phpmyadmin.conf con el siguiente contenido

  1.  
  2.     AliasMatch ^/phpmyadmin(?:/)?(/.*)?$ "/opt/local/www/phpmyadmin$1"
  3.    
  4.     <Directory "/opt/local/www/phpmyadmin">
  5.         Options -Indexes
  6.         AllowOverride None
  7.         Order allow,deny
  8.         Allow from all
  9.    
  10.        LanguagePriority es en de fr ja ko pt-br ru
  11.        ForceLanguagePriority Prefer Fallback
  12.     </Directory>
  13.  

y lo añadimos al fichero de configuración de apache, Include conf/extra/httpd-phpmyadmin.conf.

Por ultimo copiamos el fichero de configuración de ejemplo dentro de la ruta correspondiente

  1.  
  2.     cd /opt/local/www/phpmyadmin/
  3.     cp libraries/config.default.php ./config.inc.php
  4.  

Despues de esto solo queda reiniciar apache. Para acceder al gestor utilizamos la direccion http://localhost/phpmyadmin

Bueno, creo que con esto ya tenemos suficiente por hoy, en un proximo episodio explicare como instalar y configurar un servidor de subversion con su interface WebDAV.

5 comentarios

  • Jun
  • 15

# Escrito por Cristian hace 1 año, 9 meses

No quiero ser aguafiestas pero esto es buenisimo para instalar todo a mano y practicar un poco. Pero si lo que necesitas es tener un server web rapidamente lo ideal es MAMP (Mac, Apache, MySQL, PHP).

http://www.mamp.info/en/mamp.html

Saludos


  • Jun
  • 15

# Escrito por Alex Sancho hace 1 año, 9 meses

Conocia la existencia de MAMP, de hecho lo utilice hace algun tiempo en el macbook como plataforma de desarrollo local, pero en este caso queria instalar una maquina dedicada con lamp bajo OSX como tenia antes en linux.

Quizas el proceso que he descrito parezca mas complicado de lo que es, pero a veces prefiero tener control sobre lo que tengo instalado antes que utilizar soluciones prefabricadas.

En cualquier caso, como tu comentas es una solucion totalmente valida para conseguir un entorno de desarrollo bastante completo.


  • Jun
  • 18

# Escrito por Anonymous hace 1 año, 8 meses

Supongo que esto ya lo has contemplado y preferías tener todos bien puesto y controlado pero yo suelo usar MAMP.

Con un par de clicks tienes todo montado y listo para funcionar, bastante sencillo aunque igual le faltan algunas cosas que tu necesitas.


  • Jul
  • 24

# Escrito por Artur hace 1 año, 7 meses

Hello. I like your image gallery. I want to emprove your script. Can you give me sources?

Thanks alot! You can mail me to ncuxxx AT gmail.com


  • Ago
  • 02

# Escrito por bedomax hace 1 año, 7 meses

jeje muy bueno Alex , yo también me pasé de Linux a Mac y la forma que hice fue instalar XAMPP, pero prefiero mil veces la forma que estas planteando. Al ports lo conoci cuando quería instalar rails y me funciono de maravilla.

¿Por qué cambiastes Linux por Mac OSX?


Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.