2013-09-30 11 views
5

Mam na swojej sieci lokalnej serwer Ubuntu z Apache2 na nim.Serwery wirtualne Apache: różne ścieżki służą różnym aplikacjom na tym samym IP

Chciałbym zarządzać różnymi aplikacjami na tym samym serwerze, gdy poprosisz o adres URL dedykowanej aplikacji.

E.g.

http://192.168.0.25/my_app_1 -> responds with app1 (for example a Ruby on Rails app) 
http://192.168.0.25/my_app_2 -> responds with app2 (for example a php website) 
[...] 
# where 192.168.0.25 is the IP of the server 

Uważam, że odbywa się to poprzez prawidłowe skonfigurowanie wirtualnych hostów w Apache2.

W tej chwili konfiguracja próbka APP1 (tj Ruby on Rails) jest jak następuje:

<VirtualHost 192.168.0.25:80> 
DocumentRoot path_to_my_public_app1_folder 
<Directory path_to_my_public_app1_folder> 
    Options -MultiViews 
    AllowOverride All 
</Directory> 
RailsEnv production 
</VirtualHost> 

Jak można określić ścieżkę sub? Może coś takiego?

<VirtualHost 192.168.0.25/my_app1:80> 

Czy robię to dobrze? Ponieważ w tej chwili otrzymuję 404 (nawet niestandardowa strona Apache "It's work!")

Odpowiedz

8

VirtualHost oznacza coś innego. Pozwala on (w skrócie) na hostowanie witryn odpowiadających różnym nazwom, na przykład:

http://mydomain.com 
http://anotherdomain.com 

na tym samym serwerze. Więc pomyśl o tym jako o wirtualnych aplikacjach, wszystkie na tym samym komputerze, ale zidentyfikowane przez różne nazwy.

Twój przypadek jest inny. Chcesz skonfigurować instancję 192.168.0.25 i sposób wyświetlania różnych żądań. Więc po części hosta w adresie URL: http://HOST/PATH_TO_APP

dla instancji w odpowiedzi na 192.168.0.25 należy zmodyfikować domyślny config w

/etc/apache2/sites-available/default 

Można dodać następujące:

Alias /my_app_1 path_to_my_public_app1_folder 
Alias /my_app_2 path_to_my_public_app2_folder 
+0

+1 dziękuję za kompletną odpowiedź, teraz działa! :) – damoiser