Standartinių Linux vartotojų naudojimas Apache2 autentifikacijai – SVN

Man atsirado poreikis, tuos pačius linux userius naudoti, tiek sistemos naudojimui, tiek prieigai prie svn repositoriju per HTTPS.
Tam puikiai tinka apache modulis auth_shadow.

Ubuntu/Debian atveju įdiegiamas labai paprastai:
# sudo apt-get install libapache-mod-auth-shadow

Dėl visa ko galima pabandyti aktyvuoti, jei instaliuojant modulį automatiškai nebuvo atkyvuotas:
# sudo a2enmod auth_shadow

Jei jau turim sukonfigūruotą prieigą prie SVN per HTTPS su dav_svn moduliu, tereikia nurodyti naudoti auth_shadow modulį:
<Location /svn>
DAV svn
SVNParentPath /absoliutus/kelias/iki/repositoriju/sakninio/katalogo
AuthzSVNAccessFile /absoliutus/kelias/iki/teisiu/valdymo/failo/failo_pavadinimas
# nurodoma naudoti auth_shadow
AuthShadow on
# isjungiama standartinė autentifikacija
AuthBasicAuthoritative off
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /kelias/iki/failo/htpasswd/htpasswd
Require valid-user
SSLRequireSSL

</Location>

Eilutė AuthUserFile /kelias/iki/failo/htpasswd/htpasswd, būtinai reikalinga, kitaip Apache neautentifikuoja ir loguose metą pranešimąL
[Mon Feb 16 11:42:09 2009] [error] Internal error: pcfg_openfile() called with NULL filename
[Mon Feb 16 11:42:09 2009] [error] [client 192.168.1.18] (9)Bad file descriptor: Could not open password file: (null)

Tad jei nenorima naudoti standartinių Apache autentifikacijai htpasswd vartotojų, galima nurodyti AuthUserFile kelią į tuščią failą.

Klaida metama, nes auth_shadow leidžia naudoti, tiek standartinius Linux userius /etc/shadow failo, tiek htpasswd, todėl modulis pirma ieško vartotojo htpasswd faile, neradus ieško vartotojo /etc/shadow faile. Kaip išjungti, kad tik naudotų shadow userius nežinau.

Naudotasi:
How To Configure Web Access To Subversion Repositories Using Apache
httpd, the Apache HTTP server – Chapter 6. Server Configuration
Apache Web Login Authentication
Install and Configure Auth Shadow on Debian/Ubuntu
Apache Tips and Tricks

[GLL]Zapatdlo Written by:

Be First to Comment

Leave a Reply

Your email address will not be published.