我正试图让apache和乘客一起跑。我做了:
sudo gem install passenger
sudo passenger-install-apache2-module
在安装了其他东西后,它告诉我安装(例如apache2-prefork-dev)我添加了它说要添加到http.conf文件的行,它告诉我LoadModule行有一个语法错误。 / p>
user@machine:~$ sudo /usr/local/apache2/bin/apachectl restart
httpd: Syntax error on line 174 of /usr/local/apache2/conf/httpd.conf:
Cannot load /var/lib/gems/1.8/gems/passenger-3.0.13/ext/apache2/mod_passenger.so into server:
/var/lib/gems/1.8/gems/passenger-3.0.13/ext/apache2/mod_passenger.so: undefined symbol: unixd_config
这是指它告诉我要添加的以下代码:
174 LoadModule passenger_module /var/lib/gems/1.8/gems/passenger-3.0.13/ext/apache2/mod_passenger.so
175 PassengerRoot /var/lib/gems/1.8/gems/passenger-3.0.13
176 PassengerRuby /usr/bin/ruby1.8
你知道为什么它找不到unixd_config吗?
提前致谢!
一些信息: Rails v3.2.6,Ruby 1.9.2p320,gem v1.8.24,apache2(我不知道如何找到该版本,但我知道它是2.x)
如果重要:
178 <VirtualHost *:80>
179 ServerName www.example.com
180 DocumentRoot /home/dylan/private/project/public
181
182 <Directory /home/dylan/private/project/public>
183 Order allow,deny
184 Allow from all
185 </Directory>
186 </VirtualHost>
(如果你想帮我解决这个问题,我也不知道要为ServerName添加什么......)
答案 0 :(得分:3)
如果之前安装了其他apache,则可能需要指定apache。
我尝试了以下命令。
env APXS2=/usr/local/apache2/bin/apxs passenger-install-apache2-module
答案 1 :(得分:0)
这绝对是针对错误的Apache版本编译Phusion Passenger模块的情况。正如banrui所说,您需要使用指向正确的apxs2命令的AXPS2环境变量运行安装程序,即您打算运行的Apache安装。
答案 2 :(得分:0)
看起来红丽是正确的。 获取您的apache版本: apachectl -V(我必须是root)
从 http://httpd.apache.org/docs/2.4/developer/new_api_2_4.html unixd_config 这已重命名为ap_unixd_config。
你必须重建乘客: http://www.modrails.com/documentation/Users%20guide%20Apache.html
答案 3 :(得分:0)
sudo ln -s /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include /usr/include
这对优胜美地有所帮助。显然,通过安装Xcode 6.1不会自动创建符号链接。符号链接指向以前的SDK包含目录。唯一有效的是改变符号链接。