Hello everybody. I know, I know, another post about Apache 2, but I have looked a lot on the internet and I haven''t found the answer to my problem. I have a Linux Fedora Core 5 box, with Apache 2.2.2 (compiled and installed), Ruby 1.8.4 (compiled and installed), RubyGems 0.8.11 (compiled and installed) and Rails... I don''t know what version as this one I haven installed with gem. This is what I want to achieve. I have a personal website (www.troccoli.it) which contains HTML only. I want to have another website (spagnolo.troccoli.it) where I use Rails. Both URL are resolved to the same IP: my Linux box. I have managed to change httpd.conf to use mod_fcgid as follows ... LoadModule fcgid_module modules/mod_fcgid.so IPCCommTimeout 40 IPCConnectTimeout 10 ... I have also changed httpd-vhosts.conf (which is include in httpd.conf) as follows: ... NameVirtualHost * # # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:*> ServerAdmin giulio@troccoli.it DocumentRoot /home/webmaster/troccoli.it ServerName www.troccoli.it ErrorLog logs/troccoli.it-error_log CustomLog logs/troccoli.it-access_log common </VirtualHost> <VirtualHost *:*> ServerAdmin giulio@troccoli.it DocumentRoot /home/webmaster/troccoli.it/spagnolo ServerName spagnolo.troccoli.it ErrorLog logs/spagnolo-error_log CustomLog logs/spagnolo-access_log common <Location /journal> RewriteEngine On # Let Apache handle purely static files like images by itself. RewriteCond %{REQUEST_FILENAME} !-f # Send Everything else to Rails RewriteRule ^(.*)$ dispatch.fcgi [QSA,L] </Location> <Directory /home/webmaster/troccoli.it/spagnolo/journal> # ExecCGI is required for mod_fcgid to work. Options Indexes FollowSymLinks ExecCGI # Disable .htaccess files. AllowOverride None Order allow,deny Allow from all # This tells mod_fcgid to run the dispatch.fcgi script as a FastCGI AddHandler fcgid-script .fcgi </Directory> </VirtualHost> ... Now, while my personal website (www.troccoli.it) works fine, if you go to the other one (spagnolo.troccoli.it) instead of the expected "Welcome aboard You''re riding the Rails!" I have the content of my DocumentRoot directory (which is not a big deal at the moment as I haven''t done anything yet). Try it yourself, you should be able to see it yourself. I know that I could run Apache for www.troccoli.it and WEBBrick for spagnolo.troccoli.it because they can run on different ports (and this is noather thing I don''t understand, do I have to use port 3000 if I use Apache???) but I''d like to have only one web server, possibly Apache. I am also not sure about the journal directory in the httpd-vhosts.conf. I have copied from a how-to post I found, but /home/webmaster/troccoli.it/spagnolo/journal does not exist. I have however tried also with <Location /> ... <Directory /home/webmaster/troccoli.it/spagnolo> but this time I have an error and the log says [Thu Jun 22 21:26:08 2006] [error] [client 192.168.69.22] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use ''LimitInternalRecursion'' to increase the limit if necessary. Use ''LogLevel debug'' to get a backtrace. I am really stuck guys, could you help me please? Thanks Giulio -- Posted via http://www.ruby-forum.com/.
<Directory /home/webmaster/troccoli.it/spagnolo/journal> should be <Directory /home/webmaster/troccoli.it/spagnolo/journal/public> -- Posted via http://www.ruby-forum.com/.
Michael Greenly wrote:> <Directory /home/webmaster/troccoli.it/spagnolo/journal> > > should be > > <Directory /home/webmaster/troccoli.it/spagnolo/journal/public>ignore that (accidently hit submit to quick ) DocumentRoot /home/webmaster/troccoli.it/spagnolo should be DocumentRoot /home/webmaster/troccoli.it/spagnolo/public -- Posted via http://www.ruby-forum.com/.
Michael Greenly wrote:> Michael Greenly wrote: >> <Directory /home/webmaster/troccoli.it/spagnolo/journal> >> >> should be >> >> <Directory /home/webmaster/troccoli.it/spagnolo/journal/public> > > ignore that (accidently hit submit to quick ) > > > DocumentRoot /home/webmaster/troccoli.it/spagnolo > > should be > > DocumentRoot /home/webmaster/troccoli.it/spagnolo/publicThanks Michael, but why should it? I mean, the public directory does not exist and I don''t want it. I want my document root to be spagnolo. Also I don''t understand if I should still have the <Directory /home/webmaster/troccoli.it/spagnolo/journal> or if I should change it to something else. Everything is very unclear to me, could you help me please? Giulio -- Posted via http://www.ruby-forum.com/.
Giulio Troccoli wrote:> Thanks Michael, but why should it? > > I mean, the public directory does not exist and I don''t want it. I want > my document root to be spagnolo. Also I don''t understand if I should > still have the <Directory /home/webmaster/troccoli.it/spagnolo/journal> > or if I should change it to something else. Everything is very unclear > to me, could you help me please? > > GiulioOk Michael, ignore my last comment. I didn''t notice that the public directory had been created by Rails. I don''t think it did the first time I used Rails (possibly becuase it wasn''t the same version). Anyway, you suggestion solve the puzzle (after I correct a mistype that was driven me crazy :-) Thanks again. Giulio -- Posted via http://www.ruby-forum.com/.
Michael Greenly wrote:> Michael Greenly wrote: >> <Directory /home/webmaster/troccoli.it/spagnolo/journal> >> should be >> <Directory /home/webmaster/troccoli.it/spagnolo/journal/public>> ignore that (accidently hit submit to quick ) > DocumentRoot /home/webmaster/troccoli.it/spagnolo > should be > DocumentRoot /home/webmaster/troccoli.it/spagnolo/publicIn addition I would suggest putting rails application in directory parallel to your other web sites: DocumentRoot /home/webmaster/spagnolo.troccoli.it/public When you put Rails application inside your html directory it''s source files are world-visible like this: http://www.troccoli.it/spagnolo/config/ Cheers, ?ukasz Piestrzeniewicz -- Posted via http://www.ruby-forum.com/.
?ukasz Piestrzeniewicz wrote:> In addition I would suggest putting rails application in directory > parallel to your other web sites: > > DocumentRoot /home/webmaster/spagnolo.troccoli.it/public > > When you put Rails application inside your html directory it''s source > files are world-visible like this: > > http://www.troccoli.it/spagnolo/config/ >Fair enough, thanks, I will do that. But, actually although I do have the "Welcome aboard" page, that''s all I can get. I have created a table (modes) with mysql CREATE TABLE `modes` ( `id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, `description` VARCHAR(45) NOT NULL DEFAULT '''', PRIMARY KEY(`id`) ) ENGINE = InnoDB; Then I have generated the controller and the model for it with ruby script/generate controller Mode ruby script/generate model Mode Then I changed the mode_controller.rb as class ModeController < ApplicationController scaffold :mode end But, if I go to spagnolo.troccoli.it/mode/new I don''t get what I expected but a 404 "The page cannot be found" error. Any idea why? Giulio -- Posted via http://www.ruby-forum.com/.
Try this in your vhost file: NameVirtualHost 80.41.94.168:80 #this becomes the default virtual host for clients which do not #pass the host header properly <VirtualHost 80.41.94.168:80> ServerName www.troccoli.it ServerAdmin giulio@troccoli.it DocumentRoot /home/webmaster/troccoli.it ErrorLog logs/troccoli.it-error_log CustomLog logs/troccoli.it-access_log common </VirtualHost> # this is only seen by clients who pass the host header spagnolo.troccoli.it properly <VirtualHost 80.41.94.168:80> ServerName spagnolo.troccoli.it ServerAdmin giulio@troccoli.it DocumentRoot /home/webmaster/troccoli.it/spagnolo/journal ErrorLog logs/spagnolo-error_log CustomLog logs/spagnolo-access_log common RewriteEngine On # Let Apache handle purely static files like images by itself. RewriteCond %{REQUEST_FILENAME} !-f # Send Everything else to Rails RewriteRule ^(.*)$ /dispatch.fcgi [QSA,L] <Directory /home/webmaster/troccoli.it/spagnolo/journal> # ExecCGI is required for mod_fcgid to work. Options Indexes FollowSymLinks ExecCGI # Disable .htaccess files. AllowOverride None Order allow,deny Allow from all # This tells mod_fcgid to run the dispatch.fcgi script as a FastCGI AddHandler fcgid-script .fcgi </Directory> </VirtualHost>
Steve Lawrence wrote:> Try this in your vhost file: > > NameVirtualHost 80.41.94.168:80 > > #this becomes the default virtual host for clients which do not > #pass the host header properly > > <VirtualHost 80.41.94.168:80> > ServerName www.troccoli.it > ServerAdmin giulio@troccoli.it > DocumentRoot /home/webmaster/troccoli.it > ErrorLog logs/troccoli.it-error_log > CustomLog logs/troccoli.it-access_log common > </VirtualHost> > > # this is only seen by clients who pass the host header > spagnolo.troccoli.it > properly > <VirtualHost 80.41.94.168:80> > ServerName spagnolo.troccoli.it > ServerAdmin giulio@troccoli.it > DocumentRoot /home/webmaster/troccoli.it/spagnolo/journal > ErrorLog logs/spagnolo-error_log > CustomLog logs/spagnolo-access_log common > RewriteEngine On > # Let Apache handle purely static files like images by itself. > RewriteCond %{REQUEST_FILENAME} !-f > # Send Everything else to Rails > RewriteRule ^(.*)$ /dispatch.fcgi [QSA,L] > <Directory /home/webmaster/troccoli.it/spagnolo/journal> > # ExecCGI is required for mod_fcgid to work. > Options Indexes FollowSymLinks ExecCGI > # Disable .htaccess files. > AllowOverride None > Order allow,deny > Allow from all > # This tells mod_fcgid to run the dispatch.fcgi script as a > FastCGI > AddHandler fcgid-script .fcgi > </Directory> > </VirtualHost>Basically you want me to take the Rewrite stuff out of the Location directive. I have tried it and now I don''t even have the "Welcome abroad" page bad a "Bad Request" page. Btw, I haven''t used the IP address because I can''t. I don''t want to have to log in, change the httpd.conf and restart Apache every time my server got disconnected and connects again to the internet. Was it a crucial part of your suggestion? Giulio -- Posted via http://www.ruby-forum.com/.
Because the problem is now different from the original one I have created another post. http://www.ruby-forum.com/topic/71586#99744 Please, reply to that one from now on. Giulio -- Posted via http://www.ruby-forum.com/.