我在Linux Debian 6上成功安装了Phusion乘客+ Apache 2 + Rails 3.1程序+ git。我运行了passenger-install-apache2-module并遵循configuration说明。 我也遵循https://help.ubuntu.com/community/RubyOnRails#Configure%20Apache中的设置说明
我的程序是在/ var / www / myrailsproject,并在我的Mac上运行罚款webrick。 当去myhomepage.com (例如)我只看到目录列表。 通过阻止目录列表并在/ etc / apache2 / sites-available default或myhomepage.com中的<Document>标记中设置Options -Indexes我在我的网站上遇到错误:
禁止您无权访问/在此服务器上。 Apache / 2.2.19(Debian)服务器在myhomepage.com端口80
在/etc/apache2/apache.conf中我添加了:
ServerName myhomepage.com
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.8/ext/apache2/mod_passenger.so PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.8 PassengerRuby / usr /bin/ruby1.8
在/ etc / apache2 / sites-available myhomepage.com :
<VirtualHost *:80>
ServerName myhomepage.com ServerAlias www.myhomepage.com DocumentRoot /var/www/myrailsproject/public ErrorLog /var/www/logs/error.log CustomLog /var/www/logs/access.log combined RailsEnv test RackEnv test RailsBaseURI /mayrailsproject < Directory /var/www/myrailsproject> Options -Indexes FollowSymLinks -MultiViews AllowOverride all Order allow,deny allow from all < /Directory> < Directory /var/www/myrailsproject/public> AllowOverride All Options -Indexes +FollowSymLinks MultiViews Order allow,deny Allow from all < /Directory> RailsSpawnMethod smart PassengerPoolIdleTime 1000 RailsAppSpawnerIdleTime 0 RailsFrameworkSpawnerIdleTime 0 PassengerMaxRequests 5000 PassengerStatThrottleRate 5
</ VirtualHost>
我想我已经在<Directory>(和<Directory />,<Directory / var / www>等)中尝试了所有可能的值和variables组合。
该缺省看起来像:
<VirtualHost *:80>
ServerName myhomepage.com RailsBaseURI /myrailsproject DocumentRoot /var/www/myrailsproject/public RackEnv test RailsEnv test < Directory /var/www/myrailsproject> Options -Indexes FollowSymLinks -MultiViews AllowOverride None Order deny,allow Deny from all < /Directory> <Directory /root/public/myrailsproject/public> Options -Indexes FollowSymLinks -MultiViews AllowOverride All Order allow,deny allow from all </Directory> ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" < Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 < /Directory>
</ VirtualHost>
所以我想知道为什么我的rails项目不运行,只有目录列表。 我没有在我的项目中的任何索引文件,routes.rb路由到根:to =>'static_pages#home'我认为所有的权限是应该的。 提前谢谢Íris
< VirtualHost *:80 > ServerName myhomepage.com ServerAlias www.myhomepage.com DocumentRoot /var/www/myrailsproject/public RailsEnv test RackEnv test RailsSpawnMethod smart PassengerPoolIdleTime 1000 RailsAppSpawnerIdleTime 0 RailsFrameworkSpawnerIdleTime 0 PassengerMaxRequests 5000 PassengerStatThrottleRate 5 < Directory /var/www/myrailsproject/public > AllowOverride All Options -Indexes +FollowSymLinks MultiViews Order allow,deny Allow from all < /Directory > ErrorLog /var/www/logs/error.log CustomLog /var/www/logs/access.log combined < /VirtualHost >
试试这个虚拟主机。
看来“RailsBaseURI”正在给出问题。 供参考访问, Modrails文档
谢谢,TML。