EDV:Apache2 mysql auth
From KIP Wiki
⧼kip-jumptonavigation⧽⧼kip-jumptosearch⧽
mod_auth_mysql
mod_auth_mysql installieren auf debian etch.
ganz kurz
aptitude install apache2-prefork-dev libmysqlclient15-dev cd /root/src/ mkdir auth_mysql cd auth_mysql wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/mod_auth_mysql-3.0.0.tar.gz wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/patch/apache2.2.diff tar xzf mod_auth_mysql-3.0.0.tar.gz mv apache2.2.diff mod_auth_mysql-3.0.0/ cd mod_auth_mysql-3.0.0 patch -p0 < apache2.2.diff mod_auth_mysql.c apxs2 -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c apxs2 -i mod_auth_mysql.la echo "LoadModule mysql_auth_module /usr/lib/apache2/modules/mod_auth_mysql.so" > /etc/apache2/mods-available/auth_mysql.load a2enmod auth_mysql /etc/init.d/apache2 force-reload
Etwas ausführlicher
Entwicklungspakete installieren
aptitude install apache2-prefork-dev libmysqlclient15-dev
Temporäres Verzeichnis erzeugen
cd /root/src/ mkdir auth_mysql cd auth_mysql
Quellen holen
wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/mod_auth_mysql-3.0.0.tar.gz wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/patch/apache2.2.diff tar xzf mod_auth_mysql-3.0.0.tar.gz mv apache2.2.diff mod_auth_mysql-3.0.0/ cd mod_auth_mysql-3.0.0
und patchen
patch -p0 < apache2.2.diff mod_auth_mysql.c
compilieren
apxs2 -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c
mit Ausgabe:
/usr/share/apr-1.0/build/libtool --silent --mode=compile --tag=disable-static i486-linux-gnu-gcc -prefer-pic -DLINUX=2 -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_REENTRANT -I/usr/include/apr-1.0 -I/usr/include/openssl -I/usr/include/postgresql -I/usr/include/xmltok -pthread -I/usr/include/apache2 -I/usr/include/apr-1.0 -I/usr/include/apr-1.0 -I/usr/include/postgresql -I/usr/include/mysql -c -o mod_auth_mysql.lo mod_auth_mysql.c && touch mod_auth_mysql.slo /usr/share/apr-1.0/build/libtool --silent --mode=link --tag=disable-static i486-linux-gnu-gcc -o mod_auth_mysql.la -L/usr/lib/mysql -lmysqlclient -lm -lz -rpath /usr/lib/apache2/modules -module -avoid-version mod_auth_mysql.lo
Modul installieren
apxs2 -i mod_auth_mysql.la
und eine Load-Datei im debian-Stil erzeugen
echo "LoadModule mysql_auth_module /usr/lib/apache2/modules/mod_auth_mysql.so" > /etc/apache2/mods-available/auth_mysql.load
Modul aktivieren
a2enmod auth_mysql
und apache neu laden
/etc/init.d/apache2 force-reload
Beispielkonfiguration
Wenn für ein Verzeichnis 'Override Auth' gesetzt ist, dann kann man lokal in .htaccess foldendes definieren:
AuthMySQLEnable On AuthBasicAuthoritative Off AuthMySQLDb meinedatenbank AuthMySQLUser meindbuser AuthMySQLPassword meindbpasswort AuthMySQLUserTable authusertabelle AuthMySQLGroupTable authgruppentabelle AuthMySQLPwEncryption Crypt AuthMySQLPasswordField passwd AuthMySQLGroupField groups AuthMysqlNameField username AuthMySQLHost localhost