无法在Mac OS X Mountain Lion和Apache上使用Phusion Passenger

3
我刚购买了一个预装了Lion Server的新Mac mini,并立即升级到Mountain Lion Server。然后,我按照往常所做的方式安装了rvm、rails、Passenger等软件(上一次我安装Passenger时使用的是Snow Leopard系统)。
我遵循了这里的说明:http://jasoncodes.com/posts/mac-os-rails-server#ruby
启动/重启Apache时没有出现任何错误,但是Passenger模块似乎根本没有被加载。
Mountain Lion apache的信息非常稀少,但看起来一些配置文件已经从/etc/apache2/移动到/Library/Server/Web/Config/apache2/,但我无法弄清楚需要更改什么以便让Passenger加载。

嗨,你有没有找到解决这个问题的方法?我也遇到了同样的问题!! - Saurabh
1个回答

12

在尝试在Mountain Lion Server上安装Redmine时,我遇到了同样的问题。

在我的情况下,解决方案相当简单:

  1. 从AppStore安装Xcode
  2. 打开Terminal
  3. sudo gem install passenger
  4. sudo passenger-install-apache2-module
  5. sudo nano /private/etc/apache2/httpd.conf
  6. passenger_module安装程序输出的行粘贴到/private/etc/apache2/httpd.conf 中:

    LoadModule passenger_module /Library/Ruby/Gems/1.8/gems/passenger-3.0.18/ext/apache2/mod_passenger.so

    PassengerRoot /Library/Ruby/Gems/1.8/gems/passenger-3.0.18

    PassengerRuby /System/Library/Frameworks/Ruby.framework/Version/1.8/usr/bin/ruby

(确保你使用的是你安装的正确版本号 - 我的是3.0.18)

关键在于,在Mountain Lion Server中,Server.app有它的httpd配置文件在

/Library/Server/Web/Config/apache2/httpd_server_app.conf

然而您对此文件所做的更改不会被识别,要使其永久生效,您必须编辑/private/etc/apache2/httpd.conf

如果您想使用乘客载客偏好设置面板,则必须编译它,因为预编译版本与Mountain Lion不兼容。

我使用了redmine.org的说明:

cd ~/Downloads

git clone https://github.com/Fingertips/passengerpane/

cd passengerpane

xcodebuild

(如果您找不到xcodebuild,请检查/usr/bin/xcodebuild

安装首选项面板。在〜/Downloads/passengerpane/build/Release中查找,并双击Passenger.prefPane进行安装。

希望这可以帮助到您。

干杯!


1
关于第4步的一个小提示 - 当我尝试编译Apache模块时,我遇到了缺少包装器的错误,所以我不得不使用rvmsudo而不是sudo(rvmsudo passenger-install-apache2-module)。 - boccio

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接