
Kako napraviti virtualni host na WebServeru: Apache
Šta je virtualni host?
Apache WebServer je popularni open-source Web Server koji nudi fleksibilnost, snagu i podršku developerima za brojne tehnologije koje koriste. Konfiguracija Apache servera se ne nalazi u samo jednom fajlu, već je veoma modularnog dizajna, gde fajlovi mogu biti dodavani i menjani kako je potrebno. Kroz ovaj modularni dizajn, može se kreirati pojedinačni virtualni host za svaki sajt, po potrebi. Dakle, jedan takav konfiguracioni fajl, koji je vezan za domen (u daljem tekstu: sajt) se naziva virtualni host.
Koristeći virtualne hostove, jedna Apache instanca može pokretati više različitih sajtova. Svaki domen, ili individualni sajt koji je konfigurisan koristeći navedeni WebServer će usmeriti posetioca na specifični direktorijum koji sadrži fajlove i informacije o traženom sajtu. Ovaj način podešavanja Web Servera je pogodan jer posetiocu ne odaje informacije o drugim sajtovima, a koji se potencijalno nalaze na istom VPS. Ovakva šema je proširiva dokle god sam server može da izdrži potencijalni load.
U ovom tekstu, opisaćemo kako podesiti virtualni host na WebServeru Apache, na operativnom sistemu Ubuntu 20.04. Takođe će biti opisane razlike kako bi ista ova akcija bila izvedena na RHEL-based operativnim sistemima.
Šta je potrebno pre podešavanja virtualnog hosta na VPS serveru?
Korak 1: Kreiranje direktorijuma
Pre svega, potrebno je da imamo virtualni server (VPS) gde ćemo podešavati naš sajt. Ako nemate server, možete poručiti VPS Cloud server na našem portalu, a ukoliko ne želite da sami podešavate Apache „od nule“, možete poručiti server sa već preinstaliranim LAMP stack-om (Linux WebServer sa Apache, MySQL-om i PHP-om).
Takođe, biće nam potreban plan gde hoćemo da kreiramo naš sajt. U ovom primeru, koristićemo uobičajenu Apache-ovu strukturu sajtova, pa ćemo se na nju nadovezati sa našim sajtom, koji ćemo smestiti u public_html direktorijum. Dakle, naša putanja, koju ćemo koristiti je: /var/www/html/our_domain/public_html. Takođe, da bismo imali i lepši pregled logova, njih ćemo da izdvojimo u zaseban direktorijum, /var/www/html/our_domain/logs. Ovo ćemo postići tako što ćemo na našem serveru ukucati sledeće komande, naravno kao Root:
mkdir -pv /var/www/html/our_domain/public_html;
mkdir -pv /var/www/html/our_domain/logs;
Our_domain je potrebno zameniti domenom koji će biti u upotrebi. Nakon što smo kreirali navedene direktorijume, potrebno im je dodeliti određene permisije.
Korak 2: Dodavanje permisija i fajlova za sajt
Sada, kada smo kreirali naše direktorijume gde ćemo ubacivati fajlove, moramo im dodati permisije, kako bi Apache mogao prići tim direktorijumima i čitati/pisati u njih. Ovo postižemo komandom chown.
chown -Rf www-data:www-data /var/www/html/our_domain/public_html;
chown -Rf www-data:www-data /var/www/html/our_domain/logs;
Primetićete da je u komandi navedenoj iznad korišćen korisnik www-data. Na Ubuntu OS Apache se pokreće pod korisnikom www-data, dok se na RHEL-based operativnim sistemima, korisnik koji pokreće Apache zove apache. Da bismo mogli da vidimo naš sajt, sada je potrebno da napravimo neki fajl koji će nam prikazati sadržaj našeg sajta. Za primer, neka je to .html stranica.
Našu najosnovniju stranicu možemo da kreiramo putem nano tekstualnog editora, a komanda koju ćemo pokrenuti je: nano /var/www/html/our_domain/public_html/index.html. Dobijamo prazan fajl, u koji možemo uneti sledeći tekst:
<html>
<head>
<title>Welcome to Our Domain Website!</title>
</head>
<body>
<h1>Hello there! Our Domain just went live!</h1>
</body>
</html>
Nakon što smo dodali sadržaj, potrebno je sačuvati fajl (CTRL + x i Shift +y), i još jednom pokrenuti dve komande navedene iznad ( chown -Rf www-data:www-data /var/www/html/our_domain/public_html && chown -Rf www-data:www-data /var/www/html/our_domain/logs ).
Kreiranje virtualnog hosta na VPS serveru
Korak 1: Kreiranje fajla virtualnog hosta
Na Debian-olikim operativnim sistemima, kao što su Debian, Ubuntu, Kali, etc… Apache dolazi sa već konfigurisanim podrazumevanim virtualnim hostom, pod imenom 000-default.conf i default-ssl.conf ukoliko želimo SSL na našem sajtu. Na RHEL distribucijama, ovo nije slučaj.
Kako je gore pomenuto, najlakši način za kreiranje fajla jeste koristiti tekstualni editor nano. Najlakši način jeste kopirati Apache-ov prekonfigurisani virtualni host, ali kako je potrebno praviti izmene, pokazaćemo kako da sami napišete vaš lični virtualni host.
Pokrenućemo komandu: nano /etc/apache2/sites-available/our_domain.conf i dobićemo fajl gde treba upisati sledeće:
<VirtualHost *:80>
ServerName our_domain.com
ServerAlias www.our_domain.com
ServerAdmin admin@our_domain.com
DocumentRoot /var/www/html/our_domain/public_html
<Directory /var/www/html/our_domain.com/public_html>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog /var/www/html/our_domain/logs/error.log
CustomLog /var/www/html/our_domain/logs/access.log combined
</VirtualHost>
Sada, kada smo sačuvali naš fajl virtualnog hosta (CTRL + x i Shift +y), preporuka je prvo testirati konfiguraciju koju smo napravili:
apache2ctl configtest
Ako smo dobili odgovor: Syntax OK, možemo da aktiviramo naš virtualni host komandom:
a2ensite our_domain.conf
Nakon aktivacije virtualnog hosta, možemo restartovati naš Apache Web server komandom:
systemctl restart apache2
I, vaš sajt je Ready-to-go!
Korak 2: Testiranje
Ako je sve urađeno kako treba, dobićemo rezultat kao na slici ispod:
Zaključak
Kao što se da videti iz ovog teksta, virtualne hostove na Apache WebServeru je veoma lako podesiti. Njegov modularni sistem dozvoljava da se dodaje više sajtova u sklopu virtualnih hostova, što znači da ne morate da za svaki sajt zakupljujete novi VPS. Dovoljno je samo napraviti novi virtualni host za svaki domen, ponaosob. U ovom tekstu nije pokrivena SSL konfiguracija virtualnog hosta, to ćemo obratiti u zasebnom tekstu.
Ako vam je potrebna pomoć u radu, naša podrška je i više nego spremna da vam odgovori na sva vaša pitanja i nedoumice.
PS. Pogledajte i kako da napravite virtualni host na Nginx WebServeru.
Bez komentara