Apache je trenutno najčešće korišteni web poslužitelj na svijetu. To je softver otvorenog koda koji održava The Apache Software Foundation. Prema podacima iz rujna 2020., procjenjuje se da poslužuje 36% cjelokupnog prometa web stranica u svijetu. Razvojni programeri ga vole zbog njegove brzine, sigurnosti, pouzdanosti i robusnosti. Njegova jednostavnost prilagodbe omogućuje mu da zadovolji potrebe mnogih okruženja instaliranjem proširenja i modula.
Apache dolazi sa sustavom podudaranja koji možete koristiti za hostiranje više domena ili web stranica pomoću jedne instalacije Apache poslužitelja izložene na jednoj IP adresi. Domene ili web stranice postavljaju se u jednoj od Apache konfiguracijskih datoteka definiranih kao virtualni domaćini.
Svaka domena ima jednu definiciju virtualnog domaćina s određenim direktorijem na koji upućuje. Kada korisnik posjeti domenu, poslužitelj ispituje svakog podudarajućeg virtualnog domaćina i odabire koji će koristiti za posluživanje zahtjeva posjetitelja ovisno o nazivu računala koji je unio. Ako se ne pronađe podudarajući naziv računala, poslužitelj koristi prvog definiranog virtualnog domaćina u conf datoteci kao rezervnu opciju. Posjetitelj će pristupiti web stranici koju je zatražio bez znanja da isti poslužitelj poslužuje druge stranice. Ovisno o resursima koje imate na svom poslužitelju i količini prometa koju može podnijeti, možete hostirati onoliko domena koliko želite.
U ovom vodiču provest ćemo vas kroz postavljanje virtualnih domaćina na Ubuntu 20.04 poslužitelju.
Prvo najvažnije
Kako biste pratili ovaj vodič, trebali biste imati instaliran Ubuntu 20.04. Također trebate stvoriti ne-root korisnika i prijaviti se s njim.
Koraci u ovom vodiču također zahtijevaju da imate instaliran Apache. Ako to već niste učinili, možete ga instalirati pomoću naredbi u nastavku. Možete pratiti naš LAMP Stack postavljanje – Linux Apache MySQL PHP vodič za detaljniji vodič za postavljanje.
|
1 2 |
sudo apt update sudo apt install apache2 |
Trebate imati registrirane besplatne ili plaćene nazive domena kod registratora domena po vašem izboru. Provjerite upućuju li domene na vaš poslužitelj konfiguriranjem DNS zapisa. Međutim, i dalje možete koristiti naše konfiguracije kako biste pratili korake u ovom vodiču. U ovom vodiču koristit ćemo example.dev i mydomain.com. Slobodno ih zamijenite vlastitima. Ako odlučite koristiti testne domene, tada se hosts datoteke na Apacheu moraju urediti kako bi upravljale domenama. Kako to učiniti, objasnit ćemo kasnije u vodiču.
Korak 1 – Postavljanje direktorija web stranice
To su direktoriji koji sadrže podatke web stranice kojima će pristupati posjetitelji vaše web stranice. Apacheov korijenski direktorij dokumenata koji je dostupan s interneta obično se nalazi u /var/www. Ovdje ćemo stvoriti direktorije za pojedinačne domene koje želimo hostirati. U svakom od direktorija dodat ćemo direktorij public_html koji će sadržavati stvarne datoteke web stranice. Virtualni domaćin upućuje na direktorij public_html. To vam daje fleksibilnost jer ključne datoteke web stranice možete držati izvan public_html, a unutra staviti samo javne datoteke.
Zatim unesite naredbe u nastavku kako biste stvorili direktorije. Uvijek se sjetite zamijeniti testne domene svojim stvarnim domenama za naknadna postavljanja:
|
1 2 |
sudo mkdir -p /var/www/example.dev/public_html sudo mkdir -p /var/www/mydomain.com/public_html |
Korak 2 – Promjena dozvola za čitanje i pisanje
Prethodne naredbe stvorile su strukturu direktorija, ali su zadržale vlasništvo za root korisnika. Želimo da naš ne-root korisnik ima puna prava čitanja i pisanja za te direktorije. Također želimo da opća javnost na webu ima dozvole za čitanje.
Najprije promijenite vlasništvo na ne-root korisnika unosom sljedeće naredbe:
|
1 2 |
sudo chown -R $USER:$USER /var/www/example.dev/public_html sudo chown -R $USER:$USER /var/www/mydomain.com/public_html |
$USER je varijabla koja preuzima vjerodajnice trenutno prijavljenog korisnika. Obični korisnik sada ima vlasništvo nad public_html. Zatim morate dodijeliti dopuštenja za čitanje općem webu. Sljedeća naredba omogućuje dopuštenje za sve datoteke u direktoriju, osiguravajući ispravno posluživanje web stranica:
|
1 |
sudo chmod -R 755 /var/www |
Nakon pokretanja prethodne tri naredbe, vaša web stranica sada može posluživati sadržaj. Osim toga, vaš korisnik može jednako tako stvarati sadržaj koji će se posluživati u određenim direktorijima. Ovdje možete pronaći više informacija o Ubuntu dopuštenjima.
Korak 3 – Stvaranje demo stranica u direktorijima za svaki virtualni poslužitelj
S uspostavljenom strukturom direktorija, vrijeme je za malo skriptiranja. Koristit ćemo HTML i uređivač teksta nano za stvaranje nekih osnovnih web stranica. Unesite sljedeću naredbu da biste otvorili nano i stvorili datoteku index.html u direktoriju za prvu domenu:
|
1 |
vim /var/www/example.dev/public_html/index.html |
U uređivač unesite sljedeći ogledni kod koji će se prikazati kada pristupimo domeni:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Dobrodošli na Example.dev!</title> </head> <body> <h1>Uspjeh! Virtualni example.dev poslužitelj host je aktivan!</h1> </body> </html> |
Nakon što zalijepite gornje retke, pritisnite “!wq” za spremanje i izlazak iz datoteke.
Stvorite stranicu index.html za drugu domenu pomoću uređivača nano unosom sljedeće naredbe:
|
1 |
vim /var/www/mydomain.com/public_html/index.html |
Zatim u uređivač zalijepite sljedeći HTML kod, spremite i izađite:
|
1 2 3 4 5 6 7 8 |
<html> <head> <title>Dobrodošli na Mydomain.com!</title> </head> <body> <h1>Uspjeh! Virtualni mydomain.com poslužitelj host je aktivan!</h1> </body> </html> |
Sada imate stranice za testiranje dvaju virtualnih poslužitelja koje ćemo stvoriti u sljedećem koraku.
Korak 4 – Stvaranje datoteka virtualnih poslužitelja za nazive domena
Datoteke virtualnih poslužitelja sadrže konfiguracije za svaki virtualni poslužitelj. One definiraju kako će se naziv domene posluživati. Nova instalacija Apachea dolazi sa zadanom datotekom virtualnog poslužitelja pod nazivom 000-default.conf koju možemo koristiti i prilagoditi našim domenama. Kao što vidite, završava s ekstenzijom .conf, što je ono što Ubuntu očekuje za konfiguracijske datoteke.
Konfiguracijske datoteke Apachea nalaze se u direktoriju /etc/apache2/sites-available. Tamo ćemo pohraniti naše datoteke virtualnih poslužitelja. Možemo kopirati zadanu conf datoteku i urediti je gdje je potrebno.
-
Stvorite prvu datoteku virtualnog poslužitelja za domenu example.dev
Unesite sljedeću naredbu za stvaranje example.dev.conf kopiranjem zadane conf datoteke:
|
1 |
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/example.dev.conf |
Zatim otvorite stvorenu datoteku pomoću nano uređivača sa sudo privilegijama koristeći sljedeću naredbu:
|
1 |
sudo nano /etc/apache2/sites-available/example.dev.conf |
Zadana conf datoteka izgleda kao na snimci zaslona u nastavku. Komentari služe kao smjernice. Možemo ih ukloniti i ostaviti samo čistu datoteku sa stvarnim konfiguracijskim linijama:

Morate prilagoditi ovu datoteku za naziv svoje domene i putanju direktorija u kojem ste spremili datoteke web stranice. Osim toga, ažurirat ćemo i dodati nekoliko direktiva u datoteku. Već ima direktivu ServerAdmin, koja sadrži e-mail adresu na koju će administrator poslužitelja primati e-poruke. Također ima direktivu DocumentRoot, koja pokazuje na direktorij u kojem ste pohranili datoteke web stranice.
Moramo dodati dvije nove direktive: ServerName i ServerAlias. ServerName postavlja naziv bazne domene. To je mjesto gdje unosite svoju domenu. ServerAlias definira druge nazive koje bi Apache trebao podudarati kao da su naziv bazne domene. Omogućuje vam podudaranje hostova poput www.
Ažurirajte datoteku da izgleda kao što je prikazano u nastavku:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@example.dev ServerName example.dev ServerAlias www.example.dev DocumentRoot /var/www/example.dev/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Nakon toga, prikladno ažurirajte svoje domene i e-poštu. Kada završite, pritisnite CTRL + O i ENTER za spremanje datoteke. Za izlaz iz uređivača pritisnite CTRL + X.
-
Stvorite prvu datoteku virtualnog hosta za domenu mydomain.com
Možemo samo kopirati virtualni host za prvu domenu i ažurirati ga gdje je potrebno za drugu domenu. Koristite sljedeću naredbu za kopiranje datoteke:
|
1 |
sudo cp /etc/apache2/sites-available/example.dev.conf /etc/apache2/sites-available/mydomain.com.conf |
Zatim je otvorite u nano uređivaču pomoću naredbe:
|
1 |
sudo nano /etc/apache2/sites-available/mydomain.com.conf |
Pronađite direktive i prikladno ih ažurirajte kako bi datoteka izgledala kao što je prikazano u nastavku:
|
1 2 3 4 5 6 7 8 |
<VirtualHost *:80> ServerAdmin admin@mydomain.com ServerName mydomain.com ServerAlias www.mydomain.com DocumentRoot /var/www/mydomain.com/public_html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> |
Kada završite, spremite datoteku i izađite iz uređivača.
Korak 5 – Omogućavanje datoteka virtualnog hosta
U četvrtom koraku stvorili smo datoteke virtualnog hosta. Međutim, one nisu funkcionalne dok ih ne omogućite. Apache ima alat pod nazivom a2ensite koji ćemo koristiti za omogućavanje virtualnih hostova.
Unesite sljedeće dvije naredbe kako biste omogućili virtualne hostove:
|
1 2 |
sudo a2ensite example.dev.conf sudo a2ensite mydomain.com.conf |
Izlaz gornjih naredbi je kao što je prikazano u nastavku:

Zatim biste trebali onemogućiti zadanu konfiguracijsku datoteku, koristimo Apache alat a2dissite za onemogućavanje web stranica. Unesite sljedeću naredbu:
|
1 |
sudo a2dissite 000-default.conf |
Kao što se vidi iz izlaza, morate ponovno pokrenuti Apache kako bi se konfiguracije primijenile. Koristite sljedeću naredbu:
|
1 |
sudo systemctl restart apache2 |
Zatim provjerite status Apacheja pomoću sljedeće naredbe:
|
1 |
sudo systemctl status apache2 |
Izlaz pokazuje da je vaš poslužitelj pokrenut i radi te da može posluživati dvije web stranice.

Korak 6 – Izmijenite lokalne hostove s primjernim domenama
Ako niste registrirali stvarnu domenu, već ste umjesto toga koristili testne domene, morat ćete ažurirati svoje lokalne hosts datoteke. One moraju presresti promet i usmjeriti ga na direktorij vaše web stranice kada navigirate do bilo koje od domena postavljenih u datotekama virtualnih hostova. Zapamtite da će ovo raditi samo na vašem lokalnom računalu. Ako vaše lokalno računalo pokreće operacijski sustav Windows, tada slijedite upute za postavljanje hosts datoteke na ovoj poveznici.
Ako ste na Mac ili Linux računalu, hosts datoteka se nalazi u direktoriju /etc. Koristit ćemo nano uređivač za otvaranje i dodavanje naših testnih domena. Najprije pronađite IP adresu svog VPS-a unosom sljedeće naredbe:
|
1 |
curl -4 icanhazip.com |
Unesite sljedeću naredbu kako biste otvorili datoteku i ažurirali je s IP adresom vašeg poslužitelja:
|
1 |
sudo nano /etc/hosts |
|
1 2 3 4 |
127.0.0.1 localhost 127.0.1.1 ComputerName your_server_IP example.dev your_server_IP mydomain.com |
Zatim spremite i zatvorite datoteku. Kad god unesete naziv domene u svoj preglednik, najprije se provjerava hosts datoteka. Ako je naziv domene pronađen, promet se usmjerava na navedenu IP adresu. Ako nije pronađen, koristi se DNS sustav za globalno preusmjeravanje. Za naše testne domene, promet će biti usmjeren na navedenu IP adresu.
Korak 7 – Testirajte svoje virtualne hostove
S postavljenim nazivima domena, možete testirati rade li tako da ih provjerite u pregledniku/terminalu:
|
1 |
curl http://example.dev |
Izlaz bi trebao prikazati nešto poput ovoga:

|
1 |
http://mydomain.com |

Čestitamo! Uspješno ste konfigurirali dvije web stranice za rad na jednom poslužitelju.
Zaključak
U ovom ste vodiču naučili kako konfigurirati svoj Apache poslužitelj za posluživanje više od jedne web stranice. Ako želite dodati još web stranica, to možete učiniti prateći korake i postavljajući virtualne hostove. Apache može podnijeti onoliko domena koliko želite, sve dok resursi vašeg poslužitelja to mogu podnijeti.
Sretno s radom!
Komentari
Još nema komentara. Budite prvi.