6 votos

Cómo actualizar Apache 2.2 a 2.4 en Mac OS X Mavericks

Mi ISP ha actualizado el servidor a Apache 2.4.9 desde 2.2.xx. Se ha roto un par de cosas en mi configuración y quiero llevar mi copia local de Apache 2.2.26 a 2.4.9 para que pueda probar localmente.

He estado tratando de encontrar algo de información en línea, pero parece que no puedo encontrar un paso a paso las instrucciones sobre cómo hacerlo, y sobre todo me encuentro con recomendaciones de NO hacerlo. En su lugar encuentro gente que sugiere Homebrew, MacPorts, o Fink.

Dado que tengo varios sitios trabajando con local.xxxx.com y todo funciona bien (editar localmente, probar visitando su url correspondiente con el prefijo local.) y es todo bastante cómodo y agradable, me gustaría seguir haciendo lo mismo, pero con Apache 2.4.9. Cualquier consejo en cuanto a cuál es la mejor manera de hacer esto, o un puntero a las instrucciones sería muy apreciada.

0 votos

Versión actual de ampps.com incluye Apache 2.4.7

2voto

chillin Puntos 1997

Si lo consigues, romperás parte del Sistema

No quieres hacer eso. Apache2 es parte del sistema operativo. Si de alguna manera logras lo que buscas, romperás cualquier capacidad de actualizar Apache2 o tener cualquier actualización de seguridad que Apple saque y que se aplique usando la Mac App Store incorporada o softwareupdate de Apple. Deberías dejarlo estar e instalar un Apache2 diferente. Además, de esa manera te asegurarás de que las actualizaciones posteriores de Apple tampoco rompan tu versión actualizada de Apache2, lo cual es igual de probable (si no inevitable).


MacPorts

MacPorts es una solución de gestión de paquetes robusta, estable, madura y fácil de usar para OS X. Sigue el modelo de FreeBSD. puertos que se ha adoptado como base del sistema NetBSD pkgsrc . Recomiendo encarecidamente MacPorts .

instalar Xcode 5.1.1

MacPorts requiere una versión adecuada de xcode; xcode_5.1.1.dmg es la versión más reciente para Mavericks (después de registro para obtener una cuenta de desarrollador gratuita, y Inicio de sesión a developer.apple.com, ese enlace iniciará la descarga de xcode). Una vez completada la descarga:

 hdiutil attach -quiet -noverify -nobrowse -noautoopen ~/Downloads/xcode_5.1.1.dmg
 cp -npR /Volumes/Xcode/Xcode.app /Applications/
 hdiutil detach -quiet /Volumes/Xcode
 open -g /Applications/Xcode.app
 sleep 8
 killall Xcode.app

Instalar MacPorts

Llegar a conocer MacPorts

 curl -Ok https://distfiles.macports.org/MacPorts/MacPorts-2.2.1.tar.bz2
 tar xf MacPorts-2.2.1.tar.bz2
 cd MacPorts-2.2.1
 ./configure
 make
 sudo make install     # *not war!*
 cd ..
 rm -rf Macports-*
 sudo /opt/local/bin/port -v selfupdate
 diskutil quiet repairPermissions /

añade MacPorts a tu $PATH:

 export PATH=/opt/local/bin:/opt/local/sbin:$PATH
 export MANPATH=/opt/local/share/man:$MANPATH

instalar Apache 2.4.9

 Jose@stack:~$
 Jose@stack:~$
 Jose@stack:~$ port info apache24-devel
  apache24-devel @2.4.9 (www)
  Variants:       eventmpm, openldap, [+]preforkmpm, universal, workermpm

  Description:    Apache is an HTTP server designed as a plug-in replacement for the NCSA server version 1.3
                  (or 1.4). It fixes numerous bugs in the NCSA server and includes many frequently requested
                  new features, and has an API which allows it to be extended to meet users' needs more
                  easily.
  Homepage:       http://httpd.apache.org/

  Library Dependencies: apr, apr-util, expat, openssl, pcre, perl5, zlib
  Platforms:            darwin, freebsd, openbsd
  License:              Apache-2
  Maintainers:          ryandesign@macports.org, macintosh@mathiesen.info, pixilla@macports.org,
                        openmaintainer@macports.org
 Jose@stack:~$
 Jose@stack:~$
 Jose@stack:~$ sudo port -vsc install apache24-devel

Eso es realmente todo. Si puedes configurar httpd.conf, puedes hacer esto también. Y usted puede mantenerlo actualizado hasta el borde nosebleeding simplemente con:

 sudo port -vsc selfupdate
 sudo port -vsc upgrade installed

MacPorts no interferir con el uso del servidor interno Apache2 de OS X, ni con ningún otro software. Guarda todo lo que instala en su directorio /opt.

Si por alguna razón no estás satisfecho y/o necesitas eliminar MacPorts:

para desinstalar completamente MacPorts

 sudo port -dfp uninstall --follow-dependencies installed
 sudo port -dfp uninstall all
 sudo rm -rf /opt/local  
 sudo rm -rf /Library/Tcl/macports*

0 votos

Estos me parecen los pasos más completos. He empezado por el enlace "know MacPorts" y primero he ejecutado xcode-select --install (que instalaba las utilidades de línea de comandos, después de haber instalado XCode). Luego descargué el .pkg según las instrucciones del sitio de MacPorts y seguí con el sudo /opt/local/bin/port -v selfupdate seguido por el diskutil quiet repairPermissions / Luego omití agregarlo al PATH (parece que la instalación lo hizo por mí). Todo el proceso tomó un tiempo con un cuadro de diálogo que aparece pidiendo "javac", que necesita Java SE 6, que me negué.

0 votos

Quizá haya que actualizar la documentación de MacPorts. No hay un gran equipo de mantenedores, que es una de las razones por las que me he encargado de evangelizar sobre ello: cuantos más lo adopten, mejor será. Llevo usándolo casi 8 años, y no soy programador/desarrollador. Una vez familiarizado con la sintaxis (que yo estaba un poco de usar NetBSD y pkgsrc) comienza a ser útil. La migración es una brisa, "lista de puertos solicitados" te dice todos los puertos que pediste, y puedes script esa lista fácilmente en un nuevo sistema. Me encanta rodar mi propio software donde quiera que vaya. Visita #macports @freenode irc para soporte en tiempo real.:D

0 votos

Ahora, esto parece funcionar, pero el navegador parece seguir yendo a la versión 2.2.26 de Apache. En la línea de comandos, sin embargo, ejecutar "apachectl" parece estar buscando en el lugar correcto. De momento me está dando un error [Syntax error on line 53 of /opt/local/etc/apache2/extra/httpd-vhosts.conf: Invalid command 'php_value', perhaps misspelled or defined by a module not included in the server configuration] pero eso es porque no tengo cargado el módulo para php, que intentaré averiguar a continuación. Entonces, ¿cómo puedo "apagar" el 2.2.26 y asegurarme de que una solicitud local.xxxx.com utiliza 2.4.9?

0voto

Mahesh Puntos 1

Puedes actualizar el Apache que viene con Maverics pero hay una gran posibilidad de que cada vez que instales una actualización del sistema el Apache se rompa.

Es bastante fácil de usar homebrew, pero es una cosa de línea de comandos. Con homebrew puedes señalar la versión de Apache.

Si quieres una solución con interfaz gráfica usa MAMP, es gratis. Pero tendrás que usar la versión de Apache que incluyen (2.2.26).

Me mantendré alejado de macports, homebrew es el nuevo rey en la ciudad.

Para instalar homebrew escribe esto en el terminal

ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

Instalar una versión específica tiene más truco, puedes ver las instrucciones en este post de stack exchange:

https://stackoverflow.com/questions/3987683/homebrew-install-specific-version-of-formula

Pero me pregunto qué tipo de problema estás teniendo, los cambios de versión de Apache normalmente no rompen nada, ¿estás seguro de que es una cosa de Apache? El problema puede ser debido a otra tecnología, como PHP, Ruby...

Por favor, publique los errores que obtiene.

0 votos

El error que obtengo al visitar local.xxxxx.com es un Error Interno del Servidor. Comprobando en la consola, veo esto:[Mon May 12 13:38:18 2014] [alert] [client 127.0.0.1] /Users/jose/Sites/local.xxxxx.com/html/.htaccess: RewriteRule: bandera desconocida 'END'. En lugar de trabajar alrededor de eso, preferiría simplemente tener mi sistema funcionando con 2.4.9 para poder tener una configuración local lo más parecida posible a la configuración del ISP

0 votos

Me alejé de MAMP hace unos años porque su soporte para las últimas versiones (estables) de algunos paquetes era deficiente. Y acabo de comprobarlo, y efectivamente, con su última versión, siguen con Apache 2.2.26. Voy a ver si Homebrew cubre una instalación fácil de Apache 2.4.9 y PHP 5. Comprobaré el enlace proporcionado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X