artem
12.05.2016
12242

Установка SalesMan CRM без FreePBX

В данной статье наглядно показано, как произвести интеграцию SalesMan CRM с Asterisk (без FreePBX).

Предполагается, что Asterisk с поддержкой CDR MySQL уже установлен . 

 Если установлена версия php>5.3, то необходимо выполнить следующее:

cd /opt
git clone https://github.com/cweiske/phpfarm.git phpfarm
cd phpfarm/src/
yum install gcc libxml2-devel openssl-devel bzip2-devel curl-devel libjpeg-devel freetype-devel icu libicu-devel gcc-c++ postgresql-devel aspell-devel git libmcrypt-devel libpng-devel -y
wget dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install mod_fcgid -y
yum install libc-client-devel -y

nano compile.sh
Удаляем строки:
—enable-debug
—disable-short-tags

nano options.sh
Вместо:
—enable-bcmath
—enable-calendar
—enable-exif
—enable-ftp
—enable-mbstring
—enable-pcntl
—enable-soap
—enable-sockets
—enable-sqlite-utf8
—enable-wddx
—enable-zip
—with-zlib
—with-gettext

Вставляем:

—with-pdo-pgsql
—with-zlib-dir
—with-freetype-dir
—enable-mbstring
—with-libxml-dir=/usr
—enable-soap
—enable-calendar
—with-curl=/usr/bin
—with-mcrypt
—with-zlib
—with-gd
—with-pgsql
—disable-rpath
—enable-inline-optimization
—with-zlib
—enable-sockets
—enable-sysvsem
—enable-sysvshm
—enable-pcntl
—enable-mbregex
—with-mhash
—enable-zip
—with-pcre-regex
—with-mysql
—with-libdir=lib64
—with-pdo-mysql
—with-mysqli
—with-jpeg-dir=/usr
—with-png-dir=/usr
—enable-gd-native-ttf
—with-openssl
—enable-ftp
—with-kerberos
—with-gettext
—enable-cli
—enable-fastcgi
—enable-discard-path
—enable-force-cgi-redirect
—enable-cgi
—with-imap
—with-imap-ssl
./compile.sh 5.3.29
PATH=»/opt/phpfarm/inst/bin:/opt/phpfarm/inst/current-bin:$PATH»
export PATH=»$PATH:/opt/phpfarm/inst/bin:/opt/phpfarm/inst/current-bin»

cd /var/www
nano /var/www/cgi-bin/php.fastcgi.5.3.29

Вставляем:

#!/bin/bash
PHPRC=»/opt/phpfarm/inst/php-5.3.29/lib/php.ini»
PHP_FCGI_CHILDREN=4
PHP_FCGI_MAX_REQUESTS=1000
export PHPRC
export PHP_FCGI_CHILDREN
export PHP_FCGI_MAX_REQUESTS
exec /opt/phpfarm/inst/bin/php-cgi-5.3.29

chmod 777 /opt/phpfarm/inst/bin/php-cgi-5.3.29
chown asterisk:asterisk /opt/phpfarm/inst/bin/php-cgi-5.3.29
nano +1500 /etc/httpd/conf/httpd.conf

Добавляем VirtualHost:

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html/salesman
ScriptAlias /cgi-bin/ «/var/www/cgi-bin/»
<Directory /var/www/html/salesman>
Options Indexes ExecCGI FollowSymLinks
AddHandler php-cgi .php
Action php-cgi /cgi-bin/php.fastcgi.5.3.29
AllowOverride All
Order allow,deny
Allow from All
<FilesMatch «.php$»>
Options Indexes FollowSymLinks Includes ExecCGI
SetHandler php-cgi
</FilesMatch>
RewriteEngine off
</Directory>
</VirtualHost>

Всё остальное(создание БД, скачивание свежего дистра CRM, подключение PHPexpress выполняем в файле /opt/phpfarm/inst/php-5.3.29/lib/php.ini) выполняем по статье установки SalesMan.

Для установки SalesMan CRM необходимо наличие Apache, PHP, MySQL, для их установки необходимо выполнить в терминале ряд команд вида:

# yum update ; Выполнит обновление системы
# yum install httpd ; Установка Apache
# yum install php php-mysql php-pear php-mbstring php-imap php-mcrypt php-dom ; Установка PHP с необходимыми модулями для корректной работы Asterisk и SalesMan CRM
# yum install mysql mysql-server mysql-devel mysql-connector-odbc ; Установка MySQL
# chkconfig —level 345 mysqld on ; Добавление MySQL в автозагрузку
# service mysqld start ; Запуск MySQL
# chkconfig —level 345 httpd on ; Добавление Apache в автозагрузку
# service httpd start ; Запуск Apache # tzselect ; Выполним установку временной зоны
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime #reboot ; Перезагрузка обязательна

Установка SalesMan CRM без FreePBX. Установка PHP, MySQL и Apache

# nano +946 /etc/php.ini ; изменим временную зону на «Europe/Moscow»

Установка SalesMan CRM без FreePBX. Редактирование php.ini

# mysqladmin -u root password ‘пароль’ ; Изменение пароля для root пользователя к MySQL
# mysql -u root -p’пароль’
# create database asteriskcdrdb; ; Создаем базу данных asteriskcdrdb
# create database asterisk; ; Создаем базу данных asterisk
# create database yoolla; ; Создаем базу данных SalesMan
# create user ‘yoolla’ IDENTIFIED BY ‘yoolla!1’; ; Создаем нового пользователя
# GRANT ALL PRIVILEGES ON yoolla.* TO yoolla@localhost IDENTIFIED BY ‘yoolla!1’;
# GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY ‘пароль_Asterisk’; ; Назначаем привелегии для пользователя к БД
#GRANT ALL PRIVILEGES ON asterisk.* TO asteriskuser@localhost IDENTIFIED BY ‘пароль_Asterisk’;
# flush privileges;
# q ; выходим из MySQL

Установка SalesMan CRM без FreePBX. Создание БД для Asterisk и CRM в MySQL

Если Вы хотите, чтобы пользователь MySQL мог подключаться удаленно к серверу MySQL (с другого компьютера), то (при создании, а также предоставлении ему прав доступа к БД) его имя следует указывать в формате:

# имя-пользователя@хост

например:

# [email protected]

Если же Вы не знаете с каких IP будет подключаться пользователь, либо Вам необходимо, чтобы он подключался с любых IP адресов, укажите имя пользователя в следующем формате:

# имя-пользователя@’%’ 

например:

asterisk_user@’%’

В этом случае команда для предоставления полных прав [на работу с MySQL] пользователю asterisk_user, который может подключаться к MySQL с любых IP адресов будет выглядеть так:

# GRANT ALL
# ON asteriskcdr.*
# TO asterisk_user@’%’; 

Для создания таблицы asterisk CDR подключитесь к созданной базе данных и выполните следующий запрос:

USE asteriskcdrdb;
CREATE TABLE cdr (
calldate datetime NOT NULL default ‘0000-00-00 00:00:00’,
clid varchar(80) NOT NULL default »,
src varchar(80) NOT NULL default »,
dst varchar(80) NOT NULL default »,
dcontext varchar(80) NOT NULL default »,
channel varchar(80) NOT NULL default »,
dstchannel varchar(80) NOT NULL default »,
lastapp varchar(80) NOT NULL default »,
lastdata varchar(80) NOT NULL default »,
duration int(11) NOT NULL default ‘0’,
billsec int(11) NOT NULL default ‘0’,
start datetime NULL default NULL,
answer datetime NULL default NULL,
end datetime NULL default NULL,
disposition varchar(45) NOT NULL default »,
amaflags int(11) NOT NULL default ‘0’,
accountcode varchar(20) NOT NULL default »,
userfield varchar(255) NOT NULL default »,
uniqueid varchar(32) NOT NULL default »
);

Установка SalesMan CRM без FreePBX. Создание таблицы CDR в БД asteriskcdrdb MySQL

Проверим связь с БД
Для этого из командной строки запустите:

# mysql —host=имя-сервера-MySQL -u имя-пользователя-БД -p

например:

# mysql —host=127.0.0.1 -u asterisk_user -p

Для настройки asterisk для работы с MySQL откройте файл /etc/asterisk/cdr_mysql.conf и впишите туда подобные строки (здесь указан лишь пример):

# nano /etc/asterisk/cdr_mysql.conf
[global]
hostname=127.0.0.1 ; хост, где находится mysql сервер (может быть localhost)
dbname=asteriskcdr ; имя базы данных asterisk
table=cdr ; имя таблицы asterisk
user=asterisk_user ; имя пользователя для базы данных sql
password=ast_password; пароль для пользователя asterisk_user
;timezone=UTC ; часовой пояс (раньше называлась usegmtime)
;charset=UTF-8 ; кодировка базы данных, ее можно узнать в процессе настройки MySQL(необязательный параметр)

Установка SalesMan CRM без FreePBX. Редактирование cdr_mysql.conf

После выполнения вышеуказанных действий запустите asterisk и попробуйте подключить модуль cdr_mysql.so.
Для этого запустите подключение к asterisk:

# asterisk -rvvv

И из командной строки asterisk (asterisk CLI) выполните следующую команду:

# module load cdr_mysql.so

Установка SalesMan CRM без FreePBX. Загрузка cdr_mysql модуля

Начинаем установку CRM SalesMan
Выполним ряд команд, вида:

# cd /usr/src/
# mkdir salesman ; создадим папку с именем salesman
# cd salesman
# wget http://isaler.ru/getfile.php?v=linux ; скачаем свежий дистрибутив CRM
# mv getfile.php?v=linux salesman.zip ; переименуем скачанный файл
# unzip salesman.zip ; распакуем скачанный файл
# rm salesman.zip

Установка SalesMan CRM без FreePBX. Скачивание и распаковка дистрибутива SalesMan

# cp -vR /usr/src/salesman/ /var/www/html/ ; скопируем каталог salesman
# chown asterisk:asterisk /var/www/html/salesman/ -R ; изменим рекурсивно владельца/группу

Установка SalesMan CRM без FreePBX. Копирование SalesMan в корневую директорию Apache

# cd /usr/src/ # mkdir phpexpress ; создадим папку phpexpress
# cd phpexpress ; перейдем в раннее созданную папку
# wget http://download.nusphere.com/customer/download/files/NuSphere-PhpExpress-3.1.zip ; скачаем акселератор php

Установка SalesMan CRM без FreePBX. Скачивание акселератора phpExpress

# unzip NuSphere-PhpExpress-3.1.zip ; распакуем скачанный архив
# cd /usr/src/phpexpress/NuSphere-PhpExpress/ ; перейдем в подкаталог # tar xvf phpexpress-3.1-Linux.tar.gz ; распакуем модуль php для Linux
# cp /usr/src/phpexpress/NuSphere-PhpExpress/phpexpress-3.1-Linux/x86_64/phpexpress-php-5.3.so /usr/lib64/php/modules ; скопируем необходимый модуль в систему
# nano /etc/php.ini ; откроем редактором конфигурационный файл php
# подключим модуль акселератора php, добавив в файл строку следующего вида:
# zend_extension=/usr/lib64/php/modules/phpexpress-php-5.3.so
# А так же необходимо изменить парамметр «short_open_tag» с «off» на “on”
# php -m ; проверим подключение модуля

Установка SalesMan CRM без FreePBX. Проверка подключенного модуля
Пропишем виртуальный хост в Apache для обращения к каталогу по нестандартному порту. Для этого выполним ряд команд:

# nano /etc/httpd/conf/httpd.conf
# И добавим следующие строки:
NameVirtualHost *:900 ; Укажем желаемый порт
Listen 900
<VirtualHost *:900>
DocumentRoot /var/www/html/salesman ; путь к каталогу salesman
</Directory /var/www/html/salesman>; путь к каталогу salesman
       RewriteEngine off
   </Directory>
</VirtualHost>
# service httpd restart ; Перезапустим Apache

Установка SalesMan CRM без FreePBX. Создание виртуального хоста и перезапуск Apache
Теперь после всех проделанных действий можно перейти к установке и конфигурации CRM SalesMan.
Для этого необходимо запустить браузер (InternetExplorer, Firefox, Opera, GoogleChrome) и в адресную строку прописать:

# http://ip_адресс_сервера:порт/install.php

Должны получить окно следующего вида:

Установка SalesMan CRM без FreePBX. Начало установки CRM
Если все соответствует данному скриншоту, то можно переходить к следующему шагу. Соглашаемся с лицензионным соглашением.

Установка SalesMan CRM без FreePBX. Лицензионное соглашение
Заполняем данные для соединения с БД. Т.к. база данных и пользователь у нас соответствуют данным по умолчанию CRM, то продолжаем установку. Если вы вносили какие-либо коррективы, то заполните поля в соответствии со своими данными.

Установка SalesMan CRM без FreePBX. Настройка доступа к БД MySQL
Следующим шагом будет произведена проверка введенных данных и существования БД

Установка SalesMan CRM без FreePBX. Проверка соединение с БД MySQL
Перейдя к следующему шагу, необходимо будет заполнить поля (Логин, Пароль, ФИО), а так же выбрать часовой пояс.

Установка SalesMan CRM без FreePBX. Ввод персональных данных
По успешному окончанию установки CRM можно перейти к странице авторизации http://ip_адресс:порт и ввести логин и пароль.

Установка SalesMan CRM без FreePBX. Страница авторизации CRM SalesMan
Для дальнейшей интеграции CRM с IP-АТС Asterisk, необходимо зайти в Панель управления→ Интеграция→ Сервер IP-телефонии и заполнить поля

Установка SalesMan CRM без FreePBX. Настройка интеграции с IP-АТС Asterisk
И последним шагом по интеграции будет редактирование файла cdr2crm.php. Для этого необходимо ввести в терминале ряд команд, следующего вида:

# nano /var/www/html/salesman/api/asterisk/cdr2crm.php
# И внести свои данные для доступа к MySQL

Установка SalesMan CRM без FreePBX. Редактирование cdr2crm
Сохраняем все изменения и выполняем перезапуск Apache.
Все настройки выполнены, можно переходить к полноценной работе с CRM SalesMan.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Виталий Шелест, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

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

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

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

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.