[how-to] Szybka konfiguracja virtualnych hostow

Awatar użytkownika
Sir_Yaro
Przyjaciel
Przyjaciel
Posty: 91
Rejestracja: 22 maja 2005, 21:33
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

[how-to] Szybka konfiguracja virtualnych hostow

Post autor: Sir_Yaro » 01 sie 2007, 19:46

The term Virtual Host refers to the practice of maintaining more than one server on one machine, as differentiated by their apparent hostname. For example, it is often desirable for companies sharing a web server to have their own domains, with web servers accessible as http://www.company1.com and http://www.company2.com, without requiring the user to know any extra path information.


Pokaze cały proces na przykladzie mojego serwera gdzie mam/mialem kilka roznych usług, stron i portali. Niektore dane troche zmienilem bo nie chce miec nadmiarowych odwiedzin od roznych debili... :P

Zalozmy ze na tym samym kompie mamy kilka stron i chcemy je miec pod roznymi adresami yaro.pl, mail.yaro.pl, http://www.justget.org i http://www.mandrivalinux.eu.

Kod: Zaznacz cały

sudo apt-get install mc
przechodzimy do odpowiedniego katalogu:

Kod: Zaznacz cały

cd /etc/apache2/sites-available/
tworzymy konfiguracje dla yaro.pl:

Kod: Zaznacz cały

sudo mcedit yaro.pl
wklejamy ponizsze i zapisujemy (F2):
UWAGA!!! PO ZNAKU < NIE MA BYC SPACJI!! DODALEM JA BO FORUM NIE CHCIALO WYSWIETLIC CALEJ LINIJKI!

Kod: Zaznacz cały

< VirtualHost *>
        ServerAdmin [email]yaro@yaro.pl[/email]
        ServerName  www.yaro.pl
        ServerAlias yaro.pl

        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /var/www

        # Logfiles
        ErrorLog  /var/log/apache2/yaro.pl-error.log
        CustomLog /var/log/apache2/yaro.pl-access.log combined
< /VirtualHost>
tworzymy konfiguracje dla mail.yaro.pl:

Kod: Zaznacz cały

sudo mcedit mail.yaro.pl
wklejamy ponizsze i zapisujemy (F2):

Kod: Zaznacz cały

< VirtualHost *>
        ServerAdmin [email]yaro@yaro.pl[/email]
        ServerName  mail.yaro.pl
        ServerAlias mail.yaro.pl

        # Indexes + Directory Root.
        DirectoryIndex index.php index.html
        DocumentRoot /usr/share/squirrelmail

        # Logfiles
        ErrorLog  /var/log/apache2/mail.yaro.pl-error.log
        CustomLog /var/log/apache2/mail.yaro.pl-access.log combined
< /VirtualHost>
tworzymy konfiguracje dla justget.org:

Kod: Zaznacz cały

sudo mcedit justget.org
wklejamy ponizsze i zapisujemy (F2):

Kod: Zaznacz cały

< VirtualHost *>
        ServerAdmin [email]jakisadres@jaksdomena.org[/email]
        ServerName  www.justget.org
        ServerAlias justget.org *.justget.org

        # Indexes + Directory Root.
        DirectoryIndex index.php 
        DocumentRoot /var/www/justget

        # Logfiles
        ErrorLog  /var/log/apache2/justget.org-error.log
        CustomLog /var/log/apache2/justget.org-access.log combined
< /VirtualHost>
tworzymy konfiguracje dla mandrivalinux.eu:

Kod: Zaznacz cały

sudo mcedit mandrivalinux.eu
wklejamy ponizsze i zapisujemy (F2):

Kod: Zaznacz cały

< VirtualHost *>
        ServerAdmin [email]jakisadres@mandrivalinux.eu[/email]
        ServerName  www.mandrivalinux.eu
        ServerAlias mandrivalinux.eu

        # Indexes + Directory Root.
        DirectoryIndex cmps_index.php index.php
        DocumentRoot /var/www/mandriva.forum

        # Logfiles
        ErrorLog  /var/log/apache2/mandrivalinux.eu-error.log
        CustomLog /var/log/apache2/mandrivalinux.eu-access.log combined
< /VirtualHost>
konfiguracje sa gotowe teraz trzeba je tylko wlaczyc. wykonujemy:

Kod: Zaznacz cały

sudo a2ensite yaro.pl
sudo a2ensite mail.yaro.pl
sudo a2ensite justget.org
sudo a2ensite mandrivalinux.eu
sudo /etc/init.d/apache2 reload
i juz kazda z domen od razu przekierowuje do odpowiedniego katalogu. w logach nie pojawiaja sie zadne bledy i wszystko jest super :P

Oczywiscie przedtem nalezy wyzej wspomniane domeny skierowac na nasz serwer bo cuda sie nie dzieja i bez skonfigurowania dns'ow to nie bedzie dzialac.. :)

Mialem jeszcze pytanie jak zrobic aby strona np yaro.pl automatycznie sie zmieniala na http://www.yaro.pl Jest to bardzo proste. W odpowiednim katalogu (tam gdzie wskazuje pozycja DocumentRoot) tworzymy plik .htaccess a w nim zapisujemy (lub dopisujemy tylko TRZECIA i CZWARTA linie jesli plik istnieje i pierwsze dwie linie juz tam sa ):

Kod: Zaznacz cały

DirectoryIndex index.php index.htm index.html
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yaro\.pl
RewriteRule ^(.*)$ http://www.yaro.pl/$1 [R=permanent,L]
teraz kazde wywolanie yaro.pl/costam/costam.php zostanie automatycznie zmienione na http://www.yaro.pl/costam/costam.php
Awatar użytkownika
Sir_Yaro
Przyjaciel
Przyjaciel
Posty: 91
Rejestracja: 22 maja 2005, 21:33
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: KDE Plasma
Architektura: x86_64
Kontakt:

Odp: [how-to] Szybka konfiguracja virtualnych hostow

Post autor: Sir_Yaro » 15 mar 2008, 23:20

jesli przy przeladowaniu serwera dostajemy:

Kod: Zaznacz cały

apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
Do /etc/apache2/httpd.conf nalezy dopisac:

Kod: Zaznacz cały

ServerName www.nazwa.serwera.pl

EDIT:
Dzieki uprzejmosci dk75
dk75 pisze:Ja w sprawie FQDN.
A jeśli w następnej wersji Apache2 plik "httpd.conf" zostanie usunięty (już jest na wylocie i zostawili go tylko ze względu na kompatybilność wsteczną)?
Nie lepiej załatwić brak FQDN systemowo?
Np. dopisać do "/etc/hosts":

Kod: Zaznacz cały

127.0.0.100 moja.strona moja
Co wpiszesz i na jakim adresie z puli 127.0.0.x to nie ważne, ważne tylko aby spełniało wymagania FQDN - czyli adres, pełna nazwa w postaci hosta.domena i aliast w postaci host (np. 127.0.0.2 host.domena host)

To jaką tam stronę wpiszesz jest nie ważne (ja mam 127.0.0.100 Yakumo.Tsukamoto.net Yakumo), ważne, że będzie jakiś (wzięty z sufitu) FQDN i Apache2 nie będzie się pluł.
ODPOWIEDZ

Wróć do „Software-Sieć”