Как обновить MariaDB до 10.5 на Debian 10
Переодически нужно обновить MariaDB до 10.5 на Debian 10 и каждый раз вспоминаю как это сделать, поэтому для памятки оставлю как MariaDB до 10.5 и выше на Debian 10 Buster.
Переодически нужно обновить MariaDB до 10.5 на Debian 10 и каждый раз вспоминаю как это сделать, поэтому для памятки оставлю как MariaDB до 10.5 и выше на Debian 10 Buster.
Обновил Zabbix c 5.4 до 6.4 и обнаружил что оповещения Telegram не работают, отображается ошибка — Sending failed: ReferenceError: identifier 'CurlHttpRequest' undefined
# Устанавливаем необходимые пакеты зависимостей. Все действия ниже будут выполняться от root.
apt-get install build-essential linux-headers-`uname -r` apt-transport-https gnupg2 sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr -y
[stextbox id=’warning’]ВНИМАНИЕ. Желательно перезагрузить систему и после этого продолжить установку.[/stextbox]
# Устанавливаем PHP версии 7.4 (для корректной работы FreePBX fwconsole):
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/sury-php.list apt-get update && apt-get install php7.4 php7.4-curl php7.4-cli php7.4-common php7.4-mysql php7.4-gd php7.4-mbstring php7.4-intl php7.4-xml php-pear -y
# Устанавливаем NodeJS :
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - apt-get install nodejs -y
# Устанавливаем поддержку MariaDB ODBC
wget https://downloads.mariadb.com/Connectors/odbc/latest/mariadb-connector-odbc-3.1.9-debian-buster-amd64.tar.gz tar -zxvf mariadb* cp -v mariadb-connector-odbc-3.1.9-debian-buster-amd64/lib/mariadb/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
[stextbox id=’alert’]ВНИМАНИЕ. На момент написание статьи версия MariaDB ODBC — 3.1.9, поэтому обращаем внимание на случай ошибок и при необходимости корректируйте версионность. Последние версии можно посмотреть на оф. сайте — https://downloads.mariadb.com/Connectors/odbc/latest/.[/stextbox]
Для памятки как настроить LDAP аутентификацию в Greenbone Vulnerability Management.
Для памятки себе и другим опишу ниже процесс удаления Elasticsearch из Linux.
# Деинсталлируем пакет Grafana из системы с последующей чисткой от не нужных пакетов после деинсталляции.
apt-get purge grafana grafana-enterprise apt autoremove
# Подчищаем оставшиеся после деинсталляции файлы и каталоги относящиеся к Grafana.
rm /etc/systemd/system/multi-user.target.wants/grafana-server.service rm /sys/fs/cgroup/pids/system.slice/grafana-server.service rmdir /sys/fs/cgroup/pids/system.slice/grafana-server.service rmdir /sys/fs/cgroup/devices/system.slice/grafana-server.service rmdir /run/grafana/grafana-server.pid rm /run/grafana/grafana-server.pid rmdir /run/grafana
JSON-C реализует объектную модель подсчета ссылок, которая позволяет вам легко создавать объекты JSON на C, выводить их в виде строк в формате JSON и анализировать строки в формате JSON обратно в представление объектов JSON на языке C.
Python — это высокоуровневый язык программирования общего назначения с динамической строгой типизацией и автоматическим управлением памятью.
Clam AntiVirus — пакет антивирусного ПО, работающий во многих операционных системах, включая Unix-подобные ОС, OpenVMS, Microsoft Windows и Apple macOS.
Опишу для памятки как реализовать поддержку шифрования по ГОСТ Р 34.10-2012 (GOST2012) в OpenSSL 1.1.1 на Debian 10 Buster.
Реализация криптоалгоритмов российского ГОСТа для OpenSSL — https://github.com/gost-engine/engine
Устанавливаем необходимые зависимости для сборки пакетов:
apt-get install g++ gcc make
Скачиваем исходники, распаковываем их:
wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz tar -zxvf openssl-1.1.1p.tar.gz cd openssl-1.1.1p
Собираем пакет и устанавливаем его:
./config --prefix=/usr/ssl --openssldir=/usr/ssl make all make install cd ..
Вносим изменения чтобы по умолчанию использовалась установленная версия:
rm /usr/bin/openssl ln -s /usr/ssl/bin/openssl /usr/bin/openssl echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf ldconfig
Для проверки, выведем установленную версию:
openssl version -v OpenSSL 1.1.1p 21 Jun 2022
Для корректной сборки gost-engine, установим последнюю (на момент написания статьи) версию cmake.
Устанавливаем необходимые зависимости:
apt-get install git libssl-dev
Скачиваем исходники, распаковываем их:
wget https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2.tar.gz tar -zxvf cmake-3.23.2.tar.gz cd cmake-3.23.2
Собираем пакет и устанавливаем его:
./bootstrap --prefix=/usr make make install cd ..
Для проверки, выведем установленную версию:
cmake --version cmake version 3.23.2
В один прекрасный момент при попытке обновить пакеты php через репозиторий packages.sury.org получил ошибку недействительного публичного ключа для packages.sury.org.
Столкнулся с таким вопросом — как удалить пакет собранный из исходников и установленный make install.
Для памятки оставлю для метода как это сделать, все ниже действия производится на Debian 10 (более чем уверен что все описанное ниже будет применимо для всех deb-like Linux систем).
Для памятки опишу как установить модуль chan_sccp в FreePBX на базе Asterisk 18.
Описывать конфиги и настройку не буду (по крайней мере на момент написания статьи), вся исчерпывающая информация тут — https://github.com/chan-sccp
Устанавливаем необходимые для успешной сборки пакеты и скачиваем chan_sccp:
apt-get install git build-essential make install-headers -y cd /opt/ git clone https://github.com/chan-sccp/chan-sccp.git chan-sccp cd /opt/chan-sccp
Посмотрим какая версия Asterisk установлена, чтобы для нее сконфигурировать chan_sccp:
asterisk -rx "core show version"
Конфигурируем, компилируем и устанавливаем:
./configure --with-asterisk-version=18.7 make make install
После установки обязательно отключаем модуль chan_skinny.so и включаем chan_sccp.so в GUI FreePBX в модули Asterisk.
Для памятки себе оставлю, как установить\обновить версии PHP 8.3, 8.2, 8.1, 8.0 / 7.4, 7.3, 7.2, 7.1 на Debian 12/11/10 (более чем уверен что все описанное ниже будет применимо для всех deb-like Linux систем).
При использовании Linux и необходимости подключения к сервису Exchange Online через PowerShell, то это можно легко сделать, рассмотрим ниже как это сделать.
Imapsync — инструмент командной строки, который позволяет инкрементную и рекурсивную передачу данных IMAP из одного почтового ящика в другой, где бы они ни находились в интернете или в локальной сети.
MSMTP — это SMTP-клиент, который позволяет различным скриптам и приложениям на PHP, Python и т. п. использовать отправку почты посредством стороннего сервера.
Greenbone — это программное обеспечение для сканирования уязвимостей и управления ими с открытым исходным кодом. Оно предоставляет набор тестов на сетевую уязвимость для поиска лазеек безопасности в системах и приложениях.
[stextbox id=’info’]ИНФОРМАЦИЯ. Немного актуализировал статью под новую версию Debian, чтобы установка из статьи проходила в режиме copy-paste без ошибок.[/stextbox]
Рассмотрим как установить FreePBX 14 в связке с Asterisk 18 на Debian 10 Buster.
Перед началом установки обновляем систему до актуального состояния:
apt-get update && apt-get upgrade -y
Устанавливаем необходимые зависимости:
apt-get install build-essential linux-headers-`uname -r` apt-transport-https bison flex curl sox libncurses5-dev libssl-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libspandsp-dev subversion libtool-bin python-dev unixodbc dirmngr sudo apache2 mariadb-server mariadb-client default-libmysqlclient-dev -y
[stextbox id=’alert’]ВНИМАНИЕ. Обязательно перезагружаем систему и после этого продолжаем установку.[/stextbox]
Устанавливаем PHP версии 5.6 (для корректной работы FreePBX fwconsole):
curl https://packages.sury.org/php/apt.gpg | apt-key add - echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/deb.sury.org.list apt-get update && apt-get install php5.6 php5.6-curl php5.6-cli php5.6-mysql php5.6-mbstring php5.6-gd php5.6-xml php-pear -y
Устанавливаем NodeJS :
curl -sL https://deb.nodesource.com/setup_11.x | sudo -E bash - apt-get install nodejs -y pear install Console_Getopt
Устанавливаем поддержку MariaDB ODBC
wget https://downloads.mariadb.com/Connectors/odbc/latest/mariadb-connector-odbc-3.1.9-debian-buster-amd64.tar.gz tar -zxvf mariadb* cp -v mariadb-connector-odbc-3.1.9-debian-buster-amd64/lib/mariadb/libmaodbc.so /usr/lib/x86_64-linux-gnu/odbc/
[stextbox id=’alert’]ВНИМАНИЕ. На момент написание статьи версия MariaDB ODBC — 3.1.9, поэтому обращаем внимание на случай ошибок и при необходимости корректируйте версионность. Последние версии можно посмотреть на оф. сайте — https://downloads.mariadb.com/Connectors/odbc/latest/.[/stextbox]
Рассмотрим как реализовать доступ к FreePBX GUI через HTTPS. Все действия производились на FreePBX установленный на Debian 9 Stretch (как установить можно почитать тут) и Apache.
Любым удобным вам способом копируем сертификат, закрытый ключ, промежуточные + корневой сертификат в систему (как это сделать через SSH можно почитать тут). Так как сертификатом будет пользоваться веб-сервер Apache, то не забываем прописать на файлы сертификатов соответствующие права. Я выставляю такие права доступа на файлы сертификатов:
chown root:www-data {путь к файлу} chmod 640 {путь к файлу}
Включаем модуль SSL в Apache:
a2enmod ssl
Конфигурация виртуального хоста. Приводим дефолтный вирт. хост /etc/apache2/sites-available/000-default.conf к виду:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> <VirtualHost *:443> ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine On SSLCertificateFile /etc/ssl/crt.crt SSLCertificateKeyFile /etc/ssl/key.key SSLCACertificateFile /etc/ssl/crt-ca.crt </VirtualHost>
[stextbox id=’warning’]ВНИМАНИЕ. Обращаю внимание что в SSLCertificateFile, SSLCertificateKeyFile, SSLCACertificateFile указываем свой путь к файлам.[/stextbox]