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
Be First to Comment