我只是想为 phpmyadmin 安装 fail2ban,如另一个中所述邮政。然后我发现 phpmyadmin 没有在我的 apache 上记录访问。我按如下方式安装 phpmyadmin:
apt-get install phpmyadmin
与 apache 一起使用 - 将这一行添加到 /etc/apache2/apache2.conf:
Include /etc/phpmyadmin/apache.conf
在 /etc/phpmyadmin/apache.conf 中我添加了
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n" pma_combined
CustomLog ${APACHE_LOG_DIR}/phpmyadmin_access.log pma_combined
ErrorLog ${APACHE_LOG_DIR}/phpmyadmin_error.log
tail -f /var/log/apache2/phpmyadmin_access.log
仅包含:
127.0.0.1 - - [04/Sep/2015:14:11:37 +0200] "OPTIONS * HTTP/1.0" 200 110 "-" "Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f (internal dummy connection)"
127.0.0.1 - - [04/Sep/2015:14:11:37 +0200] "OPTIONS * HTTP/1.0" 200 110 "-" "Apache/2.4.7 (Ubuntu) OpenSSL/1.0.1f (internal dummy connection)"
但从不记录访问,甚至记录失败的登录。
/etc/phpmyadmin/config.inc.php 的相关部分:
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;
if (!empty($dbport) || $dbserver != 'localhost') {
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = $dbport;
}
//$cfg['Servers'][$i]['compress'] = false;
我在 phpmyadmin 中找不到任何配置来控制日志记录。在我的虚拟主机配置中日志记录工作正常 - 我也以相同的方式在那里定义 CustomLog 和 ErrorLog。