有许多关于将mod_authn_dbd与MySQL一起使用的教程,但是对于使用ODBC的SQL Server我找不到任何教程。我花了一段时间才弄清楚,所以我决定在这里写下来。这不是一个完整的教程,但足以使您入门并运行。
答案 0 :(得分:0)
所有命令必须以root用户或使用sudo运行。
为Linux安装Microsoft ODBC驱动程序
Instructions on Microsoft site
Debian 9的示例:
apt update
apt install curl apt-transport-https
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/config/debian/9/prod.list > /etc/apt/sources.list.d/mssql-release.list
apt update
ACCEPT_EULA=Y apt-get install msodbcsql17
配置/etc/odbc.ini
示例内容:
[DBSERVER1]
Driver = ODBC Driver 17 for SQL Server
Server = 192.168.1.123
安装并启用mod_authn_dbd
apt install libaprutil1-dbd-odbc
a2enmod dbd
a2enmod authn_dbd
a2enmod authn_socache
配置Apache身份验证
将此添加到您的网站配置中的某个位置:
DBDriver odbc
DBDParams "DATASOURCE=DBSERVER1,USER=dbuser,PASSWORD=dbpass"
<Location "/test">
AuthType Basic
AuthName "Secured area"
AuthBasicProvider socache dbd
AuthnCacheProvideFor dbd
AuthnCacheContext my-server
Require valid-user
AuthDBDUserPWQuery "SELECT USR_PASS FROM USERS WHERE USR_EMAIL=%s"
</Location>