ubuntuusers.de

Apache Authentifizierung mit mod-auth-mysql

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

chris109

Avatar von chris109

Anmeldungsdatum:
12. Juni 2006

Beiträge: 375

Wohnort: Kempten

Hallo!

Ich versuche unter Ubuntu 9.04 verzweifelt den Zugriff auf Webverzeichnise mit mod-auth-mysql zu regeln.

Wie es aussieht versuch Apache aber immer eine httpasswd-Datei aufzumachen, die in der Konfiguration natürlich nicht angegeben ist:

cat /var/log/apache2/error.log

[Mon Sep 07 19:39:38 2009] [error] Internal error: pcfg_openfile() called with NULL filename
[Mon Sep 07 19:39:38 2009] [error] [client 127.0.0.1] (9)Bad file descriptor: Could not open password file: (null)

Die Konfiguration sieht so aus:

Alias /svnroot "/var/mydir/"

<Directory "/var/mydir/">

        AuthName "Members Only"
        AuthType Basic

        Auth_MySQL on
        Auth_MySQL_Authoritative on

        Auth_MySQL_Host localhost
        Auth_MySQL_DB svn
        Auth_MySQL_User svn
        Auth_MySQL_Password svn

        Auth_MySQL_Password_Table svn_dav_users
        Auth_MySQL_Username_Field username
        Auth_MySQL_Password_Field passphrase

        Auth_MySQL_Group_Table svn_dav_groups
        Auth_MySQL_Group_Field groupname

        Auth_MySQL_Empty_Passwords off
        Auth_MySQL_Encrypted_Passwords off
        Auth_MySQL_Encryption_Types Plaintext

        Require valid-user

        Order allow,deny
        Allow from all

</Directory>

schnux

Avatar von schnux

Anmeldungsdatum:
22. März 2009

Beiträge: 538

Wohnort: Dresden

Hi!

Ich weiß nicht ob das der Grund ist, aber bei mir stehen die Direktiven zusammengeschrieben:

    AuthName "secret"
    AuthType Basic
    AuthMySQLHost localhost
    AuthMySQLDB auth
    AuthMySQLUserTable user

Ich hatte mich dabei an die Dokumentation http://modauthmysql.sourceforge.net/ gehalten.

Ansonsten seh ich keinen Fehler. Neustart von Apache nach Änderung, wa?

chris109

(Themenstarter)
Avatar von chris109

Anmeldungsdatum:
12. Juni 2006

Beiträge: 375

Wohnort: Kempten

Hallo schnux!

Vielen Dank für den Versuch mir zu helfen. Die Dokumentation, auf die Du mich verwiesen hast, hat leider gar nicht gepasst. Allerdings bin ich dadurch drauf gekommen nochmal nach mitgelieferter Doku zu schauen.

Und siehe da ...

zcat /usr/share/doc/libapache2-mod-auth-mysql/USAGE.gz

.. und ..

zcat /usr/share/doc/libapache2-mod-auth-mysql/DIRECTIVES.gz

liefern tatsächlich brauchbare Dokumantation.

Falls jemand in Zukunft damit nicht zurecht kommt, darf er mich hier gerne fragen.

Bis dahin hier eine funktionierende Test-Konfiguration, die für den produktiven Betrieb sicherlich noch angepasst werden muss:

/etc/apache2/httpd.conf

Auth_MySQL_DefaultHost localhost
Auth_MySQL_DefaultUser svn
Auth_MySQL_DefaultPassword svn

Auth_MySQL_General_DB svn
Auth_MySQL_AllowOverride On

/etc/apache2/sites-available/svn

Alias /svnroot "/var/svnroot/"

<Directory "/var/svnroot/">

	AuthType Basic
	AuthName "Top Secret"
	require valid-user
	
	# Setup password encryption
	Auth_MySQL_Encryption_Types Plaintext

	# Disable other auth methods
	AuthBasicAuthoritative Off
	AuthUserFile /dev/null
	Auth_MySQL_Authoritative On

	# Setup tables
	Auth_MySQL_Password_Table mysql_auth
	Auth_MySQL_Group_Table mysql_auth

	# Setup columns
	Auth_MySQL_Username_Field username
	Auth_MySQL_Password_Field password

	# Set common access options
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
	Order allow,deny
	Allow from all
</Directory>
Antworten |