SCROLL

В поисках решения организации SMS шлюза, посредством GSM-модема (прим. Huawei E1550), наткнулся на пакет «smstools», который прекрасно справляется со своими обязанностями (отправка\получение SMS).

Появилась интересная задача, которая заключается в том что нужно подключить GSM-модем USB HUAWEI E1550 к Asterisk 13 работающий на Debian 8 Jessie. Настроить возможность принимать/отправлять SMS, принимать/звонить с номера находящегося в GSM-модеме.

Рассмотрим как выполнить установку из исходников Asterisk 16 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install linux-headers-amd64 gcc make autoconf libtool libical-dev pkg-config default-libmysqlclient-dev -y

 

Устанавливаем DAHDI, LibPRI, libSTRP

Скачиваем исходники (dahdi, libpri, libstrp, asterisk) и распаковываем их:

wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
wget https://github.com/cisco/libsrtp/archive/v2.2.0.tar.gz
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

tar -zxvf dahdi-linux-complete-current.tar.gz 
tar -zxvf libpri-current.tar.gz 
tar -zxvf v2.2.0.tar.gz 
tar -zxvf asterisk-16-current.tar.gz

Рассмотрим как установить систему видео наблюдения ZoneMinder 1.30.4 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install apache2 apache2-utils php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-gd mariadb-server vlc-plugin-base deb-multimedia-keyring -y

 

После установки зависимостей, выполним настройку безопасности MySQL:

mysql_secure_installation

 

Установка ZoneMinder

Добавляем необходимый для установки Zoneminder репозиторий, обновляется данные и выполняем установку:

echo "deb http://www.deb-multimedia.org stretch main non-free" >> /etc/apt/sources.list
apt-get update

apt-get install zoneminder

Продолжаю свое знакомство с XMPP-сервером, на базе ejabberd и реализацию задачи по организации достойного корпоративного мессенджера.

Появилась потребность в корпоративном Jabber-сервере (XMPP). Для реализации задачи выбрал ejabberd, по заявлениям разработчика он легкий, быстрый и надежный как скала.

Разберем как установить систему управления проектами Redmine 4.0.1 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

sudo apt-get install apache2 apache2-dev libapr1-dev libaprutil1-dev libapache2-mpm-itk mysql-server curl libapache2-mod-passenger default-libmysqlclient-dev libcurl4-openssl-dev ruby-rmagick libmagickwand-dev gnupg2 dirmngr -y

 

После установки зависимостей, необходимо выполнить настройку безопасности mysql:

sudo mysql_secure_installation

[stextbox id=’warning’]В ходе выполнения команды, будет заданы вопросы (смены пароля root, удаления анонимных учетных записей, отключения удаленного доступа для root, удаления тестовой базы данных, сброса привилегий)[/stextbox]

Сейчас в качестве основной серверной ОС использую Debian 9 Stretch и в связи с этим планомерно перевожу свои действующие сервисы с Debian 8 Jessie, на Debian 9 Stretch.

 

Поэтому рассмотрим, как собрать из исходников последнюю (на момент написания статьи) версию Subversion 1.11.1, с поддержкой WebDAV.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

apt-get update && apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

apt-get install gcc checkinstall libaprutil1 libaprutil1-dev zlib1g zlib1g-dev liblz4-1 liblz4-dev libserf-1-1 libserf-dev libutf8proc2 libutf8proc-dev apache2 apache2-dev apache2-utils -y

Столкнулся с ситуацией когда понадобилось в безопасном режиме Windows, удалить программу, установленную MSI-установщиком.

 

При попытке удалить, получил ошибку «Не удалось получить доступ к службе Windows Installer».

 

Если попытаться запустить службу Windows Installer, через встроенную оснастку, то увидим ошибку «Эта служба не запускается в безопасном режиме (Safe Mode)».

 

Понадобилось загрузится в безопасном режиме на Windows 10, но сделать это оказалось не тривиальной задачей. В Windows XP и Windows 7 можно было нажать клавишу F8 при запуске, чтобы получить доступ к опции загрузки в безопасном режиме. Но в Windows 10 не получится просто нажать F8, когда ваш компьютер загружается, чтобы увидеть расширенные параметры запуска, такие как безопасный режим и т.д.

 

Механика загрузки в безопасном режиме изменилась в Windows 10. Рассмотрим различные способы загрузки в безопасном режиме в Windows 10.

 

Использование утилиты настройки системы (msconfig)

Если Windows может запускаться в обычном режиме, то можно получить доступ к безопасному режиму загрузки из опций конфигурации системы. Запускаем утилиту конфигурации системы, нажав Win + R, при запуске введите msconfig и нажмите клавишу ввода.

 

В окне «Конфигурация системы», щелкните вкладку загрузки и выберите безопасную загрузку:

 

При написании скрипта на PHP, понадобилось использовать PDO подключение к MS SQL Server.

 

Решается все довольно просто, установкой драйвера PDO_DBLIB, который реализует доступ к базам данных Microsoft SQL Server с использованием библиотеки FreeTDS.

 

Все ниже действия производились на Debian 9 Stretch, с установленной версией PHP 7.2. Как установить PHP 7.2 на Debian 9 Stretch, можно посмотреть из этой статьи.

 

Устанавливаем необходимый модуль:

apt-get install php7.2-sybase

 

В установленных модулях PHP, установленный драйвер будет именоваться pdo_dblib. Для подключения к базе данных MSSQL, нужно использовать dblib, пример:

$dbh = new PDO ("dblib:host=sever;dbname=dbname","username","password");

При переходе на использование Debian 9, обнаружил что имена сетевых интерфейсов имеют странный вид, вместо привычных eth0.. я вижу ens32.

Довольно часто приходится разворачивать серверные системы на базе ОС семейства Debian и одним из основных и первоначальных пунктов в настройке системы, является настройка ее сетевой части.

Продолжаем рассматривать способы защиты веб-сервера, от потенциальных угроз. На этот раз рассмотрим такой инструмент как Fail2ban.

 

Принцип работы Fail2ban, заключается в анализе лог-файлов и реагировании на определенные события которые определены в настройках Fail2ban.

 

Рассмотрим как установить Fail2ban и настроить на защиту веб-сервера (Apache), развернутом на Debian 9 Stretch.

 

Устанавливаем пакет fail2ban:

apt-get install fail2ban -y

 

Конфигурационный файл настройки правил /etc/fail2ban/jail.conf, разработчики не рекомендуют изменять, поэтому создадим его локальную копию, из которого будут в приоритете считываться правила:

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Давно у меня зрела идея, создания какого либо удобного инструмента для получения различного рода информации с имеющегося в работе почтового сервера, на базе MS Exchange 2010 SP3.

 

Перед новым годом, выдались спокойные деньки и я решил что пока начинать реализацию своей задумки.

 

Цель которую я преследую в создании данного продукта, это упрощение сбора различной информации с почтового сервера (прим. квоты пользователей, размеры почтовых ящиков и баз данных и т.д. т.д..), обработка ее и дальнейшие дейтсвия с ней.  Если проект будет востребован, не только мной, но и другими пользователями, то совместными идеями, можно реализовать интересные вещи в итоговом продукте.

 

По итогу прошедшей  недели разработки, у меня уже готова базовая основа проекта, реализованы некоторые механизмы, на которых остановимся по подробней немного.

 

Приложение для связи с почтовым сервером и получения от него какой либо информации от него, используется оболочка powershell. Полученная информация обрабатывается и формируется в табличном виде, для возможности дальнейшей работы с ней (тут можно уже фантазировать над всевозможным функционалом).

Используя в работе голый Asterisk, рано или поздно становится недостаточно стандартных инструментов, для решения нужных задач. В этом случае нам поможет интерфейс AGI, который позволяет Asterisk взаимодействовать со сторонними приложениями, к примеру с приложением написанным на PHP.

 

Рассмотрим как настроить взаимодействие Asterisk с классом phpagi, посредством интерфейса AGI (Asterisk Gateway Interface).

[stextbox id=’info’]Все ниже действия будут производится на Debian 8 JessieAsterisk 13 и версией PHP — 5.6. Хочу обратить внимание что ниже описанное так же будет применимо к FreePBX[/stextbox]

 

Настройка Asterisk

Для подключения класса phpagi, в конфигурационный файл (/etc/asterisk/manager.conf), добавляем параметры подключения его (прим. astphp):

Рассмотрим такую технологию как BLF (Busy Lamp Field) — индикатор занятости линии.

 

Имея телефонный аппарат с поддержкой функции BLF (Busy Lamp Field) и развернутый Asterisk 13, можно реализовать функцию контроля абонентов в реальном времени (занят/свободен) и быстрый вызов абонента, нажатием одной клавиши на телефонном аппарате.

 

Выполним настройку поддержки функции BFL в АТС Asterisk 13.

 

В файле описания плана набора extentions.conf, добавим правило обработки BFL:

; Busy Lamp Functionality
[BLF]
exten => _XXXX,hint,SIP/${EXTEN}

Правила для входящих писем в MS Outlook помогают пользователям организовывать свои почтовые ящики. Обычно пользователи сами для себя создают необходимые правила обработки входящей почты, через приложение MS Outlook, но! системный администратор может так же управлять правилами обработки почты, в пользовательских почтовых ящиках.

В работе имеется почтовый сервер на базе MS Exchange 2010 SP3. Необходимо в пользовательских почтовых ящиках, в корневой папке (Входящие), создать пользовательскую папку.

 

Задачу будем решать при помощи Microsoft Exchange Web Services Managed API 2.0 и скрипта написанном на PowerShell.

 

Скачиваем с оф. сайта Microsoft Exchange Web Services Managed API 2.0 . Устанавливаем на сервер, на котором развернут почтовый сервер Exchange.

 

Теперь необходимо назначить роль «ApplicationImpersonation«, для пользователя от имени которого будет выполнятся подключение к EWS. Выполним команду в EMS (Exchange Managment Shell):

New-managementroleassignment –Role "ApplicationImpersonation" –user administrator