Apache modul auth plain
Iz projekta Ubuntu-RS Wiki
Sadržaj |
Postavljanje pravila pristupa u Apachu
Po instalaciji, Ubuntuov Apache će ignorisati direktive iz .htaccess datoteke.
Kada (ne) treba koristiti .htaccess datoteku
"Generalno, nebiste nikada trebali da koristite .htaccess fajlove ukoliko nemate pristup glavnom serverskom configuracionom fajlu. Preovladava, na primer, pogresno mislenje da autentikacija korisnika treba da bude uvek u .htaccess fajlovima. To jednostvno nije tako. Mozete staviti autentikaciju korisnickih konfiguracija u glavnu serversku konfiguraciju, i to je, ustvari, omiljeni nacin da se stvari urade."
".htaccess files should be used in a case where the content providers need to make configuration changes to the server on a per-directory basis, but do not have root access on the server system. In the event that the server administrator is not willing to make frequent configuration changes, it might be desirable to permit individual users to make these changes in .htaccess files for themselves."
Na Ed/X/Ubuntu 6.06 i Ubuntu Edgy Eft, "glavni konfiguracioni fajl servera" je /etc/apache2/apache2.conf .
Postoje dva razloga zašto treba izbegavati upotrebu .htaccess datoteka:
- Ulaskom u jednu fasciklu učitavaju se .htaccess datoteke svih podfascikla, i to svaki put
- Sigurnost. Korisnicima će biti dozvoljeno da menjaju podešavanja servera, što može dovesti do promena na koje vi kao administrator ne možete da utičete.
Stavljanje direktiva u konfiguracionu datoteku Apača povećaće se brzina servera, jer se podešavanja učitavaju samo jednom pri podizanju Apača, umesto svaki put kada ulazimo u fasciklu.
Pogledajte razliku između korišćenja .htaccess i glavne konfiguracione datoteke:
.htaccess u /var/www/test
AddType text/example .exm
Sekcija u httpd.conf datoteci
<Directory /var/www/test> AddType text/example .exm </Directory>
Pomoću Apačove glavne konfiguracione datoteke
Koristićemo SSH protokol za ulazak na serversku mašinu:
$ ssh 192.168.1.35 -l jovan // ulazak na server
Onda ćemo instalirati Apačov modul za proveru korisnika. Pored ovog mod_auth, postoji i HTTP Digest Authentication koji obezbeđuje modul mod_auth_digest, ali ćemo za sada obraditi samo prvi.
$ sudo apt-get install libapache2-mod-auth-plain // instaliranje modula $ sudo a2enmod auth_plain // učitavanje modula $ sudo /etc/init.d/apache2 restart // restartovanje apacha
$ sudo nano /etc/apache2/sites-available/default // editovanje podešavanja vezanih za DocumentRoot
na kraj datoteke dodajte sledeći tekst:
<Directory /var/www/test>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
AuthUserFile /etc/apache2/sites-available/htpasswd.conf
AuthName "Authorization Required"
AuthType Basic
Require valid-user
</Directory>
Ctrl-O zatim Enter da bih snimio izmene u nano editoru i
Ctrl-X - exit u nano editoru
Zatim ćemo napraviti datoteku koja sadrži lozinke za naše korisnike pomoću programa htpasswd koji se instalirao zajedno sa Apačom:
$ sudo htpasswd -c /etc/apache2/sites-available/htpasswd.conf ivan // parametar -c služi za kreiranje htpasswd.conf datoteke $ sudo /etc/init.d/apache2 restart // restartovanje apacha
novog korisnika dodajemo naredbom:
$ sudo htpasswd /etc/apache2/sites-available/htpasswd.conf jelena $ sudo /etc/init.d/apache2 restart // i obavezno restartovanje apacha
posle ovoga direktorijum koji ste zaštitili se neće videti na spisku, ali ćete moći da mu pristupite preko url-a
Pomoću datoteke .htaccess
Da biste koristili .htaccess datoteku, treba izmeniti /etc/apache2/sites-available/default, jer po instalaciji Apača na Ubuntu nije dozvoljeno korišćenje .htaccess datoteka. Pronađite sekciju koja ovako izgleda:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
Treba promeniti liniju koja sadrži AllowOverride None u AllowOverride All. Ovo će Apač razumeti tako da je dozvoljeno da .htaccess poništi prethodnu naredbu iz glavne konfiguracije.
Sledi pravljenje .htaccess datoteke u fascikli koju treba zaštititi i htpasswd.conf (ili drugog naziva) u kojoj će se čuvati lozinke korisnika i koja ne treba da bude pod DocumentRoot, već negde izvan Apačovih datoteka koje otvaraju posetioci.

