1、系统版本
操作系统:Ubuntu16.04
Apache:2.4.29
php:7
2、现象:
启动Apache后,访问页面,提示500 Internal Server Error,内部错误
3、问题解决:
1)查看系统启动日志:
tail -f /var/log/apache2/error.log
发现日志错误提示:
apache configuration error: couldn't check user
2)查找后得知,系统模块没有加载,需要添加以下三个:
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule auth_basic_module modules/mod_auth_basic.so
3)将上述的三个模块添加到/etc/apache2/apache.conf配置文件中,发现平台无法正常启动,通过查询得知,需要先查找模块加载内容,所有的模块均放置在mods-available,进入到mods-available下,执行以下命令,找到对应的模块位置,复制添加到conf配置文件中:
cat authz_host.load
输出:LoadModule authz_host_module /usr/lib/apache2/modules/mod_authz_host.so
4)启动不再报错,但是启动日志后还是会出现"apache configuration error: couldn't check user"错误,经过查找,发现我们安装的是ssl版本,所以还需要添加authz_core核心模块,如下:
LoadModule authz_core_module modules/mod_authz_core.so
5)再次启动Apache平台恢复正常,至此,问题解决
4、解决办法:
/etc/apache2/apache.conf配置文件中,添加以下内容,重启Apache:
LoadModule authz_host_module /usr/lib/apache2/modules/mod_authz_host.so
LoadModule authn_file_module /usr/lib/apache2/modules/mod_authn_file.so
LoadModule authz_user_module /usr/lib/apache2/modules/mod_authz_user.so
LoadModule auth_basic_module /usr/lib/apache2/modules/mod_auth_basic.so
LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so
参考资料:
https://blog.csdn.net/qidizi/article/details/8732513
https://blog.51cto.com/jafy00/759925
https://www.cnblogs.com/diegodu/p/4250364.html
http://www.openskill.cn/article/383
https://blog.csdn.net/qq_36204764/article/details/97620051
https://blog.51cto.com/5250070/1351385
https://blog.csdn.net/kaizhu_Qin/article/details/17466527