snaiper04ek
@snaiper04ek
Не стреляйте в эникея, он админит как умеет

Как исправить то, что bareos-webui выдаёт текст php скрипта, вместо страницы?

Чистая установка ubuntu 22.04 server на голое железо
поставил postgres, поставил bareos, и bareos-webui на одну машину

Ранее уже настраивал bareos с webui на другом сервере, и всё было хорошо, сразу появился вход в систему там, где нужно.

на текущей машине apache2 работает, и сервис, и страница апача отображается корректно.
Были проблемы с правами доступа к папкам bareos, я их исправил, от греха подальше грузанул сервер полностью. Сервисы bareos в работе.

при переходе в ip_address/bareos-webui выдаёт белую страницу с таким содержимым, как если бы это был просто текстовый файл:
(здесь читать не надо, в самом низу вопроса прикрепил сам файл)
. * */ if (isset($_SERVER['APPLICATION_ENV']) && $_SERVER['APPLICATION_ENV'] == 'development') { error_reporting(E_ALL); ini_set("display_errors", 1); define('REQUEST_MICROTIME', microtime(true)); } /** * This makes our life easier when dealing with paths. Everything is relative * to the application root now. */ chdir(dirname(__DIR__)); // Decline static file requests back to the PHP built-in webserver if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) { return false; } // Setup autoloading require 'init_autoloader.php'; // Run the application! Zend\Mvc\Application::init(require 'config/application.config.php')->run();


Выдаваемая страница является файлом /usr/share/bareos-webui/public/index.php
Получается, апач по какой-то причине не обрабатывает страницу как скрипт, а выдаёт как текст.

Пытался разные куски текста скормить гуглу, ничего путного не нашёл, по bareos такой инфы тоже не гуглится
Подскажите, пожалуйста, что происходит и как с этим бороться

Не знаю что ещё предоставить, поэтому вот рандомная информация, которая возможно чем-то поможет:

sudo find / -name 'php.ini'
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cli/php.ini


ps aux | grep apache
root         769  0.0  0.1   8452  6320 ?        Ss   12:15   0:00 /usr/sbin/apache2 -k start
www-data     771  0.0  0.1   8400  4336 ?        S    12:15   0:00 /usr/sbin/apache2 -k start
www-data     773  0.0  0.1 1999876 4996 ?        Sl   12:15   0:00 /usr/sbin/apache2 -k start
www-data     774  0.0  0.1 1999948 5732 ?        Sl   12:15   0:00 /usr/sbin/apache2 -k start
krivas      1818  0.0  0.0   6476  2340 pts/0    S+   13:49   0:00 grep --color=auto apache


ls -l /usr/share/bareos-webui/public/index.php
-rw-r--r-- 1 root root 1680 Sep 15 09:30 /usr/share/bareos-webui/public/index.php


сам файл index.php
<?php

/**
 *
 * bareos-webui - Bareos Web-Frontend
 *
 * @link      https://github.com/bareos/bareos for the canonical source repository
 * @copyright Copyright (c) 2013-2023 Bareos GmbH & Co. KG (http://www.bareos.org/)
 * @license   GNU Affero General Public License (http://www.gnu.org/licenses/)
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

if (isset($_SERVER['APPLICATION_ENV']) && $_SERVER['APPLICATION_ENV'] == 'development') {
    error_reporting(E_ALL);
    ini_set("display_errors", 1);
    define('REQUEST_MICROTIME', microtime(true));
}

/**
 * This makes our life easier when dealing with paths. Everything is relative
 * to the application root now.
 */
chdir(dirname(__DIR__));

// Decline static file requests back to the PHP built-in webserver
if (php_sapi_name() === 'cli-server' && is_file(__DIR__ . parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH))) {
    return false;
}

// Setup autoloading
require 'init_autoloader.php';

// Run the application!
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
@AlexanderBz
В версии Version 23.0.1~pre7.606b211eb на Ubuntu 20.04 у меня это решилось:

$ sudo apt install libapache2-mod-php
# systemctl status apache2


Глубоко копать не пришлось. Хотя команды для включения модуля у них уже достаточно давно рекомендованы в мануале, однако, нужны были далеко не для всех дистрибутивов.

Вероятно, в предыдущей версии bareos-webui нужное подтягивалось зависимостями, в этой версии модуля в зависимостях нет:

# apt-cache depends bareos-webui
bareos-webui
 |Depends: apache2
  Depends: <httpd>
    tntnet
    apache2
    lighttpd
    micro-httpd
    mini-httpd
    nginx-core
    nginx-extras
    nginx-full
    nginx-light
    ocsigenserver
    webfs
    yaws
  Depends: php-fpm
  Depends: php-date
  Depends: php-intl
    php7.4-intl
  Depends: php-json
    php7.4-json
  Depends: php-curl
    php7.4-curl


Они не первый раз уже с обновлением забивают на подобные мелочи: например, в прошлых версиях для Debian систем не было по-умолчанию файла /etc/bareos-webui/configuration.ini, а начиная с этой версии у них нет номера версии в ссылке на репозиторий и оно теперь `current`, или `next` (что особенно вымораживает, когда ты ставишь все ansible'ом -- приходится обновлять роль).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы