From 9ca673a9178ddcb19af203e4dc71357f103ccebf Mon Sep 17 00:00:00 2001 From: Reisber Date: Thu, 5 Mar 2026 22:38:30 +0000 Subject: [PATCH] zabbix Signed-off-by: Reisber --- linux/zabbix.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 linux/zabbix.md diff --git a/linux/zabbix.md b/linux/zabbix.md new file mode 100644 index 0000000..624ca50 --- /dev/null +++ b/linux/zabbix.md @@ -0,0 +1,110 @@ +# Установка Zabix на Debian 12 в связке с Nginx + +## Установка Zabbix 7 LTS Server и нужных пакетов +Добавим официальный репозиторий Zabbix для Debian 12 (в данном случае будем ставить версию 7.0 LTS): +``` +wget https://repo.zabbix.com/zabbix/7.0/debian/pool/main/z/zabbix-release/zabbix-release_7.0-1+debian12_all.deb +dpkg -i zabbix-release_7.0-1+debian12_all.deb +apt update && apt upgrade -y +``` +Установим Zabbix Server, Nginx, Mysql и Zabbix agent: +``` +apt install zabbix-server-mysql mariadb-server zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent +``` + +## Настройка MySQL +``` +mysql_secure_installation +``` +``` +Enter current password for root (enter for none): +OK, successfully used password, moving on... Жмем ENTER так как у нас пока не задан пароль + +Switch to unix_socket authentication [Y/n] n + +Change the root password? [Y/n] y + +СОЗДАЕМ ПАРОЛЬ ДЛЯ ROOT в Mysql + +Remove anonymous users? [Y/n] y + +Disallow root login remotely? [Y/n] y + +Remove test database and access to it? [Y/n] y + +Reload privilege tables now? [Y/n] y +``` +Создаем базу данных, пользователя и пароль, даем все привилегии на базу пользователю zabbix: +``` +mysql -uroot -p +``` +``` +create database zabbix character set utf8mb4 collate utf8mb4_bin; +create user zabbix@localhost identified by 'ПАРОЛЬ'; +grant all privileges on zabbix.* to zabbix@localhost; +set global log_bin_trust_function_creators = 1; +quit; +``` +Импортируем начальную схему и данные (вводим недавно созданный пароль в Mysql для нашего пользователя zabbix): +``` +zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix +``` +Выключаем опцию log_bin_trust_function_creators после импорта схемы базы данных: +``` +mysql -uroot -p +``` +``` +set global log_bin_trust_function_creators = 0; + +quit; +``` + Настраиваем конфигурационный файл zabbix_server.conf : + ``` + nano /etc/zabbix/zabbix_server.conf + ``` + +Проверяем DBName, DBUser, раскомментируем строку DBPassword и введем там пароль для пользователя zabbix, который мы сделали выше в mysql +``` +DBName=zabbix +DBUser=zabbix +DBPassword=ВАШ ПАРОЛЬ +``` +## Настройка PHP-FPM +Установим Timezone в `/etc/zabbix/php-fmp.conf`, так-же поправим одну штучку, чтобы у нас потом не было проблем +``` +php_value[session.save_path] = /var/lib/php/sessions #Это редачим +php_value[date.timezone] = Europe/Moscow #Это добавляем +``` +## Настройка Nginx +Идём в nano /etc/zabbix/nginx.conf +``` +server { + listen 80; + server_name zabbix.domain.ru; +} +``` + +Затем перезапускаем наши службы и добавляем их в автозагрузку +``` +systemctl restart zabbix-server zabbix-agent nginx php8.2-fpm +systemctl enable zabbix-server zabbix-agent nginx php8.2-fpm +``` +## Получаем SSL сертификат (если все делается без домена, то этот этап можно и нужно пропустить и ходить по HTTP или по самописному серту) +Установим Сертбот и плагин Nginx +``` +apt install certbot python3-certbot-nginx + +``` +Активируем процесс получения сетрификата +``` +certbot run --nginx +systemctl restart nginx +``` + + +## Здесь потом будет часть про самоподисанный сертификат + + + + +## После этого переходим в браузере на http/https:IP/domain_of_your_server