所以,我在Ubuntu 16.04服务器上安装了Icingaweb2,但当我输入IP/icingaweb2
时我只收到消息
<?php
/*! Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */
require_once '/usr/share/php/Icinga/Application/webrouter.php';
而不是Icingaweb2界面。
我忘了配置什么吗?请帮忙。
答案 0 :(得分:0)
这是一个PHP问题,需要升级到7.0。
运行:
apt-get -y install php7.0 libapache2-mod-php7.0
答案 1 :(得分:0)
这里的根本问题是Ubuntu 16.04在加载PHP模块时表现不同。因此,包需要仅适用于16.04
的特定修复德国人就here进行了一次讨论,该讨论变成了一项研究,最新的Ubuntu版本发生了变化。有一点是 - 他们更喜欢mpm_event而非mpm_prefork作为模块。问题是 - PHP apache模块仅针对mpm_prefork支持进行编译,但在与mpm_event一起使用时会失败很多(请参阅此thread)。
虽然Ubuntu软件包可能满足依赖性问题,但它无法强制更改mpm *模块。所以现在我们有一个针对Icinga Web 2的公开问题,以便更新文档以使其在Ubuntu 16.04上运行。在此之前请检查this solution。
apt-get install libapache2-mod-php7.0 php7.0-dom php7.0-gd
vim /etc/php/7.0/apache2/php.ini
<set timezone>
#set the correct worker
a2dismod mpm_event
a2enmod mpm_prefork
systemctl restart apache2
此时不编译PHP模块以支持mpm_event模块。 PHP 7.0本身可能是线程安全的,但在apache webserver的上下文中没有运行任何其他东西。不知道为什么Ubuntu默认选择不设置mpm_prefork - 升级非常伤害我无法找到任何好的更改日志。