Apache HTTP Server, često nazivan samo Apache, je besplatan i otvorenog koda web server softver koji omogućava distribuciju web sadržaja putem interneta. Ovaj server je razvijen od strane Apache Software Foundation i dostupan je za različite platforme, uključujući Unix, Linux, Windows i mnoge druge.
Instalacija Apache Servera
Za instalaciju Apache servera na Linux sistemu, možete koristiti paketni menadžer. Na primer, na Debian-based sistemima, koristite komandu:
sudo apt-get install apache2
Na Red Hat-based sistemima, koristite:
sudo yum install httpd
Nakon instalacije, možete pokrenuti Apache server sa:
sudo systemctl start apache2 # na Debian-based sistemima
sudo systemctl start httpd # na Red Hat-based sistemima
Gde se nalazi konfiguracija Apache Servera?
Instalacija Apache dokumentacije
Provera statusa Apache servisa
Smještanje HTML stranica na Apache serveru - CentOS
Na CentOS operativnom sistemu, HTML stranice i drugi resursi za Apache web server obično se smeštaju u direktorijum koji se naziva "DocumentRoot". Evo standardnih putanja:
- Osnovni direktorijum za web server konfiguraciju: /etc/httpd/
- DocumentRoot za glavni sajt: /var/www/html/
- Dodatni sajtovi: Mogu imati svoje DocumentRoot direktorijume u /var/www/.
Kada dodate HTML datoteke u odgovarajući DocumentRoot direktorijum, možete ih pregledati preko web pregledača unosom IP adrese ili domena servera u adresnu traku.
Smještanje HTML stranica na Apache serveru - Ubuntu
Na Ubuntu operativnom sistemu, HTML stranice i drugi resursi za Apache web server obično se smeštaju u direktorijum koji se naziva "DocumentRoot". Evo standardnih putanja:
- Osnovni direktorijum za web server konfiguraciju: /etc/apache2/
- DocumentRoot za glavni sajt: /var/www/html/
- Dodatni sajtovi: Mogu imati svoje DocumentRoot direktorijume u /var/www/.
Kada dodate HTML datoteke u odgovarajući DocumentRoot direktorijum, možete ih pregledati preko web pregledača unosom IP adrese ili domena servera u adresnu traku.
VirtualHost
VirtualHost (virtuelni host) je koncept koji vam omogućava da na istom fizičkom web serveru hostujete više web stranica ili aplikacija, svaka sa svojim vlastitim postavkama i domenom. To vam omogućava da razdvojite različite sajtove ili aplikacije na istom serveru. Virtualni hostovi se često koriste za hosting više domena na jednom serveru ili za razvoj i testiranje različitih web aplikacija na istom serveru.
Evo kako se konfiguriše VirtualHost u Apache web serveru, zajedno s primerima:
Kreiranje konfiguracionih datoteka za VirtualHost:
Konfiguracijske datoteke za VirtualHost obično se smeštaju u direktorijumu /etc/apache2/sites-available/ na većini Linux sistema. Možete kreirati posebne datoteke za svaki VirtualHost.
Primeri VirtualHost konfiguracija:
a. Jednostavan primer za hosting više domena:
Ovaj primer pokazuje kako hostovati dva različita domena na istom serveru. Kreirajte dve odvojene konfiguracijske datoteke za svaki domen.
Konfiguracijska datoteka za prvi-domen.com (/etc/apache2/sites-available/prvi-domen.com.conf):
<VirtualHost *:80>
ServerAdmin webmaster@prvi-domen.com
ServerName prvi-domen.com
DocumentRoot /var/www/prvi-domen
</VirtualHost>
Konfiguracijska datoteka za drugi-domen.com (/etc/apache2/sites-available/drugi-domen.com.conf):
<VirtualHost *:80>
ServerAdmin webmaster@drugi-domen.com
ServerName drugi-domen.com
DocumentRoot /var/www/drugi-domen
</VirtualHost>
Zatim aktivirajte ove konfiguracije koristeći naredbu:
sudo a2ensite prvi-domen.com.conf
sudo a2ensite drugi-domen.com.conf
Nakon toga, ponovo pokrenite Apache server (sudo systemctl restart apache2).
b. Primer za hosting web aplikacija sa različitim domenima i SSL podrškom:
Ovaj primer prikazuje kako hostovati dve web aplikacije sa različitim domenama i SSL/TLS podrškom.
Konfiguracijska datoteka za prvi-aplikacija.com (/etc/apache2/sites-available/prvi-aplikacija.com.conf):
<VirtualHost *:80>
ServerAdmin webmaster@prvi-aplikacija.com
ServerName prvi-aplikacija.com
DocumentRoot /var/www/prvi-aplikacija
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@prvi-aplikacija.com
ServerName prvi-aplikacija.com
DocumentRoot /var/www/prvi-aplikacija
SSLEngine on
SSLCertificateFile /putanja/do/ssl-sertifikata.crt
SSLCertificateKeyFile /putanja/do/privatnog-kljuca.key
</VirtualHost>
Konfiguracijska datoteka za drugi-aplikacija.com (/etc/apache2/sites-available/drugi-aplikacija.com.conf):
<VirtualHost *:80>
ServerAdmin webmaster@drugi-aplikacija.com
ServerName drugi-aplikacija.com
DocumentRoot /var/www/drugi-aplikacija
</VirtualHost>
<VirtualHost *:443>
ServerAdmin webmaster@drugi-aplikacija.com
ServerName drugi-aplikacija.com
DocumentRoot /var/www/drugi-aplikacija
SSLEngine on
SSLCertificateFile /putanja/do/ssl-sertifikata.crt
SSLCertificateKeyFile /putanja/do/privatnog-kljuca.key
</VirtualHost>
Aktivirajte ove konfiguracije i instalirajte SSL sertifikate za oba domena kako bi omogućili HTTPS.
Nakon podešavanja VirtualHost konfiguracija, ne zaboravite ponovo pokrenuti Apache server kako bi promene stupile na snagu. VirtualHost omogućava hosting više domena i aplikacija na istom serveru, pružajući izolaciju i prilagodljivost za svaku od njih.
Moduli
- mod_rewrite: Ovaj modul omogućava konfiguraciju URL preusmeravanja i promene URL struktura na serveru. Koristi se za implementaciju URL preusmeravanja i prilagođavanje URL-ova.
- mod_ssl: Ovaj modul omogućava podršku za SSL i TLS enkripciju, čime se omogućava siguran prenos podataka preko HTTPS protokola.
- mod_proxy: Modul za proksi server koji omogućava Apache serveru da deluje kao proksi server. Može se koristiti za preusmeravanje zahteva prema drugim serverima, kao što su aplikacioni serveri.
- mod_auth: Omogućava autentifikaciju korisnika. Podržava različite metode autentifikacije, kao što su osnovna autentifikacija, autentifikacija sertifikatom i drugi.
- mod_security: Modul za zaštitu od napada na web aplikacije (WAF). Pomaže u zaštiti servera i aplikacija od različitih vrsta napada.
- mod_cache: Omogućava keširanje web sadržaja kako bi se smanjilo opterećenje servera i ubrzao odgovor na zahteve klijenata.
- mod_gzip: Modul za kompresiju sadržaja koji omogućava smanjenje veličine prenosa podataka između servera i klijenta, čime se poboljšava brzina učitavanja stranica.
- mod_dav: Modul za podršku WebDAV (Web Distributed Authoring and Versioning) protokolu, koji omogućava rad sa fajlovima i resursima na daljinu.
- mod_cgi: Omogućava izvršavanje CGI skripti na serveru. Ovo je korisno za dinamičke web aplikacije napisane u jezicima poput Perl, Python i drugih.
- mod_userdir: Omogućava korisnicima da hostuju svoje veb stranice u svojim ličnim direktorijumima na serveru.
- mod_include: Omogućava uključivanje dinamičkih elemenata u HTML stranice, kao što su SSI (Server Side Includes).
- mod_headers: Ovaj modul omogućava konfiguraciju HTTP zaglavlja, što je korisno za kontrolu keširanja, sigurnosti i drugih aspekata HTTP komunikacije.
A2 komande
a2dismod i a2enmod komande
apache2ctl komanda
- start: Pokreće Apache HTTP Server. Na primer: sudo apache2ctl start.
- stop: Zaustavlja Apache server. Na primer: sudo apache2ctl stop.
- restart: Ponovo pokreće Apache server. Ovo je korisno nakon izmena u konfiguraciji kako bi se primenile promene. Na primer: sudo apache2ctl restart.
- graceful: Izvodi "graceful" ponovno pokretanje Apache servera. Ovo omogućava da se aktivni zahtevi završe pre nego što se server zaustavi i ponovo pokrene. Na primer: sudo apache2ctl graceful.
- configtest: Proverava konfiguraciju Apache servera na greške. Ovo je korisno kako biste identifikovali probleme u konfiguraciji pre nego što ih primenite. Na primer: sudo apache2ctl configtest.
- status: Prikazuje status Apache servera, uključujući informacije o trenutnim procesima i konekcijama. Na primer: sudo apache2ctl status.
a2query komanda
a2query
je komanda koja se koristi za upravljanje Apache konfiguracijom na Debian-based sistemima. Ova komanda omogućava različite opcije za pregled i analizu Apache konfiguracije. Evo nekoliko glavnih opcija:
-m
(moduli): Prikazuje listu aktivnih Apache modula.-v
(Virtual Hosts): Prikazuje informacije o aktivnim Apache Virtual Host-ovima.-l
(Load File): Prikazuje putanju do glavne konfiguracione datoteke Apache servera.-f
(File): Omogućava pregled informacija o određenoj konfiguracionoj datoteci ili direktorijumu.
Ove opcije se često koriste za analizu i dijagnostiku Apache konfiguracije kako bi se identifikovali aktivni moduli, Virtual Host-ovi i druge informacije o konfiguraciji.
a2ensite i a2dissite komande
a2ensite
i a2dissite
su korisne komande na Debian-based sistemima, poput Debian-a i Ubuntu-a, koje se koriste za upravljanje Apache Virtual Host konfiguracijama. Virtual Host-ovi omogućavaju hostovanje više veb sajtova na istom Apache serveru, a ove komande olakšavaju aktiviranje i deaktiviranje pojedinačnih Virtual Host konfiguracija.
a2ensite (Apache2 Enable Site)
Ova komanda omogućava (aktivira) Apache Virtual Host konfiguraciju. Konfiguracija Virtual Host-a se simbolički povezuje sa direktorijumom /etc/apache2/sites-enabled/
, što ga čini aktivnim i dostupnim na serveru.
Primer:
sudo a2ensite mywebsite
Ovaj primer omogućava Virtual Host sa imenom mywebsite
, čime se veb sajt konfigurisan u toj Virtual Host konfiguraciji sada aktivira na serveru.
Ova komanda onemogućava (deaktivira) Apache Virtual Host konfiguraciju. Simbolička veza na konfiguracionu datoteku Virtual Host-a se uklanja iz direktorijuma /etc/apache2/sites-enabled/
, čime se deaktivira.
Primer:
sudo a2dissite mywebsite
Ovaj primer onemogućava Virtual Host sa imenom mywebsite
, čime se veb sajt konfigurisan u toj Virtual Host konfiguraciji više neće prikazivati na serveru.
Direktive
DocumentRoot direktiva
DocumentRoot
je ključna konfiguraciona direktiva u Apache HTTP Serveru koja definiše osnovni direktorijum na serveru u kojem se nalaze web sadržaji (HTML, CSS, slike, fajlovi itd.) koji će biti dostupni putem HTTP protokola.
Drugim rečima, DocumentRoot
je putanja do korena vašeg veb sajta na serveru.
Kada klijent (korisnik web pregledača) zahteva određeni URL sajta, Apache server traži odgovarajući resurs (npr. HTML stranicu) u direktorijumu koji je naveden kao DocumentRoot
za taj sajt. Ako se resurs nalazi u tom direktorijumu, server će ga poslati klijentu. Ovo je osnovni koncept koji omogućava Apacheu da servira web stranice.
Na primer, ako imate konfiguraciju u Apache koja izgleda ovako:
DocumentRoot /var/www/html
To znači da su svi web sadržaji za taj veb sajt smešteni u direktorijumu /var/www/html
. Ako neko zatraži stranicu sa URL-om http://www.example.com/index.html
, Apache će potražiti ovu stranicu u direktorijumu /var/www/html
i, ako je pronađe, poslaće je klijentu.
DocumentRoot
se često koristi zajedno sa Apache Virtual Host-ovima (Virtual Host-ovi omogućavaju hostovanje više veb sajtova na istom serveru). Svaki Virtual Host može imati svoj sopstveni DocumentRoot
kako bi različiti sajtovi bili odvojeni na serveru.
Pravilno konfigurisan DocumentRoot
je ključan za ispravno hostovanje web sajtova na Apache serveru. Važno je da osigurate da ova direktiva vodi do tačnog direktorijuma u kojem se nalaze vaši web sadržaji kako bi server mogao da pravilno servira stranice i resurse.
ServerName direktiva
ServerName je Apache konfiguraciona direktiva koja se koristi za definisanje kanonskog (osnovnog) imena servera. Ova direktiva se obično koristi u konfiguracionim datotekama Apache servera kako bi se navelo ime ili DNS (Domain Name System) naziv pod kojim će server biti poznat na internetu.
Kada se zahtevi šalju serveru putem HTTP ili HTTPS protokola, Apache koristi vrednost ServerName da bi usmerio zahtev na odgovarajući Virtual Host (ako su konfigurisani). Takođe, ServerName je važan za generisanje odgovarajućih HTTP odgovora, kao što su HTTP "Location" zaglavlja koja se koriste za preusmeravanje korisnika.
Evo primera upotrebe ServerName u Apache konfiguraciji:
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/example
</VirtualHost>
U ovom primeru, ServerName je postavljen na www.example.com. To znači da će svi zahtevi koji stignu na ovu adresu biti usmereni na odgovarajući Virtual Host sa podešenim DocumentRoot direktorijumom.
Važno je napomenuti da svaki Apache Virtual Host treba da ima svoju ServerName ili ServerAlias direktivu kako bi se tačno usmerili zahtevi na odgovarajući sajt. Osim toga, ServerName može biti i IP adresa servera, a ne samo DNS ime.
Pravilno postavljen ServerName je ključan za tačno usmeravanje zahteva i funkcionalnost Virtual Host-ova na Apache serveru, posebno kada se hostuje više sajtova na istom serveru.
LogFormat direktiva
LogFormat
je Apache konfiguraciona direktiva koja se koristi za definisanje formata zapisa (log formata) za Apache pristupne i greške log datoteke. Ova direktiva omogućava prilagođavanje načina na koji se informacije o zahtevima i događajima zabeleženi u log datotekama formatiraju i prikazuju.
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog "logs/access_log" common
Ovaj format zapisa uključuje IP adresu klijenta (%h), identifikaciju korisnika (%l), korisničko ime (%u), vremensku oznaku (%t), HTTP zahtev ("%r"), status HTTP odgovora (>%s), i veličinu odgovora (%b).
LogFormat "%t %h \"%r\" %>s %b" shorttime
CustomLog "logs/access_log" shorttime
Ovaj format zapisa prikazuje samo vremensku oznaku, IP adresu klijenta, HTTP zahtev, status HTTP odgovora i veličinu odgovora.
LogFormat "[%{%Y-%m-%d %H:%M:%S}t] %h \"%r\" %>s %b
\"%{Referer}i\"
\"%{User-Agent}i\"" customformat
CustomLog "logs/access_log" customformat
Ovaj prilagođeni format dodaje dodatne informacije, kao što su vremenska oznaka u određenom formatu, Referer zaglavlje i User-Agent zaglavlje.
<Location> direktiva
<Location> direktiva u Apache HTTP server konfiguraciji podržava različite opcije koje omogućavaju precizno podešavanje ponašanja za određeni URL prostor. Evo nekoliko često korišćenih opcija za <Location> direktivu:
- AuthType: Definiše vrstu autentifikacije koja se koristi za zaštitu ove lokacije. Na primer, AuthType Basic koristi HTTP osnovnu autentifikaciju.
- AuthName: Postavlja ime autentifikacionog stvaratelja koje će se pojaviti u dijalogu za unos korisničkog imena i lozinke.
- AuthUserFile: Postavlja putanju do datoteke koja sadrži informacije o korisnicima i njihovim lozinkama za autentifikaciju.
- Require: Definiše uslove koje korisnik mora zadovoljiti kako bi pristupio ovoj lokaciji. Na primer, Require valid-user zahteva da korisnik bude validan (autentifikovan).
- Redirect: Koristi se za postavljanje redirekcija sa ove lokacije na drugu lokaciju. Na primer, Redirect 301 /old-url /new-url će trajno preusmeriti zahteve sa /old-url na /new-url.
- ProxyPass: Omogućava proxy postavke za ovu lokaciju, korisne za obrtanje proxy-ja. Na primer, ProxyPass /app http://app-server:8080 usmerava zahteve sa ove lokacije na drugi server.
- SetHandler: Postavlja handler za obradu zahteva za ovu lokaciju. Na primer, SetHandler cgi-script može se koristiti za izvršavanje CGI skripti.
- ErrorDocument: Definiše prilagođeni dokument za prikazivanje grešaka na ovoj lokaciji. Na primer, ErrorDocument 404 /custom-404.html će prikazati prilagođenu stranicu za 404 grešku.
- Options: Postavlja opcije koje se primenjuju na ovu lokaciju, kao što su Indexes za omogućavanje indeksiranja direktorijuma ili FollowSymLinks za praćenje simboličkih veza.
Ovo su samo neke od opcija koje možete koristiti sa <Location> direktivom. Opcije se često koriste zajedno kako bi se precizno konfigurisalo ponašanje za određeni URL prostor na Apache serveru.
SetHandler direktiva
SetHandler je Apache konfiguraciona direktiva koja se koristi za postavljanje handlera (obrtnika) za određenu URL putanju ili lokaciju na web serveru. Obrtnici su odgovorni za procesiranje zahteva i generisanje odgovora na osnovu tipa sadržaja. Korišćenjem SetHandler možete precizno odabrati kako će Apache obraditi zahteve za određenim resursima.
Sintaksa SetHandler izgleda ovako:
<Location URL-path>
SetHandler handler-name
</Location>
<Location URL-path> definiše na kojoj putanji (URL-u) će se primeniti SetHandler.
SetHandler handler-name postavlja handler koji će se koristiti za određenu putanju.
Evo nekoliko primera kako se SetHandler može koristiti:
Postavljanje PHP handlera za .php datoteke:
<LocationMatch "\.php$">
SetHandler application/x-httpd-php
</LocationMatch>
U ovom primeru, SetHandler se koristi da se postavi handler za sve .php datoteke, tako da će Apache koristiti PHP interpreter za obradu ovih datoteka.
Postavljanje handlera za CGI skripte:
<Location /cgi-bin>
SetHandler cgi-script
</Location>
Ovaj primer postavlja handler cgi-script za sve resurse unutar direktorijuma /cgi-bin, što omogućava izvršavanje CGI skripti na tim putanjama.
Postavljanje handlera za određene vrste sadržaja:
<Location /images>
SetHandler image-handler
</Location>
Ovde, SetHandler se koristi za postavljanje custom handlera (image-handler) za sve resurse unutar direktorijuma /images.
SetHandler vam omogućava da precizno kontrolišete kako će Apache obrađivati različite tipove resursa na osnovu njihove putanje. Ovo je korisno za postavljanje specifičnih pravila za obradu različitih vrsta sadržaja na vašem web serveru.
AllowOverride direktiva
AllowOverride je Apache konfiguraciona direktiva koja se koristi u okviru <Directory> bloka kako bi se kontrolisalo koji tipovi konfiguracija i promena u konfiguracionim datotekama mogu biti primenjeni na određeni direktorijum i njegove potdirektorijume. Kada se postavi na vrednost "None" (AllowOverride None), to znači da se ne dozvoljava nikakvo nasleđivanje ili promene iz konfiguracijskih datoteka unutar tog direktorijuma.
Ovo se često koristi kao sigurnosna mera kako bi se onemogućilo potencijalno opasno ili neovlašćeno konfigurisanje iz .htaccess datoteka unutar tog direktorijuma. Kada je AllowOverride postavljen na "None", .htaccess datoteke unutar tog direktorijuma se ignorišu, i bilo kakve konfiguracije unutar tih datoteka se ne primenjuju.
Primer konfiguracije u Apache konfiguracionoj datoteci sa AllowOverride None izgledao bi ovako:
<Directory /putanja/do/direktorijuma>
AllowOverride None
</Directory>
U ovom primeru, sve konfiguracije koje se nalaze u .htaccess datotekama unutar /putanja/do/direktorijuma i njegovih potdirektorijuma neće biti primenjene, bez obzira na šta je definisano u tim datotekama.
AllowOverride je korisna zaštita kada želite da ograničite promene u konfiguraciji za određene direktorijume kako biste spriječili potencijalne bezbednosne ranjivosti ili neovlašćene izmene u konfiguraciji.
Podešavanje SSL certifikata na CentOS
Evo osnovnih koraka:
- Instaliranje mod_ssl:
- Podesite VirtualHost za HTTPS:
- Ponovno pokrenite Apache server:
- Proverite konfiguraciju:
- Omogućite firewall:
Prvo, instalirajte mod_ssl
, Apache modul koji omogućava SSL podršku. Koristite yum
komandu za instalaciju:
sudo yum install mod_ssl
Otvorite konfiguracionu datoteku vašeg Apache VirtualHosta za HTTPS, koja se obično nalazi u direktorijumu /etc/httpd/conf.d/
. U tom fajlu, postavite sledeće direktive:
<VirtualHost *:443> ServerName example.com DocumentRoot /var/www/html SSLEngine on SSLCertificateFile /putanja/do/ssl.crt SSLCertificateKeyFile /putanja/do/ssl.key </VirtualHost>
Nakon što ste sačuvali izmene u konfiguracionoj datoteci, ponovo pokrenite Apache server da biste primenili promene:
sudo systemctl restart httpd
Pre nego što klijenti počnu da pristupaju vašem sajtu preko HTTPS-a, proverite konfiguraciju na greške. Koristite sledeću komandu:
sudo httpd -t
Ako koristite firewall, ne zaboravite omogućiti dolazni saobraćaj na portu 443 (HTTPS port).
Ovo su osnovni koraci za postavljanje SSL certifikata na CentOS za Apache web server. Nakon izvršenih ovih koraka, vaš web sajt će biti dostupan preko HTTPS-a, pružajući sigurniju komunikaciju između servera i klijenata.
Podešavanje SSL certifikata na Debian-based sistemima
Prvo, instalirajte mod_ssl, Apache modul koji omogućava SSL podršku. Koristite a2enmod komandu za instalaciju:
sudo a2enmod ssl
Otvorite konfiguracionu datoteku vašeg Apache VirtualHosta za HTTPS, koja se obično nalazi u direktorijumu /etc/apache2/sites-available/. U tom fajlu, postavite sledeće direktive:
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /putanja/do/ssl.crt
SSLCertificateKeyFile /putanja/do/ssl.key
</VirtualHost>
Nakon što ste sačuvali izmene u konfiguracionoj datoteci, ponovo pokrenite Apache server da biste primenili promene:
sudo systemctl restart apache2
Pre nego što klijenti počnu da pristupaju vašem sajtu preko HTTPS-a, proverite konfiguraciju na greške. Koristite sledeću komandu:
sudo apache2ctl configtest
Ako koristite firewall, ne zaboravite omogućiti dolazni saobraćaj na portu 443 (HTTPS port).
Ovo su osnovni koraci za postavljanje SSL certifikata na Ubuntu za Apache web server. Nakon izvršenih ovih koraka, vaš web sajt će biti dostupan preko HTTPS-a, pružajući sigurniju komunikaciju između servera i klijenata.
Podešavanje autentifikacije
Podešavanje autentifikacije na Apache web serveru omogućava vam zaštitu određenih resursa ili direktorijuma lozinkom. Evo osnovnih koraka za postavljanje autentifikacije na Apache:
- Instaliranje Apache modula za autentifikaciju:
- Podesite direktorijum koji zahteva autentifikaciju:
- Generisanje
htpasswd
datoteke: - Ponovno pokrenite Apache server:
Pre nego što možete koristiti autentifikaciju, morate se pobrinuti da odgovarajući Apache moduli budu instalirani i omogućeni. Dva česta modula za autentifikaciju su mod_auth_basic
i mod_authn_file
.
Otvorite Apache konfiguracionu datoteku koja se obično nalazi u /etc/apache2/sites-available/
na Debian-based sistemima ili /etc/httpd/conf.d/
na CentOS-based sistemima. Unutar <Directory>
ili <Location>
bloka, dodajte sledeće direktive za postavljanje autentifikacije:
<Directory /putanja/do/zasticenog-direktorijuma>
AuthType Basic
AuthName "Zaštićeni resursi"
AuthUserFile /putanja/do/htpasswd-datoteke
Require valid-user
</Directory>
Da biste dodali korisnička imena i lozinke za autentifikaciju, koristite htpasswd
alat. Na primer, za dodavanje korisnika izvršite sledeću komandu:
sudo htpasswd -c /putanja/do/htpasswd-datoteke korisnik
Nakon što ste postavili autentifikaciju i generisali htpasswd
datoteku, ponovo pokrenite Apache server kako biste primenili promene:
sudo systemctl restart apache2
Sada ste postavili autentifikaciju na Apache web serveru. Kada korisnici pokušaju da pristupe zaštićenom resursu, biće im zatraženo da unesu korisničko ime i lozinku koje ste postavili.
No comments:
Post a Comment