Da biste upravljali web lokacijom na lokalnom poslužitelju, morate instalirati mnoge dodatne komponente koje organiziraju jedinstveni sustav koji funkcionira glatko i bez grešaka. Jednom od glavnih komponenti takve strukture može se smatrati web poslužitelj. Korisnici najčešće preferiraju upotrebu Apachea zbog njegove jednostavnosti i fleksibilnosti konfiguracije, kao i mogućnosti povezivanja vanjskih modula. Međutim, instalacija i osnovna konfiguracija nije brz proces, a nekima je čak i težak, pa bismo željeli o tome detaljnije razgovarati, uzimajući za primjer distribuciju CentOS 7.
Instalirajte Apache na CentOS 7
Struktura današnjeg članka bit će postupna tako da čak i korisnik početnik razumije točno kako se provodi instalacija i priprema dotičnog web poslužitelja. Pojasnimo odmah da ne pružamo vodiče za detaljnu konfiguraciju Apachea, jer to ovisi o osobnim željama korisnika i preostalim važnim dostupnim komponentama. Za ove podatke uvijek preporučujemo pozivanje na službenu dokumentaciju.
Korak 1: priprema i instalacija
Krenimo odmah s instaliranjem komponenata Apache i dodavanjem svih pratećih usluga. Predlažemo da za to upotrijebite spremište distribucije, jer se tamo uvijek prenese najnovija stabilna verzija softvera, a sam postupak instalacije ne traje puno vremena.
- Trčanje "Terminal", na primjer, kroz ikonu u odjeljku Favoriti.
- Ako ste prethodno instalirali Apache na računalo ili ste slučajno uklonili jednu od njegovih komponenata, samo upotrijebite naredbu
sudo yum ažuriranje httpd
aktiviranjem pritiskom na tipku Unesi. - Ova se radnja izvodi u ime superkorisnika, što znači da ćete je morati potvrditi navođenjem lozinke za ovaj račun.
- Ako su instalirana ažuriranja, o tome ćete biti obaviješteni, a ako paket nedostaje, pojavit će se druga poruka odgovarajuće prirode.
- Sada razgovarajmo o instaliranju Apachea od nule. Kao što smo već rekli, za to ćemo koristiti službena spremišta, stoga trebate unijeti naredbu
sudo yum instaliraj httpd
. - Kad se pojavi obavijest o instalaciji paketa, potvrdite je odabirom opcije g.
- Pričekajte da se instalacija dovrši, tijekom toga ne zatvarajte trenutnu sesiju terminala kako ne biste prekinuli postupak.
- Kada završite, odmah se preporučuje pokretanje web poslužitelja, što se može učiniti putem
sudo systemctl start httpd
. - Provjerite trenutni status putem
sudo systemctl status httpd
. - Obavijest "Aktivan: aktivan (pokrenut)" znači da Apache sada ispravno funkcionira i možete nastaviti s njegovom daljnjom konfiguracijom.
To je bilo sve što je trebalo znati o osnovnom postupku instalacije web poslužitelja. Kao što vidite, u tome nema ništa komplicirano. Dalje, želimo razgovarati o interakciji s glavnim uslugama i postavljanju osnovne konfiguracije, a vama ostaje da odlučite trebate li proučiti ove upute ili već imate znanje o konfiguraciji i upravljanju.
Korak 2: Upravljanje uslugom Apache
Web poslužitelj na CentOS-u, kao i druge distribucije, radi u pozadini kao usluga. Prema zadanim postavkama dodaje se u pokretanje, a o aktivaciji i provjeri statusa već smo ranije razgovarali. Ako želite upravljati ovim alatom, to se radi na sljedeći način:
- Unesi
sudo systemctl stop httpd
da potpuno zaustavi Apača. - Ova i sve naredne naredbe izvršavat će se u ime nadkorisnika, pa ćete je morati potvrditi unošenjem odgovarajuće lozinke.
- Do ponovnog pokretanja dolazi putem naredbe
sudo systemctl ponovno pokrenite httpd
... Ova je naredba relevantna u onim situacijama kada se poslužitelj sruši ili ga treba ponovno pokrenuti zbog osobitosti interakcije s drugim komponentama. - Koristiti
sudo systemctl ponovno učitaj httpd
ako želite da sve promjene izvršene nakon konfiguracije stupe na snagu bez prekida bilo koje veze. - Naredba
sudo systemctl onemogući httpd
uklanja Apache iz pokretanja isudo systemctl omogućiti httpd
vraća standardno stanje. Osim toga, kada je ova opcija omogućena, dobit ćete obavijest o stvaranju nove simboličke poveznice odgovorne za ovu opciju.
Kao što vidite, najstandardnije naredbe kontroliraju stanje usluge. Neće ih biti teško sjetiti se ako se često morate pribjegavati takvim mjerama tijekom upravljanja mrežom, zasebnim mjestom ili bilo kojim programom.
Korak 3: osnovna konfiguracija
Osnovna konfiguracija uključuje postavljanje virtualnog hosta, što je korisno za izoliranje postavki i hosting različitih domena na istom poslužitelju. Jedan standardni virtualni domaćin dovoljan je ako imate posla samo s jednom web lokacijom, no prilikom registracije drugih domena morat ćete pribjeći stvaranju dodatnih parametara. Sada ćemo za primjer uzeti standardni virtualni host, a po potrebi ćete promijeniti njegovu adresu.
- Počnimo s izradom direktorija u kojem će biti pohranjene sve podređene datoteke virtualnog hosta. To se radi putem naredbe
sudo mkdir -p /var/www/example.com/html
. - Također je potrebna dodatna mapa u kojoj će se zapisnici događaja automatski spremiti. Da biste ga dodali, unesite
sudo mkdir -p /var/www/example.com/log
. - Postavite zadana dopuštenja za direktorij putem
sudo chown -R $ USER: $ USER /var/www/example.com/html
. - Dodatno postavite i privilegije za svakog korisnika umetanjem
sudo chmod -R 755 / var / www
. - Počnimo s izradom uzorka glavne stranice koja će se prikazati prilikom provjere zdravlja hosta. Stvorite novu tekstualnu datoteku putem prikladnog uređivača, na primjer, pomoću nano-a, trebali biste unijeti
sudo nano /var/www/example.com/html/index.html
. - Kad otvorite uređivač teksta, primit ćete obavijest da je ovo nova datoteka. Ne brinite, ovako bi trebalo biti. Stvaramo ga namjerno postavljanjem odgovarajuće konfiguracije.
- Tamo zalijepite donji kod zamjenjujući standardni pozdrav bilo kojim tekstom. Ako želite, strukturu možete potpuno redizajnirati stvaranjem stranice koja vam odgovara.
<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com virtual host is working!</h1>
</body>
</html></code>
- Spremite promjene klikom na Ctrl + Oa zatim napustite uređivač teksta putem Ctrl + X.
- To su bile samo preliminarne postavke. Sada se spustimo na sam virtualni host: prvo trebate odrediti mape za njegovu pohranu. Da biste to učinili, unesite
sudo mkdir / etc / httpd / sites-available / etc / httpd / sites-enabled
. - Nakon toga recite web poslužitelju da sada mora komunicirati s drugim komponentama. Ovaj se zadatak izvodi uređivanjem glavne konfiguracijske datoteke. Pokrenite ga kroz uređivač teksta tako što ćete navesti
sudo nano /etc/httpd/conf/httpd.conf
. - Spustite se na dno popisa i umetnite redak
IncludeO optional web stranice omogućene / *. Conf
. - Ne zaboravite spremiti sve promjene prije izlaska iz uređivača teksta.
- Da biste stvorili sam virtualni host, trebate još jednu konfiguracijsku datoteku. Stvorite ga putem
sudo nano /etc/httpd/sites-available/example.com.conf
. - Tamo zalijepite sljedeći sadržaj, zamijenivši potrebne retke svojim.
Ime poslužitelja www.example.com
ServerAlias primjer.com
DocumentRoot /var/www/example.com/html
ErrorLog /var/www/example.com/log/error.log
Kombinirani CustomLog /var/www/example.com/log/requests.log
- Preostaje samo aktiviranje datoteke stvaranjem simboličke veze putem
sudo ln -s /etc/httpd/sites-available/example.com.conf /etc/httpd/sites-enabled/example.com.conf
.
Korak 4: Konfiguriranje kontrole pristupa
Ako govorimo o konfiguriranju globalnih parametara, tada je potrebno osigurati kontrolu pristupa, navodeći broj korisnika koji će moći izvršiti promjene u prethodno razmatranim direktorijima. Ovaj se postupak provodi pomoću standardnog SELinux alata odgovornog za upravljanje razinama pristupa.
- Postavite globalnu sigurnosnu postavku putem
sudo setsebool -P httpd_unified 1
... Osigurati će da se sve vrste procesa obrađuju kao jedan. - Dalje, preporuča se provjera trenutnih opcija SELinux-a koje su se automatski pružale. Da biste to učinili, napišite
sudo ls -dZ /var/www/example.com/log/
. - Kao rezultat, vidjet ćete sadržaj drwxr-xr-x. root root unconfined_u: object_r: httpd_sys_content_t: s0 /var/www/example.com/log/... To znači da Apache sada može čitati samo one datoteke koje su stvorene u instaliranoj mapi, odnosno morat ćete promijeniti konfiguraciju.
- Ovaj se zadatak izvodi kroz
sudo semanage fcontext -a -t httpd_log_t "/var/www/example.com/log(/.*)?"
. - Spremite promjene i utipkajte ih da stupe na snagu nakon ponovnog pokretanja poslužitelja
sudo restorecon -R -v /var/www/example.com/log
. - Sada ponovo provjerite promjene putem
sudo ls -dZ /var/www/example.com/log/
. - Kao što vidite, rezultirajući izlaz je oblika drwxr-xr-x. root root unconfined_u: object_r: httpd_log_t: s0 /var/www/example.com/log, dakle, sve je istina.
- Ostaje samo testirati sve promjene. Da biste to učinili, unesite
sudo systemctl ponovno pokrenite httpd
i kliknite na Unesi. - Potvrdite radnju lozinkom superuporabnika.
- Ponovno stvorite zahtjev za katalog upisivanjem
ls -lZ /var/www/example.com/log
... Ako je sadržaj koji se pojavljuje u formatu-rw-r - r--. 1 korijen korijena pogreška.log -rw-r - r--. 1 korijenski korijen 0 zahtjeva.log
, to znači da su sve prethodne postavke ispravno izvršene.
Upoznali ste postupak instalacije i opću konfiguraciju web poslužitelja Apache na CentOS 7. Kao što vidite, sama instalacija neće potrajati, a sve su poteškoće povezane samo s konfiguracijom. Ako vam predstavljeni vodič za promjenu parametara i upravljanje Apacheom nije bio dovoljan, savjetujemo vam da proučite službenu dokumentaciju pomoću donje poveznice.