Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
NameVirtualHost, jedno IP, wiele domen - konfiguracja Apache2
#1
Jeżeli na jednej maszynie i jednym IP obsługujemy wiele domen, musimy skonfigurować NameVirtualHost.
Musimy znaleźć plik httpd.conf (/etc/apache2/httpd.conf - dla Debiana) gdzieś w folderze apache2.
Na początku httpd.conf tworzymy wpis:

Kod:
NameVirtualHost [b]ip:port[/b]
Gdzie:
- ip to zewnętrzny adres naszego serwera (albo ten, na którym chcemy udostępniać usługe).
- port czyli numer portu na którym pracuje nasz serwer (zazwyczaj 80).

Przykład:
Kod:
NameVirtualHost 79.77.134.56:80

Ten kod daje znać, że będziemy działać na jednym IP. Jeżeli chcemy operować na wszystkich dostępnych IP zamiast IP dajemy gwiazdke *

Następnie musimy dodać wpisy (VirtualHost) dla poszczególnych domen, subdomen lub odwołań po IP.

Kod:
<VirtualHost 79.77.134.56:80>
    ServerName www.domena.pl
    ServerAlias domena.pl
    ServerAdmin admin@domena.com
    DocumentRoot /var/www/domena
</VirtualHost>

<VirtualHost 79.77.134.56:80>
    ServerName www.subdomena.domena.pl
    ServerAlias subdomena.domena.pl
    ServerAdmin admin@domena.com
    DocumentRoot /var/www/domena/subdomena
</VirtualHost>

<VirtualHost 79.77.134.56:80>
    ServerName www.innadomena.pl
    ServerAlias innadomena.pl
    ServerAdmin admin@innadomena.com
    DocumentRoot /var/www/innadomena
</VirtualHost>

<VirtualHost _default_>
    ServerName 79.77.134.56
    ServerAdmin admin@domena.com
    DocumentRoot /var/www/default
</VirtualHost>

Po słowie VirtualHost musi wystąpić to samo IP co po dyrektywie NameVirtualHost.
ServerName oznacza pełną nazwe dla domeny, ServerAlias to jest druga nazwa i tutaj zazwyczaj dajemy nazwe domeny bez www, tak żeby mozna sie bylo odwoływać na dwa sposoby (www.domena.pl i domena.pl).
ServerAdmin to nasz e-mail.
Natomiast DocumentRoot to scieżka, na serwerze na którą ma wskazywać domena.

W tej konfiguracji co podałem najpierw zadeklarowałem domene i miejsce na które ma wskazywać, potem subdomene dla tej domeny. Następnie zadeklarowałem inną domene.
Na końcu zadeklarowałem _default_ czyli jaką lokacje pokaże nam apache2, jeśli odwołamy sie po IP, albo po domenie, która nie została wyżej zadeklarowana.

INFO: Samo zadeklarowanie adresu IP i portu w dyrektywnie NameVirtualHost nie znaczy, że serwer będzie na takiej nasłuchiwał. To już trzeba zadeklarować w apache2.conf

Więcej na ten temat można znaleźć tutaj: http://httpd.apache.org/docs/2.0/vhosts/name-based.html
Chcesz pomóc? Wstaw jako sygnature na innym forum:
[Obrazek: 993a3cb39134bda0.gif]
Kod znajdziesz tutaj: http://forum.pcmod.pl/viewtopic.php?pid=522#p522

Asus P5K WS :: E2160 @ 3,63GHz BOX :: 2x1GB Geil Ultra DDR2 800MHz CL4 :: Galaxy 7600GS 128MB 1.4ns 500/1400 @ 600/1800 16k 03 :: Seagate ST3250410AS 250GB :: Amacrox Warrior AX-450PNF
Odpowiedz


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości