Po aktualizacji bazy MariaDB do wyższej wersji, klient Zabbix`a ogłosił błąd jak w temacie. Wystarczyło wykonać następujące komendy aby dalej ruszyło:

  1. Użytkownik który łączy się do Mysql – u mnie jest to zabbix. Zatem najpierw sprawdzam do jakich hostów został przydzielony w bazie:

    mysql -u root -p

    SELECT host FROM mysql.user WHERE User = ‘zabbix’;

    +———–+
    | Host |
    +———–+
    | localhost |
    +———–+


    Widzimy tutaj, że użytkownik zabbix ma dostęp tylko do localhost, więc musimy dodać go do 127.0.0.1, robiąc to w następujący sposób:

    show grants for ‘zabbix’@’localhost’; funkcja ta sprawdza przywileje;

    Przydzielamy uprawnienia dla 127.0.0.1:

    GRANT PROCESS, SHOW DATABASES, BINLOG MONITOR, SHOW VIEW, SLAVE MONITOR ON . TO 'zabbix‘@’127.0.0.1’ IDENTIFIED BY PASSWORD ‘tu wpisz swoje hasło’

TLSv1.0 lub 1.1 mogą posiadać sporo podatności ułatwiających podszycie się pod naszą stronę www. Zalecane jest włączenie TLSv1.2 i 1.3. Jeśli posiadamy zainstalowany dodatkowo certyfikat LetsEncrypt robimy jak poniżej:

nano /etc/letsencrypt/options-ssl-apache.conf

i tam wpisujemy jak poniżej:

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1

Na końcu wykonujemy restart Apache2 (warto mieć najnowszą wersję Apache2, gdyż wcześniejsze mogą nie obsługiwać protokołu TLSv1.3):

systemctl restart apache2

Poprawność naszych ustawień możemy sprawdzić dwojako:

  1. poprzez nmap następującą komendą:
    nmap –script ssl-enum-ciphers -p 443 nazwanaszejstrony.pl
  2. poprzez stronę https://www.ssllabs.com/ssltest/

Wersja Zabbix`a 6.2 nie wspiera PHP 8.2. Dlatego należy wykonać upgrade do wyższej wersji samego Zabbix`a oraz PHP. Zacznijmy od PHP:

  1. Sprawdźmy najpierw wersję samego PHP:
    php -V oraz zależności: dpkg -l | grep php | tee paczki.txt

    Jeśli wersja jest niższa niż 8.2, możemy przystąpić do podniesienia:
    apt install apt-transport-https lsb-release ca-certificates wget -y

    wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

    sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’

    apt update

    apt install php8.2 php8.2-cli php8.2-{bz2,curl,mbstring,intl}

    apt install php8.2-fpm


    Po instalacji możemy sprawdzić naszą najnowszą wersję PHP, komendą:
    php -V

    Następnie włączamy wersję PHP v. 8.2:

    a2enconf php8.2
    a2enmod php8.2


    Restartujemy apache2:
    systemctl restart apache2
  2. Podniesienie wersji Zabbix z 6.2 do 6.4
    Zatrzymujemy Zabbix:
    systemctl stop zabbix-server oraz pochodne jeśli były zainstalowane (zabbix agent, zabbix proxy)

    Tworzymy backup naszych poprzednich ustawień:
    mkdir /opt/zabbix-backup/

    cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/

    cp /etc/apache2/conf-enabled/zabbix.conf /opt/zabbix-backup/

    cp -R /usr/share/zabbix/ /opt/zabbix-backup

    Usuwamy stare repozytorium zabbix.list:

    rm -Rf /etc/apt/sources.list.d/zabbix.list

    Pobieramy i instalujemy (upgrade) nowe paczki Zabbix 6.4:

    wget https://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix-release/zabbix-release_6.4-1+debian11_all.deb

    dpkg -i zabbix-release_6.4-1+debian11_all.deb

    apt-update

    apt-get install –only-upgrade zabbix-server-mysql zabbix-frontend-php zabbix-agent

    apt-get install zabbix-apache-conf

    mysql -u root -p

    grant all privileges on zabbix.* to zabbix@localhost;

    set global log_bin_trust_function_creators = 1;

    nano /etc/zabbix/zabbix_server.conf i szukamy wpisu:
    DBPassword=wpisujemy hasło do bazy zabbix w mysql

    Sprawdzamy jeszcze raz czy nie mamy nic do updateu:

    apt update
    apt upgrade
    cat /var/log/zabbix/zabbix_server.log | grep database


    Ustawiamy w mysql jeszcze parametr:

    mysql -u root -p
    set global log_bin_trust_function_creators = 0;


    Startujemy Zabbix
    6.4:

    systemctl start zabbix-server
    systemctl start zabbix-agent
  3. Zabbix podniesiony do wersji 6.4