OS X 10.10.3: Apache (2.4.12) + Passenger 5.0.10 von Homebrew funktioniert nicht

727
Drew

Versuch, Snorby (Ruby-App) für die Zusammenarbeit mit Apache / 2.4.12 und Passenger 5.0.10 zu konfigurieren.

- Ich habe erfolgreich von Homebrew Apache und Passagier installiert.

brew install httpd24 passenger 

- Erstellt /etc/apache/other/passenger.conf (wie in Homebrew beschrieben):

LoadModule passenger_module /usr/local/opt/passenger/libexec/buildout/apache2/mod_passenger.so PassengerRoot /usr/local/opt/passenger/libexec/lib/phusion_passenger/locations.ini PassengerDefaultRuby /usr/local/var/rbenv/versions/1.9.3-p551/bin/ruby 

- Aktiviertes Modul für virtuelle Hosts in /usr/local/etc/apache2/2.4/httpd.conf :

# Virtual hosts Include /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf 

und

LoadModule vhost_alias_module libexec/mod_vhost_alias.so 

- Virtueller Host in /usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf erstellt :

<VirtualHost *:8080> ServerAdmin Andryuwka@localhost ServerName snorby.server.loc ServerAlias www.snorby.server.loc DocumentRoot /usr/local/var/www/snorby/public <Directory "/usr/local/var/www/snorby/public"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride all Order deny,allow Allow from all #Require all granted Options -MultiViews </Directory> </VirtualHost> 

- wurde 127.0.0.1 snorby.server.loc www.snorby.server.loczu / etc / hosts hinzugefügt

- httpd mit neu gestartet apachectl restart

Wenn Sie jedoch im Browser unter www.snorby.server.loc navigieren, anstatt schienengesteuerte Anwendungen (Snorby-Anmeldeseite und Dashboards) auszuführen, erhalten Sie nur den Inhalt der Dateien /usr/local/var/www/snorby/public:

Index of /  404.html 422.html 500.html assets/ favicon.ico favicon.png flash/ images/ javascripts/ robots.txt stylesheets/ 

Sollte so etwas in diesem Beitrag sein (nach unten scrollen): https://www.corelan.be/index.php/2011/02/27/cheat-sheet-installing-snorby-2-2-with-apache2-and- suricata-with-barnyard2-on-ubuntu-10-x /

Ich gehe also davon aus, dass der Passagier nicht richtig mit Apache arbeitet und die Anwendung nicht startet (korrigieren Sie mich, wenn ich falsch liege). Was mache ich falsch? apachectl -M | sortgibt mir das (nichts mit "passagier"):

access_compat_module (shared) alias_module (shared) auth_basic_module (shared) authn_core_module (shared) authn_file_module (shared) authz_core_module (shared) authz_groupfile_module (shared) authz_host_module (shared) authz_user_module (shared) autoindex_module (shared) core_module (static) dir_module (shared) env_module (shared) filter_module (shared) headers_module (shared) http_module (static) log_config_module (shared) mime_module (shared) mpm_prefork_module (static) php5_module (shared) reqtimeout_module (shared) setenvif_module (shared) so_module (static) status_module (shared) unixd_module (shared) version_module (shared) vhost_alias_module (shared) Loaded Modules: 

Obwohl Homebrew behauptet, dass ihr Apache bereits für die Arbeit mit Passagieren konfiguriert ist, frage ich mich, ob es eine Möglichkeit gibt, dies zu überprüfen?

0

2 Antworten auf die Frage

0
Josip Rodin

Die PassengerRoot-Datei, die auf eine INI-Datei verweist, scheint nicht sinnvoll zu sein, es soll ein Verzeichnis sein. Weitere Informationen finden Sie in der Dokumentation unter https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#PassengerRoot

Geändert in `PassengerRoot / usr / local / opt / Passagier / libexec / lib / phusion_passenger /`, Neustart des Apache - macht keinen Unterschied, auch versucht `PassengerRoot / usr / local / opt / Passagier /` - kein Glück (( ( Drew vor 8 Jahren 0
Okay, aber keines dieser Verzeichnisse ist (innerhalb) Ihres virtuellen Hosts DocumentRoot, noch sind sie Alias ​​'. Versuchen Sie das zu tun. Josip Rodin vor 8 Jahren 0
Wie macht man das? Nun, ich habe den virtuellen Host DocumentRoot folgendermaßen geändert: `DocumentRoot / usr / local / opt / Passagier / libexec / lib / phusion_passenger / locations.ini` und der virtuelle Host ist kaputt gegangen. Jetzt bekomme ich dies im Browser:` Nicht Gefunden Die angeforderte URL / wurde auf diesem Server nicht gefunden.` Drew vor 8 Jahren 0
@Undrew nochmal, das Teil nach DocumentRoot kann keine Datei sein, es muss ein Verzeichnis sein. Machen Sie beide das gleiche Verzeichnis dazu? Josip Rodin vor 8 Jahren 0
Oh, Entschuldigung, es war ein Tippfehler. Ich meinte, ich habe das getan: Virtueller Host DocumentRoot wurde folgendermaßen geändert: `DocumentRoot / usr / local / opt / Passagier / libexec / lib / phusion_passenger` und es hat nicht geholfen. Drew vor 8 Jahren 0
Und dieser Ort stimmt mit der Ausgabe von `Passenger-config --root` auf Ihrem Computer überein? Josip Rodin vor 8 Jahren 0
Danke für den Versuch, zu helfen, aber Sie haben sich geirrt: DocumentRoot kann nicht nur ein Verzeichnis sein, sondern auch eine Datei mit einer Liste von Verzeichnissen wie meinem `/ usr / local / opt / Passagier / libexec / lib / phusion_passenger / locations.ini` So daran ist nichts falsch. Ich habe bereits die richtige Lösung gefunden und gepostet. Sie sollten die Problemerklärung genauer gelesen haben, und der letzte Codeblock enthält den Hinweis auf die Problemwurzel. Drew vor 8 Jahren 0
Dokument Root? Du meinst PassengerRoot? So oder so, das widerspricht der oben verlinkten Dokumentation. Josip Rodin vor 8 Jahren 0
lol Entschuldigung, Sie haben Recht - PassengerRoot (nicht DocumentRoot), widerspricht jedoch nicht der Dokumentation (es ist nur ein Beispiel dort). Alles funktioniert wie erwartet mit `... / locations.ini`, das Problem war, dass der Modul-Passagier nicht geladen wurde und` apachectl -M | sort` hat das gezeigt. Wenn ein falscher PassengerRoot vorhanden ist, wird immer noch das Passagiermodul geladen angezeigt. Drew vor 8 Jahren 0
0
Drew

Schließlich zeigte der Typ vom Homebrew-Projekt auf Github mich in die richtige Richtung. Aus irgendeinem Grund hat meine /usr/local/etc/apache2/2.4/httpd.conf, die mit der Installation von Homebrew httpd24 erstellt wurde, nicht diese Zeile: Include /usr/local/etc/apache2/2.4/other/*.conf(obwohl Homebrew behauptet, sie sollten es haben - ich glaube, es war eine relativ letzte Änderung)

Aus diesem Grund hatte mein Beifahrer-Modul bei der Überprüfung nicht enthalten apachectl -M | sort. ( Zum Beispiel: Standardmäßig ist /etc/apache2/httpd.conf vorhanden Include /private/etc/apache2/other/*.conf)

Also habe Include /usr/local/etc/apache2/2.4/other/*.confich meine /usr/local/etc/apache2/2.4/httpd.conf hinzugefügt und es funktioniert.