Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I've search online and been reading documentation for Apache, Passenger, Rack, etc, but have yet to find a solution to my problem.

I have several Rack (ruby)-based apps, located in

/home/web/sites/app1
/home/web/sites/app2
/home/web/sites/app3

app1 is a Sintra app, app2 is Padrino and app3 is Rails.

I would like to run these apps under different ports (assuming server IP is 50.60.70.101):

50.60.70.101:4567 -> app1
50.60.70.101:3000 -> app2
50.60.70.101:80   -> app3

What is the correct way to configure Apache's virtual host file to achieve this?

I have 3 files in /etc/apache2/sites-available/ with this type of configuration (with changed IPs):

<VirtualHost *:4567>
    RackEnv         production

    DocumentRoot    /home/web/sites/app1/public
    <Directory      /home/web/sites/app1/public>
        Order   allow,deny
        Allow   from all
        Options -MultiViews
        #AllowOverride All
    </Directory>
</VirtualHost>

But I cannot access app1 at 50.60.70.101:4567 (app3 does work on port 80, though).

share|improve this question
    
I'm assuming you mean port when you say IP as you haven't mentioned an IP other than 50.60.70.101. What error do you receive when accessing Apache on either of the higher ports? 50.60.70.101:4567 and 50.60.70.101:3000 –  mtm Aug 17 '12 at 8:28
    
That's correct, I stated that I want to run these apps under different ports with the same IP address. Accessing the ports in the browser, or pinging them times outs. –  Arman H Aug 18 '12 at 7:51
add comment

1 Answer

You'll need to explicitly tell Apache to listen on those ports with the Listen directive; have a look at Binding to Addresses and Ports.

share|improve this answer
    
/etc/apache2/ports.conf contains the following directives: NameVirtualHost *:80 NameVirtualHost *:3000 NameVirtualHost *:4567 Listen 80 Listen 3000 Listen 4567 Relevant output for netstat -tulpn: tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN - tcp 0 0 0.0.0.0:4567 0.0.0.0:* LISTEN - –  Arman H Aug 18 '12 at 7:52
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.