我有一台运行 Apache2 版本 2.4.41 的 Ubuntu Linux 服务器(20.04)
$ apachectl -v
Server version: Apache/2.4.41 (Ubuntu)
Server built: 2024-04-10T17:46:26
启用 PHP8 后/etc/apache2/mods-enabled
:
$ ls -l /etc/apache2/mods-enabled/php8*
lrwxrwxrwx 1 root root 39 Apr 29 14:17 /etc/apache2/mods-enabled/php8.0.conf -> /etc/apache2/mods-available/php8.0.conf
lrwxrwxrwx 1 root root 39 Apr 29 14:17 /etc/apache2/mods-enabled/php8.0.load -> /etc/apache2/mods-available/php8.0.load
它已经这样运行了几个月,但现在不知何故 PHP 总是被禁用。当我的 PHP 应用程序突然停止工作时,我才意识到这一点,当我查看时,/etc/apache2/mods-enabled
我发现 PHP8 的两个条目不见了。如果我重新启用它,它会运行几天,然后同样的事情再次发生。
我在日志中看不到任何表明它已被禁用的内容,并且我(我希望)是唯一具有该机器 root 访问权限的人。
有人知道我该如何查明是什么禁用了此功能以及原因吗?我可以启用某种日志记录来获取更多信息吗?
答案1
就我个人而言,我会设置审计:安装auditd
软件包来跟踪系统变化:
sudo apt-get install auditd
配置审计来监控/etc/apache2/mods-enabled
目录:
sudo auditctl -w /etc/apache2/mods-enabled/ -p wx -k apache_mods
这将记录目录的所有更改mods-enabled
。您可以使用以下命令检查审计日志:
sudo ausearch -k apache_mods
还要验证 PHP 安装;仔细检查 PHP 是否正确安装和配置:
sudo php -v
sudo ls /etc/apache2/mods-available/php8.0.*
如果您发现任何问题,请分享结果。