6 окт. 2014 г.

Установка и развёртывание Odoo на Debian в виртуальной среде.

Что такое Odoo - можно прочитать здесь.



Основой для данного поста и практическим руководством служила эта статья:
http://www.theopensourcerer.com/2014/09/how-to-install-openerp-odoo-8-on-ubuntu-server-14-04-lts/

Я произвёл контрольные установки на VMWare Player (Windows-based) c 32-разрядной Debian и на ProxMox (Linux-based) с 64-разрядной. В обоих случаях всё прошло одинаково хорошо.

Вариант 1. Уже развёрнута виртуалка с Debian.



Ставим Odoo 8 на Debian c github`а.
Оптимальнее всего работать через ssh. Запускаем putty и логинимся под рутом.

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

apt-get update
apt-get upgrade

Набираем:

adduser --system --home=/opt/odoo --group odoo

Мы добавили пользователя odoo и создали каталог для файлов: /opt/odoo.

su - odoo -s /bin/bash
exit

Если нет postgres, ставим:

 apt-get install postgresql

Создаём пользователя и базу данных :

createuser --createdb --username postgres --no-createrole --no-superuser --pwprompt odoo

Придумываем ему пароль:

enter password for new role: xxxxxx
enter it again: xxxxxx

Выходим из аккаунта postgres:

exit

Ставим необходимые пререквизиты для odoo:

apt-get install python-dateutil python-decorator python-docutils python-feedparser \
python-gdata python-gevent python-imaging python-jinja2 python-ldap python-libxslt1 python-lxml \
python-mako python-mock python-openid python-passlib python-psutil python-psycopg2 python-pybabel \
python-pychart python-pydot python-pyparsing python-pypdf python-reportlab python-requests \
python-simplejson python-tz python-unittest2 python-vatnumber python-vobject python-werkzeug \
python-xlwt python-yaml wkhtmltopdf

Ставим git:

apt-get install git

После их установки логинимся под пользователем odoo:

su - odoo -s /bin/bash

Тут есть недокументированная засада. У меня каталог /opt/odoo оказался непустым, поэтому перед следующим шагом проверьте и при необходимости удалите оттуда все файлы, иначе вы не сможете ничего туда загрузить.

git clone https://www.github.com/odoo/odoo --depth 1 --branch 8.0 --single-branch .

"Точка" тут неслучайно - это нужный символ, будьте внимательны и не пропустите.
Дожидаемся окончания процесса и выходим из учётки odoo:

exit

Задаём права доступа на конфиг:

cp /opt/odoo/debian/openerp-server.conf /etc/odoo-server.conf
chown odoo: /etc/odoo-server.conf
chmod 640 /etc/odoo-server.conf

Теперь правим конфиг сервера:

nano /etc/odoo-server.conf

В строке "db_password = хххххх" меняем пароль на тот, что мы задали пользователю:

db_password = наш_пароль

Правим путь к расположению аддонов:

addons_path = /opt/odoo/addons

и указываем место для сохранения логов:

logfile = /var/log/odoo/odoo-server.log

Сохраняем CTRL O, выходим CTRL X.
Запускаем наш сервер:

/opt/odoo/openerp-server

Если вы всё сделали правильно, ваш Odoo доступен по адресу: http://0.0.0.0:8069
Логин по умолчанию: admin, пароль - тот, что вы придумали.

4 окт. 2014 г.

Развёртывание Asterisk RasPBX на Raspberry Pi model B.

***********************************************************************
Содержание:

  1. Установка.
  2. Отчёт по эксплуатации.
  3. Подключение GSM-устройства.

По итогам наполнения разобью на несколько постов, иначе разрастётся.

************************************************************************

Итак, по итогам недельного тестирования можно говорить о том, что система рабочая. Использовал Raspberry Pi mod B в стандартной комплектации.

Raspberry Pi mod B 512.
Да, это теперь - рабочая АТС!



Установка RasPBX.


Дистрибутивы можно взять на странице проекта: http://www.raspberry-asterisk.org/

Я использовал релиз raspbx-12-08-2013, так как более новые почему-то распаковывались с ошибками и работали неправильно. Это не критично, так как систему мы всё равно обновим до актуального состояния.

Вам понадобятся: SD-карта не менее 4ГБ, кард-ридер и программа "Win32 Disk Imager" (можно взять отсюда) для записи образа на карту памяти.
Запускаете программу, выбираете образ для записи, жмёте кнопку "write".


RasPBX основан на Debian, поэтому работают большинство debian-команд консоли (что удобно).

Далее стандартно - ставим карту, запускаем систему, загружаемся через консоль под стандартным логином/паролем: root / raspberry.


По умолчанию настройки сети получены по DHCP.

Сразу после установки система доступна через веб-интерфейс по адресу: http://raspbx, но лучше использовать статический ip-адрес.
Командой ifconfig узнаём текущие настройки, далее набираем nano /etc/network/interfaces и меняем на статику (например, в моём случае):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.102
netmask 255.255.255.0
network 192.168.0.0
gateway 192.168.0.1
nameserver 192.168.0.1

Затем сохраняем CTRL O, выходим CTRL X, выполняем service networking restart.

Теперь у нас статический адрес.
Заходим через консоль и обновляемся:

root@raspbx:~# raspbx-upgrade

Система обновится до актуального состояния, загрузит необходимые обновления модулей и проч. Подробнее о возможностях системы, а также документация - здесь: http://www.raspberry-asterisk.org/ .



Администрирование.


Теперь мы можем войти через web-интерфейс: http://raspbx или наш статический ip: http://192.168.0.102
Логин/пароль по умолчанию: admin / admin.

Видим знакомый, чуть облегчённый, интерфейс FreePBX.


Теперь можно заводить SIP-транки, пользователей и писать входящие / исходящие маршруты, менять пароли (не забудьте!) и прочая и прочая.
Как видите, всё довольно несложно )))

Нужно тестирование в боевых условиях. Отдам на тест-драйв в маленькую организацию, срок до месяца. Желающие - пишите )))
P.S. Отдано.

Использование на практике.


Дни с 1 по 5 - обновления, проверка аптайма и общей надёжности. Зер гут, идём дальше.


День 5.

Сделал несколько продолжительных тестовых звонков через транк от Zadarma. Использовал софтфон Zoiper на Android 4.4, подключался через домашний Wi-Fi.

Качество связи сопоставимо с классической телефонией от МГТС, т.е. более чем нормальное - за исключением совсем небольшого эха, которое, впрочем, никак не мешало общению.
В течение 15 мин разговора качество связи было стабильным.

Загрузка ЦП устройства на пике не превышала 8%, общая загрузка системы - не более 0,88 на пике. Ай да коробочка!

День 6.

Продолжаю использовать для звонков по Москве на местные и мобильные телефоны.

Доустановил и настроил IVR, модули факса, голосовой почты, TTS от Google, настроил бэкапы и выгрузку разговоров на удалённый сервер.

Такое впечатление, что система не поняла нагрузки - load average не вырос, память приложений занята на 29% (было 28%), диск 4ГБ заполнен на 43% (было 42%).

АТС работает в штатном режиме, замечаний нет.

В общем, по итогам эксплуатации - вполне рабочая система для маленькой компании.

Как только куплю USB LTE модем, добавлю про подключение GSM-модулей.

29 авг. 2014 г.

Описание развертывания цифровой IP-АТС на основе дистрибутива Elastix, часть 1 - тестирование.







В данном случае будет описана установка Elastix под определённый проект.
Если Вам нужно подробное описание установки и развёртывания Elastix, то вот здесь всё подробно описано хорошим человеком: http://papa-admin.ru/blog/elastix.html

Итак, дано: две гибридные АТС Panasonic: KX-TDA 200 и KX-TDA 100.
Находятся в двух, удалённых друг от друга помещениях.
Входящие линии SIP от 3-х провайдеров через VoIP-шлюзы AddPack заведены на аналоговые платы LCOT-16.
Внутренние абоненты подключены через аналоговые платы SLC-8 и SLC-16. Также присутствует одна гибридная плата DHLC-8.
Единого номерного пространства как такового нет, маршрутизация между АТС осуществляется "костылём" из опять же имеющихся голосовых шлюзов через оптический канал 1ГБит по одномодовому волокну. 
Задача: переезд порядка 20-ти абонентов из помещения А в помещение Б. 
Подзадача: усовершенствовать внутреннюю телефонию; избавить организацию от ограничений, связанных с устаревшим и немасштабируемым оборудованием. 
Решение: замена существующих АТС на IP-АТС на базе Asterisk.
Выбран дистрибутив Elastix.

Установка Elastix возможна как физически на комп/сервер, так и на виртуальную машину.

Предварительный тест на виртуальной машине.


Для него были использованы дистрибутивы: Elastix 2.4.0 х64  и VMware Player 6.0.3.
Важно: на более младших версиях VMware Player возможны проблемы с установкой - дистрибутив не увидит виртуальный HDD. Используйте версию VMware Player не ниже 6.0.3.
В настройках сетевого адаптера виртуалки я выбрал "connected directly to physical network" и - вуаля - подключение по https прошло без проблем!

Для тестирования я завёл бесплатный SIP-аккаунт на проекте zadarma. В качестве софтфона использовал бесплатный 3CX с нетбука.

Эхо-тест прошёл успешно, звонок себе на мобильный и с мобильного на нетбук также прошли штатно.
Тест успешен, всё работает.

Предварительный тест в физической сети заказчика.


Тестирование производилось на такой конфигурации ПК: Intel Xeon 7xxx; 2 x 2GB SATA; 8 GB RAM; mb Asus P7F-E; 2 x 1GBit Lan.
Дистрибутив тот же - Elastix 2.4.0 х64.
VoIP-телефоны Grandstream GXP-1160 и 1105.
VoIP-шлюз Grandstream GXV-4216 и аналоговые телефоны - обычные и DECT.
АТС находится за NAT`ом (ранее VoIP-шлюзы были частью за NAT`ом, частью перед ним).
Подключения проводились из двух разных подсетей одной локальной сети.

Собственно, развёртывание АТС, заведение extension`ов и транков описывать не буду, всё стандартно.
Для теста был заведён SIP-транк от "Ростелеком".
Единственный момент - параметры подключения SIP у разных провайдеров немного отличаются. Лучше сразу свериться с техподдержкой.
Мониторить Elastix лучше всего не через родную оболочку, а через Free PBX Unembedded - намного более информативно.
Собственно, сам тест прошёл успешно; качество связи отличное.

Благодарим ЗАО "Фактор Груп" за любезно и оперативно предоставленное для тестирования оборудование Grandstream.

UPD #1. Рабочий запуск на виртуальной машине ProxMox - скоро.

11 авг. 2014 г.

Особенности подготовки сервера Windows к работе со СКУД и видеонаблюдением, 1.

Вы избежите некоторых проблем со стабильностью работы, если в "диспетчере устройств" для сетевых карт и USB-концентраторов снимете галочки с пунктов "отключать электропитание для экономии электроэнергии".
Также кэп Очевидность подсказывает: в настройках плана электропитания (если используется Win7) для HDD и системы выберите "никогда не отключать" / "не засыпать".

Некоторые моменты работы с аппаратными видеорегистраторами, 1.

  • Основное, про которое пользователи или не знают, или хронически забывают: аппаратные видеорегистраторы используют свой уникальный тип файловой системы, или же нестандартные записи в начало/конец HDD. Попытка подключения жёсткого диска видеорегистратора к компьютеру (неважно - по IDE, SATA, USB), зачастую даже без инициализации HDD приведёт к потере всех данных. То есть либо импорт файлов непосредственно с регистратора на внешний носитель (или выгрузка по сети, если таковая поддерживается), или никак.
Данные в теории можно восстановить, но на практике это долго и дорого.
В Москве есть несколько компаний, которые имеют успешный опыт восстановления подобным образом "убитых" данных, Вы легко найдёте их в выдаче Яндекса.
К частнику лучше обращаться к проверенному и как минимум рекомендованному - ибо не так всё просто и очевидно.

  • Большинство аппаратных видеорегистраторов Honeywell имеют хитрую особенность - датчик на открытие корпуса. Вскрытие регистратора вне сервисного центра приводит к его неработоспособности и снятию с гарантии, как следствие - дальнейшие операции с ним за Ваш счёт.

10 авг. 2014 г.

Хронический вход под временным профилем в Windows Server 2012.


Бывает так, что пользователи удалённого рабочего стола Windows Server 2012 не могут зайти с постоянным профилем, т.е. система создаёт им временный профиль входа - это неудобно. Особенно, если пользователей много и у каждого есть своя (или типовая - не суть важно) конфигурация рабочего стола.

Вариант лечения - увеличить на сетевой карте данного сервера (на той, что на вход пользователей) параметры MTU и TTL.
Мне помогло.

9 авг. 2014 г.

Особенности практической работы с ПО "Макроскоп".



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

Второе - настройки на стороне клиента и сервера для конкретных камер и рабочих мест также должны быть идентичны. См. п.1.

Третье. При апгрейде версий крайне рекомендуется сначала деинсталлировать предыдущее ПО, затем "убить" записи в реестре и только потом ставить новую версию. В идеале, конечно, до кучи снести старые dll-ки.  Иначе - лотерея, может встать корректно, а может и с ошибками.
Конфигурация системы и рабочих мест легко переносится путём бэкапа конфигов.
И, конечно же, не забывайте об одинаковости версий ПО и дополнительных модулей на сервере и на клиенте)))


Из наболевшего.


Если у вас случилась остановка службы на сервере, т.е. вы видите уведомление "сервер Макроскоп остановлен", хотя до этого всё работало и писалось - как правило, причина в том, что повреждён файл CurrentCMN.conf.

Чтобы быстро поднять систему, необходимо:
1. Посмотреть в консоли Винды, остановлена ли там служба Макроскоп. При необходимости остановить - это принципиально.
 2. Найти файл CurrentCMN.conf.backup (он там же, рядом), убрать у него расширение .backup.
Важно: сделайте бэкап бэкапа ))) Т.е. перед тем, как действовать - сохраните куда-нибудь файл CurrentCMN.conf.backup. Не забудьте дату. Связано это с тем, что система пересоздаст бэкап конфига заново, из текущего состояния. Если что-то пошло не так - сможете откатиться на рабочий конфиг.
3. Запустить Макроскоп, а лучше - перезагрузиться.
4. Запланировать переустановку ПО и операционной системы на сервере ((( Поверьте, это - единственный гарантированный способ дальнейшей корректной работы.

И, конечно же, не забудьте почитать системный журнал!

Подобное случается по разным причинам: надолго пропало электричество, а UPS не настроен на выключение сервера; побит HDD; вирус; неправильно настроена или неисправна камера с распознавателем номеров/лиц (кривой поток кладёт систему, да, это бывает) или же недостаточно пропускной способности канала при работающем распознавателе.

Вообще, ПО несколько капризно, но при соответствующей настройке вполне работоспособно )))

Сайт ПО: http://macroscop.com/
Техподдержка, кстати, неплохая, но настоятельно рекомендую также обращаться и к поставщику камер - поскольку они предоставляют Макроскопу API и тестируют ПО на предмет совместимости, зачастую у них Вы можете получить самый полезный и неочевидный совет.

Пользуясь моментом, благодарю за терпение и эрудицию Василия Чаплыгина. Без его помощи и советов этот пост не был бы написан )