Данный пост предназначен для всех тех, кто ищет подробное описание процесса установки Zabbix версии 5.4-1 на Ubuntu Server версии 20.04. Zabbix - это решение распределенного мониторинга корпоративного класса с открытыми исходными кодами. В данном руководстве мы с Вами рассмотрим случай, когда у нас уже есть сервер с установленной на нем серверной ОС Ubuntu Server 20.04 LTS. (в интернете довольно много руководств по поисковому запросу "установка и первоначальная настройка Ubuntu Server 20.04", поэтому данный процесс описываться в рамках представленного поста не будет). На сервере обязательным условием будет иметь установленный OpenSSH, а также открыть 22 порт, эти процедуры необходимо проделать чтобы подключаться к серверу по протоколу SSH, например через программное обеспечение PuttY или если вы работаете в linux ОС то через его встроенный терминал. В моем случае я использую терминал встроенный в ОС Ubuntu, зная ip адрес сервера команда для подключения к нему по протоколу shh выглядит следующим образом: ssh habr@192.168.0.104 где ssh — это протокол для установки связи между PC и сервером, а далее идет имя пользователя@адрес сервера, в моем случае это habr@192.168.0.104, после чего система при первом подключении спросит Вас уверенны ли Вы, что хотите продолжить подключение: Ответив системе yes и нажав enter мы соглашаемся, после чего необходимо будет ввести пароль habr@192.168.0.104's password: Вводим пароль и попадаем на сервер, выглядит это так: После того как мы с Вами подключились к серверу, нам необходимо загрузить и установить пакет конфигурации репозитория Zabbix. Для этого выполним следующую команду: wget https://repo.zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1%2Bubuntu20.04_all.deb После того как загрузка будет окончена мы можем установить пакет конфигурации репозитория Zabbix с помощью команды: sudo dpkg -i zabbix-release_5.4-1+ubuntu20.04_all.deb Далее необходимо обновить локальный индекс пакетов до последних изменений в репозиториях с помощью команды: sudo apt update На этом этапе мы можем установить пакеты, необходимые для работы, с помощью команды: sudo apt install -y apache2 apt-transport-https certbot python3-certbot-apache mysql-server zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent  В данном руководстве в  качестве веб-сервера будет использован - Apache, а в качестве системы для управления базами данных - MySQL. После завершения операции по установке пакетов нам необходимо включить модуль веб-сервера Apache под названием “rewrite”, делается это с помощью команды: sudo a2enmod rewrite Следующим этапом будет создание файла виртуального хоста, с которым в дальнейшем будет работать Zabbix. Для этого воспользуемся текстовым редактором, с помощью команды: sudo vim /etc/apache2/sites-available/zabbixhabr.local.conf !!!(вместо zabbixhabr.local укажите свой домен)  Обратите внимание на то, что для доступа к панели управления Zabbix из сети Интернет необходимо указать полноценный домен или субдомен, иметь статический ip адрес и переадресацию портов на Ваш сервер. Я произвожу установку Zabbix локально и его публикацию в дальнейшем не планирую. Находясь в текстовом редакторе "vim" необходимо нажать “i” на клавиатуре, чтобы перейти в режим редактирования, затем нужно вставить следующую конфигурацию в создаваемый файл для работы веб-сервера: Далее нажмите на кнопку “Esc”, чтобы выйти из режима редактирования, а затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора "vim". Активируем созданный виртуальный хост с помощью команды: sudo a2ensite zabbixhabr.local.conf Также в Apache желательно деактивировать виртуальный хост, созданный по умолчанию, с помощью команды: sudo a2dissite 000-default.conf Если сейчас попробовать убедиться, что в синтаксисе нового конфигурационного файла Apache нет ошибок, с помощью команды: sudo apache2ctl configtest То можно будет столкнуться с тем что сервер ответит нам: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Исправить это можно отредактировав файл apache2.conf с помощью комманды: sudo vim /etc/apache2/apache2.conf Добавив в нижнюю строку файла ServerName myserver.mydomain.com, в моем случае я пишу ip адрес так как использую локально zabbix ServerName 192.168.0.104 Давайте перезапустим Apache, чтобы применить внесенные изменения, с помощью команды: sudo systemctl restart apache2 Проверить, что Apache успешно запустился, можно с помощью команды: sudo systemctl status apache2 Следующим этапом нам необходимо настроить MySQL для работы с Zabbix. Первое что необходимо сделать, это запустить скрипт “mysql_secure_installation”, который предназначен для обеспечения безопасности MySQL. Запустить скрипт можно с помощью команды: sudo mysql_secure_installation Далее система просит нас ответить на несколько вопросов для обеспечения базового уровня безопасности MySQL. Первый вопрос о том, хотим ли мы воспользоваться плагином для проверки надежности пароля, который необходимо будет задать позже для пользователя “root”, обладающего правами администратора в MySQL. Так как я использую Zabbix локально то я отвечаю системе нет и она сразу же просит меня ввести пароль для root пользователя mysql: Далее система спрашивает нас, хотим ли мы удалить анонимных пользователей. Нажимаем на кнопку “y”, затем “Enter”. Следующий вопрос, хотим ли мы отключить возможность удаленного подключения для пользователя “root”. Нажимаем на кнопку “y”, затем “Enter”. После хотим ли мы удалить тестовые базы данных. Нажимаем на кнопку “y”, затем “Enter”. И последний вопрос, перезагрузить таблицы привилегий сейчас? Нажимаем на кнопку “y”, затем “Enter”. Мы с Вами настроили базовый уровень безопасности MySql и теперь необходимо создать базу данных Zabbix, а также пользователя с необходимыми правами в эту базу данных. Подключиться к консоли управления MySQL можно с помощью команды: sudo mysql -u root -p В терминале система запросит у Вас пароль от учетной записи “root”, заданный ранее, после его ввода нажимаем на кнопку “Enter” и попадаем в консоль команд MySql: В моем случае в качестве имени базы данных для Zabbix я укажу “zabbixhabrdb”. Итак, создаем базу данных, с помощью команды: CREATE DATABASE zabbixhabrdb CHARACTER SET utf8 COLLATE utf8_bin; В качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, я буду использовать “zabbixhabr” с паролем “ZabbHabr2021”. Создать пользователя и назначить ему пароль можно с помощью команды: CREATE USER 'zabbixhabr'@'localhost' IDENTIFIED BY 'ZabbHabr2021'; Выдать пользователю права на ранее созданную базу данных необходимо с помощью команды: GRANT ALL ON zabbixhabrdb.* TO 'zabbixhabr'@'localhost'; Применим внесенные изменения с помощью команды: FLUSH PRIVILEGES; Отключиться от консоли управления MySQL можно с помощью команды: quit Теперь нам необходимо настроить схему и импортировать данные в ранее созданную базу данных для работы Zabbix. Для этого выполним команду: zcat /usr/share/doc/zabbix-sql-scripts/mysql/create.sql.gz | mysql -u zabbixhabr -p zabbixhabrdb В качестве имени базы данных для работы Zabbix используется “zabbixhabrdb”, ав качестве имени пользователя, обладающего правами на базу данных для работы Zabbix, используется “zabbixhabr”. Замените их на свои! Указываем пароль от учетной записи “ZabbHabr2021” в моем случае, и нажимаем на кнопку “Enter”. Дождавшись окончания операции настройки схемы и импорта данных в базу следующим шагом нам с Вами необходимо внести изменения в конфигурационный файл Zabbix, давайте откроем его в текстовом редакторе с помощью команды: sudo vim /etc/zabbix/zabbix_server.conf Нажимаем на кнопку “i”, чтобы перейти в режим редактирования и тут нам будет необходимо найти и вписать следующие параметры, предварительно раскомментировав(удалить символ "#" в начале строки если он имеется) их : DBHost=localhost DBName=zabbixhabrdb DBUser=zabbixhabr DBPassword=ZabbHabr2021 Введя свои параметры можно нажать “Esc”, чтобы выйти из режима редактирования, затем введите “:x” и нажмите на кнопку “Enter”, чтобы сохранить изменения и выйти из редактора. Далее необходимо внести изменения в конфигурационный файл Apache, открыв его в текстовом редакторе с помощью команды: sudo vim /etc/zabbix/apache.conf Тут нас интересует параметр “php_value date.timezone Europe/Riga”, раскомментируем его, удалив символ “#”. Затем указываем вместо “Europe/Riga”, часовой пояс, в котором находится ваш сервер Zabbix. Список поддерживаемых часовых поясов можно найти по ссылке. Я впишу Europe/Moscow т.к. мой сервер находится в часовом поясе Москвы. Давайте перезапустим Zabbix, Zabbix Agent и Apache, чтобы применить внесенные изменения, для этого необходимо выполнить команду: sudo systemctl restart zabbix-server zabbix-agent apache2 После того как сервисы перезапустились мы можем включить их автозапуск при старте операционной системы, для этого выполним команду: sudo systemctl enable zabbix-server zabbix-agent apache2 Для продолжения процесса установки Zabbix необходимо с рабочей станции перейти по ссылке http://192.168.0.104/setup.php, где 192.168.0.104 - ip моего сервера. Соответственно, вам необходимо указать имя или IP-адрес вашего сервера Zabbix. Нажимаем на кнопку "Next step" в правом нижнем углу. Далее нас встречает страница "Проверка предпосылок" Убеждаемся что напротив всех проверит стоит значение "ОК" и снова нажимаем на кнопку "Next step" в правом нижнем углу. На следующей странице нужно Настроить подключение к БД. В поле “Database type” выбираем “MySQL”. Так как база данных для работы Zabbix находится на одном сервере с Zabbix. В поле “Database host” указываем “localhost”. В поле “Database port” указываем значение “0”, чтобы использовать порт по умолчанию, для подключения базы данных. В поле “Database name” указываем “zabbixhabrdb” или ранее указанное Вами имя. В поле “User” указываем “zabbixhabr” или ранее указанное Вами имя. В поле “Password” указываем пароль, присвоенный пользователю “zabbixhabr” или указанному Вами пользователю. После того как мы ввели все данные, нажимаем на кнопку "Next step" в правом нижнем углу. На следующей странице нужно указать сведения о вашем сервере Zabbix. В поле “Host” я указываю “localhost” т.к. сервер у меня локальный. В поле “Port” указываем “10051” он стоит по умолчанию. Нажимаем на кнопку "Next step" в правом нижнем углу. На следующей странице мы можем увидеть часовой пояс который мы установили, а также изменить цветовую тему по умолчанию, снова нажимаем на кнопку “Next step” в правом нижнем углу. На следующей странице мы видим суммарную информацию по установке, и проверив ее, снова нажимаем на кнопку “Next step” в правом нижнем углу. Все готово для использования Zabbix. Нажимаем на кнопку “Finish” в правом нижнем углу. Логин для учетной записи администратора Zabbix по умолчанию: Admin Пароль для учетной записи администратора Zabbix по умолчанию: zabbix Указываем имя пользователя и пароль учетной записи Zabbix, и нажимаем на кнопку “Sign in”. Добро пожаловать в панель управления сервером Zabbix.