RSS .92| RSS 2.0| ATOM 0.3
  • Inicio
  • Correo Web
  •  

    LAMP en OSX 10.5.3

    Junio 15, 2008 @ 18:57
    Alex Sancho

    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.

    export PATH=/opt/local/bin:/opt/local/sbin:$PATH

    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

    # bash-completion
        if [ -f /opt/local/etc/bash_completion ]; then
            . /opt/local/etc/bash_completion
        fi

    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.

    sudo chown -R mysql:mysql /opt/local/var/db/mysql5/ 
        sudo chown -R mysql:mysql /opt/local/var/run/mysqld5/

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

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

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

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

    cd /opt/local/etc
        sudo cp php.ini-dist php.ini

    y reiniciamos apache para activar los cambios

    cd /opt/local/apache2/bin/
        sudo ./apachectl -k restart

    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

    AliasMatch ^/phpmyadmin(?:/)?(/.*)?$ "/opt/local/www/phpmyadmin$1"
    
        <Directory "/opt/local/www/phpmyadmin">
            Options -Indexes
            AllowOverride None
            Order allow,deny
            Allow from all
    
           LanguagePriority es en de fr ja ko pt-br ru 
           ForceLanguagePriority Prefer Fallback
        </Directory>

    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

    cd /opt/local/www/phpmyadmin/
        cp libraries/config.default.php ./config.inc.php

    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.

    Comentarios (2) | | Digg It! | | ma.gnolia |




    del.icio.us:LAMP en OSX 10.5.3 digg:LAMP en OSX 10.5.3 spurl:LAMP en OSX 10.5.3 wists:LAMP en OSX 10.5.3 simpy:LAMP en OSX 10.5.3 newsvine:LAMP en OSX 10.5.3 blinklist:LAMP en OSX 10.5.3 furl:LAMP en OSX 10.5.3 reddit:LAMP en OSX 10.5.3 fark:LAMP en OSX 10.5.3 blogmarks:LAMP en OSX 10.5.3 Y!:LAMP en OSX 10.5.3 smarking:LAMP en OSX 10.5.3 meneame:LAMP en OSX 10.5.3

    Articulos relacionados:
    OSX: /etc/hosts
    links for 2008-07-24
    Prompt personalizado en OSX
    MPlayer OSX Extended rev6, nueva versión para Mac
    OSX: Estado de la bateria en la terminal

    Permalink Via Alex Sancho Mac OSX

    Comentarios desactivados.