OS X 10.10.3:Homebrew 中的 Apache(2.4.12) + Passenger 5.0.10 无法运行

OS X 10.10.3:Homebrew 中的 Apache(2.4.12) + Passenger 5.0.10 无法运行

尝试配置 Snorby(ruby 应用程序)以与 Apache/2.4.12 和 Passenger 5.0.10 一起使用。

——我已经成功从自制软件 apache 和 Passenger 安装了。

brew install httpd24 passenger

-- 创建/etc/apache/other/passenger.conf(按照 Homebrew 中的说明):

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

-- 启用虚拟主机模块/usr/local/etc/apache2/2.4/httpd.conf

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

LoadModule vhost_alias_module libexec/mod_vhost_alias.so

-- 在中创建虚拟主机/usr/local/etc/apache2/2.4/extra/httpd-vhosts.conf

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

- 添加127.0.0.1 snorby.server.loc www.snorby.server.loc/etc/hosts

-- 重新启动 httpdapachectl restart

但是在浏览器中浏览 www.snorby.server.loc 而不是运行 rails 驱动的应用程序(Snorby 登录页面和仪表板)时,仅获取以下文件内容/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/

应该是类似于这篇文章的内容(向下滚动):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/

因此,我认为乘客无法与 Apache 正确协作,也无法启动应用程序(如果我错了,请纠正我)。我做错了什么? apachectl -M | sort给了我这个(没有“乘客”):

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:

尽管 Homebrew 声称他们的 apache 已经配置好可以与 Passenger 一起工作,但我想知道是否有任何方法可以检查它?

答案1

PassengerRoot 指向 .ini 文件似乎没有意义,它应该是一个目录。请参阅以下文档:https://www.phusionpassenger.com/documentation/Users%20guide%20Apache.html#PassengerRoot

答案2

最后,来自 GitHub 上的 Homebrew 项目的那个人给我指明了正确的方向。出于某种原因,我的/usr/local/etc/apache2/2.4/httpd.conf使用 Homebrew httpd24 安装创建的没有此行:(Include /usr/local/etc/apache2/2.4/other/*.conf尽管 homebrew 声称他们应该有它 - 我认为这相对较新的变化)

这就是为什么我的检查时没有包括乘客模块apachectl -M | sort。(例如:在默认情况下/etc/apache2/httpd.confInclude /private/etc/apache2/other/*.conf

所以我加入了Include /usr/local/etc/apache2/2.4/other/*.conf我的/usr/local/etc/apache2/2.4/httpd.conf并且它有效。

相关内容