如何让Apache指向rails应用程序?我在/ var / www中有我的rails应用程序,我成功安装了passenger,ruby,rails,mysql。这是一个新服务器,我只是想将现有的生产轨道应用程序移动到它。我认为它可能是httpd.conf中的内容,但是在运行的服务器的conf中没有对应用程序的引用。
我愿意支持任何有帮助信息的人(评论或答案)。请不要把我驱逐到SF!
更新:
我已经用乘客线更新了我的httpd.conf:
LoadModule passenger_module /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.0/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.0
PassengerRuby /usr/local/bin/ruby
另外,我有一个与原始文件相同的vhosts文件:
<VirtualHost *:80>
ServerAdmin admin@ourdomain.com
DocumentRoot /var/www/tutorials/public
ServerName tutorials.ourdomain.local
ErrorLog logs/tutorials_error.log
CustomLog logs/tutorials_access.log common
</VirtualHost>
UPDATE2:
我发现我可以通过注释掉welcome.conf的所有行来停止提供默认的apache页面。现在我得到403 fobidden页面“你没有权限访问/在这个服务器上”即使我chmod 777的app目录及其内容(和/ var / www)。
UPDATE3:
我发现我可以通过[ipaddress] /findex.html
访问默认的rails页面答案 0 :(得分:2)
您必须像这样编辑Apache配置文件:
LoadModule passenger_module /somewhere/passenger-x.x.x/ext/apache2/mod_passenger.so
PassengerRuby /usr/bin/ruby
PassengerRoot /somewhere/passenger/x.x.x
PassengerMaxPoolSize 10
<VirtualHost *:80>
ServerName www.myapp.com
DocumentRoot /www/myapp/public
<Directory /www/myapp/public>
Allow from all
</Directory>
</VirtualHost>
答案 1 :(得分:0)
SELinux是罪魁祸首。 Setenforce 0,服务httpd restart证明了这一点。