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.
- 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 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
- 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 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
- 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.
5 comentarios
# 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
# 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.
# 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.
# 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
# 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?