четверг, 10 марта 2016 г.

Решение падения в core Apache 2x + PHP 5x

Уже второй раз сталкиваюсь с проблемой падения в core dumped вебсервера Apache 2x после установки PHP 5x на FreeBSD. Ну и, по традиции, опять забываю как исправлял ситуацию )
Проблема в криво собирающимся модуле php-imap. Если апач падает и вразумительного ничего в логах не пишется - стоит попробовать просто пересобрать этот модуль:

cd /usr/ports/mail/php5x-imap
make deinstall
make reinstall clean

среда, 9 марта 2016 г.

Создание пользователя в MySQL

Память лучше не становится - забываю как создать пользователя в mysql, так что данная подсказка не помешает:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';
FLUSH PRIVILEGES;

Свой пароль можно поменять через:

SET PASSWORD = PASSWORD('пароль')

Пароль определенного пользователя можно поменять через:

SET PASSWORD FOR логин@localhost = PASSWORD('пароль');
SET PASSWORD FOR логин@"%" = PASSWORD('пароль');

среда, 17 февраля 2016 г.

Обновление таймзоны в Elastix 2.5

При очередной установке Elastix запамятовал как я обновлял таймзоны для современных российских реалий, что бы не было часового убегания вперед и все правила маршрутизации звонков отрабатывали штатно в свое время. Пришлось даже погуглить )
Но в результате вспомнил что просто надо обновить сами таймзоны, что и проделал с помощью
yum -y install tzdata
Сделать резервную копию текущей таймзоны
mv /etc/localtime /etc/localtime.bak
Найти в каталоге /usr/share/zoneinfo требуемую временную зону (для меня это Asia/Yekaterinburg) и создать на нее символическую ссылку
ln -s /usr/share/zoneinfo/Asia/Yekaterinburg /etc/localtime
И все стало хорошо )

пятница, 5 февраля 2016 г.

Работа с ODBC в диалплане Elastix

Понадобилось быстрое решение - не ломая существующей логики работы АТС на базе Elastix, внедрить проверку звонящего по номеру и сопоставить его с его личным менеджером. Руководство компании было против каких-либо IVR и тому подобного, требовался просто перевод на номер менеджера. Поэтому, поразмыслив, я принял решение организовать подобный проброс звонка с проверкой привязки CID к конретному extension в базе данных MySQL. Проверку решил сделать с помощью ODBC.

Что требуется сделать:

1. Доставить библиотеки yum install libtool-ltdl mysql-connector-odbc

2. Создать базу данных с двумя полями cid и extension (в принципе можно реализовать и подстановку имени или названия компании в CALLERID(name), создав дополнительные поля в БД и чуть усложнив логику, но в данный момент мне этого было ненужно)

3. Прописать в файлике /etc/odbcinst.ini коннектор к библиотекам

[MySQL]
Description     = ODBC for MySQL
Driver          = /usr/lib/libmyodbc3.so
Setup           = /usr/lib/libodbcmyS.so
FileUsage       = 1

4. Прописать в файлике /etc/odbc.ini коннектор к базе mysql

[cidroute]
Driver = MySQL
Server = localhost
Port = 3306
User = mysql_user
Password = mysql_password
Database = cidroute
Socket =

5. Протестировать соединение isql -v cidroute (может потребоваться перезагрузка)

6. Прописать в файлике астериска res_odbc.conf коннект к odbc

[cidroute]
enabled => yes
dsn => cidroute
username => mysql_user
password => mysql_password
pooling => no
limit => 1
pre-connect => yes

7. Прописать в файлике астериска func_odbc.conf функцию для вызова

[CIDROUTE]
dsn=cidroute
readsql=SELECT extension FROM numbers WHERE cid='${CALLER}'

8. Прописать в файлике астериска extensions_additional.conf в логике входящих звонков (к примеру в настройках входящих в транк) проверку на присутствие в базе внешнего номера

[from-trunk-sip-70123456789]
include => from-trunk-sip-70123456789-custom
exten => _.,1,Set(CALLER=${CALLERID(num)})
exten => _.,n,Set(resultid=${ODBC_CIDROUTE()})
exten => _.,n,Set(GROUP()=OUT_15)
exten => _.,n,ExecIf($["${resultid}" > ""]?Goto(from-trunk,${resultid},1)
exten => _.,n,Goto(from-trunk,${EXTEN},1)

9. Если что-либо не идет - первым делом протестировать коннект с odbc из астериска

odbc show all

четверг, 21 января 2016 г.

Решение проблемы запуска Vmware Vcenter Converter Standalone Client

Столкнулся на паре компьютеров с проблемой запуска Vmware Vcenter Converter Standalone Client. Выдает ошибку failed to impersonate the corrent user to the vmware vcenter converter standalone server и на этом все стопорится. Я и IIS выключал и порты менял на стороннем софте, думая что они мешают работе конвертера - ничего не помогало.
В результате помогло создание пользователя с правами администратора и установка конвертера из под него.

воскресенье, 17 января 2016 г.

Обновление ESXi через консоль

Периодически компания Vmware выпускает для гипервизора ESXi обновления и патчи, которые желательно устанавливать. Утилитами от Vmware, типа Update Manager я не пользуюсь, так как легко обновиться можно и через консоль.

Последовательность действий для обновления системы:
1. Скачиваем файл обновления в формате zip;
2. Записываем любым способом zip файл на один из datastore;
3. Подключаемся к ESXI хосту по ssh под пользователем root;
4. Выполняем команду для обновления системы: esxcli software vib install -d /vmfs/volumes/[датастор]/[имя файла с обновлением].zip
5. После обновления перезагружаем сервер с Vmware ESXi.

Обновление может быть не установлено из за ошибок на диске, к примеру может вылезти ошибка "There was an error checking file system on altbootbank, please see log for detail".

Что делаем:
1. Переходим в каталог с дисками (cd /dev/disks);
2. Смотрим что и как у нас там называется (ls);
3. Проверяем требуемый диск командой (dosfsck -v -r naa.600508e0000000006c35e1f61ecd8f01:1)

вторник, 1 декабря 2015 г.

Создание установочной флешки c ESXi

1. Устанавливаем UNetbootin.

2. Качаем образ VMWare ESXi (к примеру с сайта компании: downloads.vmware.com/d/)

3. Форматируем флешку в FAT32.

4. Запускаем UNetbootin выбираем скаченный исошник, выбрав соответсвующий пункт опции Diskimage (ISO).

5. По окончании копирования открываем флешку и редактируем (внимание пользователям Windows — редактируем тем что понимает unix line, к примеру notepad++ и т.п.) открываем файл syslinux.cfg.

6. Заменяем строку DEFAULT menu.c32 на DEFAULT mboot.c32

Теперь с флешки можно загружаться