Für den Fall, dass jemand unter Mac OS X das Apache-Modul mod_rails aka. Phusion Passenger in MAMP integrieren will: Hier eine kleine (zusammenkopierte) Anleitung.
- MAMP, Ruby und Rails sind selbstverständlich schon installiert
- mit “sudo -s” im Terminal in eine Root-Shell wechseln
- “gem install passenger” zum Installieren ausführen
- Apache-Version mit “/Applications/MAMP/Library/bin/httpd -v” herausfinden
- Zur vorhandenen Version passende Sourcen herunterladen von http://archive.apache.org/dist/httpd/ (z.B. httpd-2.0.59.tar.bz2 für MAMP 1.7)
- Datei entpacken, z.B. mit “tar -xvf httpd-2.0.59.tar.bz2″
- In den entpackten Ordner wechseln
- “./configure” ausführen und aus dem Fenster gucken
- Den “include”-Ordner aus den eben heruntergeladenen und konfigurierten Sourcen nach “/
Applications/MAMP/Library/” kopieren - “os/unix/os.h” aus den Sourcen nach “/Applications/MAMP/Library/
include/” kopieren (also os.h liegt direkt in include) - Diese Datei config_vars.mk herunterladen und in “/Applications/MAMP/Library/build/” ablegen
- “export APXS2=/Applications/MAMP/Library/bin/apxs” ausführen, damit das Passenger-Skript das Modul für den MAMP-Apache kompiliert (ansonsten nimmt es den Mac-OS-X-Apache als Ziel)
- “passenger-install-apache2-module” ausführen und den Anweisungen folgen
- Den vom Skript ausgegebenen Codeschnipsel zum Laden des Passenger-Moduls in “/Applications/MAMP/conf/apache/httpd.conf” einfügen
- In selber Datei einen Virtual Host für das Rails-Projekt anlegen
- Gegebenenfalls für den vHost die Option “RailsEnv development” setzen
- MAMP (neu)starten und freuen
Was nicht geht: Den Apache-Port auf 80 ändern. Dann wird der Apache von MAMP gezwungenermaßen als root ausgeführt. Passenger äußert dann Sicherheitsbedenken und verweigert seinen Dienst.
Warum das ganze? Ich hatte schon den Apache samt MySQL mit MacPorts installiert. Aber das Start-/Stopp-App von MAMP ist ein bisschen komfortabler als das Terminal. Und ich bin sooo faul
Quellen:
http://code.google.com/p/phusion-passenger/issues/detail?id=3
http://code.google.com/p/phusion-passenger/issues/detail?id=12
http://groups.google.com/group/phusion-passenger/browse_thread/thread/e6dac9d5ea0de9c1
Ich habe versucht, passenger (2.2.11) in MAMP 1.9 zu installieren. Allerdings erhalte ich bei “passenger-install-apache2-module” Fehlermeldungen, dass gewissen apr_*.h-Dateien nicht gefunden werden.
Bin für jeden Hinweis dankbar.
Puh,
da fragst du mich jetzt was. Ist ja schon lange her…
Hört sich aber so an, als wären die Apache-Sources nicht am richtigen Platz? Genaueres kann ich dir da jetzt leider auch nicht mehr sagen, bei mir ist die Rails-Entwicklung eingeschlafen.
Gruß,
Thomas