项目

通用

个人资料

操作

文档:ModDbiVhost

模块: mod_dbi_vhost

描述

注意: 从 lighttpd 1.4.46 起被 mod_vhostdb 取代

mod_dbi_vhost 是 mod_mysql_vhost 的一个修改版本,它转而使用 libDBI 来读取虚拟主机到文档根的关联。

安装

此模块是第三方模块,不包含在官方发行版中。您可以从此处下载补丁

应用后,运行 autogen.sh 并传递选项 --with-dbi 让 GNU 工具找到它,或者使用 --with-dbi=/path/to/dbi 来指定位置。

选项

vhost.dbi => ( "dbname" => "..." ) - 必需

用于网络数据库连接的数据库名称,或用于本地数据库实现(Sqlite)的数据库文件名。

vhost.dbi => ( "dbtype" => "..." ) - 必需

将其设置为您的数据库类型。这通常包含在 DBD 文件名中。例如,libdbdmysql.so 是 "mysql",libdbdpgsql.so 是 "pgsql"。

一些选项包括: mysql, pgsql, sqlite3, freetds, sqlite

vhost.dbi => ( "sql" => "..." ) - 必需

用于获取虚拟主机文档根的实际查询。例如,用 '?' 替换主机名

vhost.dbi += ( "sql" => "SELECT docroot FROM vhosts WHERE host='?'" )

通用选项

vhost.dbi += ( "user" => "..." ) - 可选

用于打开典型基于网络的数据库连接的用户名。

vhost.dbi += ( "pass" => "..." ) - 可选

用于对数据库连接进行身份验证的密码。

vhost.dbi += ( "hostname" => "..." ) - 可选

用于建立数据库连接的主机名。

vhost.dbi += ( "port" => i ) - 可选

用于对数据库连接进行身份验证的端口号。如果未指定,将使用指定数据库类型的默认端口。

MySQL 特有选项

vhost.dbi += ( "encoding" => "..." ) - 可选

例如,“UTF-8”。此参数的兼容性和可用选项取决于驱动程序。我用它来告诉 MySQL DBD 使用 UTF-8。

Sqlite3 特有选项

vhost.dbi += ( "sqlite3_dbdir" => "..." ) - 必需

数据库文件(在“dbname”中指定)在文件系统上的目录。

示例

# Sqlite3
vhost.dbi += (
       "dbtype"        => "sqlite3",
       "dbname"        => "lighttpd.db",
       "sqlite3_dbdir" => "/etc/lighttpd",
       "encoding"      => "UTF-8",
       "sql"           => "SELECT docroot FROM vhosts WHERE host='?'" 
)

# PostgreSQL
vhost.dbi += (
       "dbtype"        => "pgsql",
       "dbname"        => "lighttpd",
       "user"          => "postgres",
       "hostname"      => "localhost",
       "encoding"      => "UTF-8",
       "sql"           => "SELECT docroot FROM vhosts WHERE host='?'" 
)

# MySQL
vhost.dbi += (
       "dbtype"        => "mysql",
       "dbname"        => "lighttpd",
       "user"          => "root",
       "password"      => "somepassword",
       "hostname"      => "localhost",
       "encoding"      => "UTF-8",
       "sql"           => "SELECT docroot FROM vhosts WHERE host='?'" 
)

server.modules          += ( "mod_dbi_vhost" )

gstrauss 8 年多前 更新 · 10 个修订