Apache2 virtual hosts

Apache2 ir serviss, kur nodrošina Jūsu serverim WEB servera funkcionalitāti. Tas nozīmē, ka Jūsu serveris atbild uz HTTP un HTTPS pieprasījumiem, kuri pēc noklusējuma notiek izmantojot TCP 80 un 443 portu. Pēc noklusējuma Apache2 nešķiro un atbild uz visiem pieprasījumiem. Bet ir situācijas, kad uz viena servera nepieciešams uzturēt vairākas adreses (domēnus). Tad ir jāprot veidot virtuālie hosti (Virtual Hosts). Virtuālie hosti pēc būtības ir konfigurācijas faili, kuri norāda uz kādām adresēm (domēniem) ir jāatbil un kāds saturs ir jāattēlo, precīzāk, no kuras mapes nepieciešams nolasīt HTML, PHP, utt. failus. Pēc noklusējuma visi lapu faili glabājas /var/www/ mapē uz servera. Katram hostam/domēnam veido atsevišķu apakšmapi. Piemēram /var/www/vitalijss.lv un /var/www/negribumacities.lv Tālāk, nepieciešams veidot virtuālos hostus, jeb konfigurācijas failus, kuri novirzīs attiecīgos pieprasījumus uz šīm lapām. Virtuālo hostu konfigurācijas faili Apache2 serverim atrodas /etc/apache2/sites-avaiable/ mapē. Jaunākajā Apache2 versijā konfigurācijas failiem jābūt paplašinājumam .conf Lai izveidotu jaunu konfigurācijas failu domņam vitalijss.lv jāraksta komanda

# nano /etc/apache2/sites-available/vitalijss.lv.conf

Atvērsies tukš fails, kurā jāveic ieraksti. Visvienkāršākā konfigurācija, lai atvērtos lapa:

<VirtualHost *:80>
    DocumentRoot "/var/www/vitalijss.lv"
    ServerName vitalijss.lv
</VirtualHost>

Tā ir pati minimālākā konfigurācija.

<VirtualHost *:80> nozīmē, ka Jūsu serveris atbildēs uz visiem vaicājumiem 80 portā.
DocumentRoot “/var/www/vitalijss.lv” norāda, kur serverī atrodas nepieciešamie mājas lapas faili, ko attēlot.
ServerName vitalijss.lv norāda, uz kādu domēnu ir “jāatsaucas”. Ja tiek pieprasīts cits domēna vārds, vai apakšdomēns, tad serveris neatbildēs un netiks attēlota mājaslapa.

Kad konfigurācija ir ievadīta, saglabāta un lapas faili atrodas uz servera pareizajā mapē (kura norādīta konfigurācijā), tad nepieciešams ir aktivizēt šo virtuālo hostu. To dara ar vienkāršu komandu:

a2ensite vitalijss.lv.conf

Tad ir jāpārlādē Apache2 konfigurācija. Komanda:

# systemctl reload apache2

Ja nepieciešams deaktivizēt virtuālo hostu, tad raksta komandu:

a2dissite vitalijss.lv.conf

Un atkal ir jāpārlādē apache2 konfigurācija.

Lai redzētu visas aktīvās konfigurācijas, var apskatīties uz servera mapes /etc/apache2/sites-enabled/ . Lai apskatītu visas pieejamās virtuālo hostu konfigurācijas, var apskatīt mapes /etc/apache2/sites-available/ saturu.

Svarīga piebilde, lai web serveris varētu attēlot Jūsu web lapu, mapei uz servera jābūt lasāmai www-data lietotājam.